Linux实用操作系统实验指导书11.docx
- 文档编号:18332274
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:21
- 大小:22.60KB
Linux实用操作系统实验指导书11.docx
《Linux实用操作系统实验指导书11.docx》由会员分享,可在线阅读,更多相关《Linux实用操作系统实验指导书11.docx(21页珍藏版)》请在冰点文库上搜索。
Linux实用操作系统实验指导书11
Linux实用操作系统
实验指导手册
实验一Linux常用命令
(一)(1学时)
一、实验目的
1、熟悉Shell环境和Shell命令格式
2、熟悉使用Linux文件系统操作命令
3、熟悉使用文件权限管理命令
4、熟悉使用Linux文件内容操作命令
5、熟悉使用进程管理命令
6、熟悉使用联机帮助命令
二、实验工具
1、Linux操作系统
三、实验说明
本实验共4个学时,分为两个部分。
前一部分实现实验目的中的1~3三部分。
后一次实现其余部分。
四、实验内容和步骤
1、Shell环境和Shell命令格式
如果实验用计算机上Linux以图形方式启动,登录系统后打开终端窗口。
方法:
桌面:
右键菜单-Terminal(终端);
或:
主菜单-系统工具-Terminal(终端)。
命令格式:
command[-option(s)][optionargument(s)][commandargument(s)]
步骤1:
使用who命令
步骤2:
使用date命令
步骤3:
使用上下健提取历史命令who,执行。
2、文件系统操作命令
(1)改变目录命令:
cd目标目录路径
步骤1:
使用绝对路径依次进入Linux根目录下的所有子目录。
例如:
cd/usr/bin
步骤2:
使用绝对路径依次进入用户目录。
步骤3:
使用相对路径进入子目录
1)使用绝对路径进入/lib目录
2)使用相对路径进入/lib/i868目录
3)使用相对路径退回到/lib目录
(2)列出并观察目录中的文件
步骤1:
进入任意目录,使用无参数ls命令列出并观察其中所有文件;
步骤2:
进入任意目录,使用通配符列出其中部分文件;
例如:
cd/bin
lsc*
步骤3:
使用-l选项,列出目录中文件的各种属性,并观察识别这些属性。
步骤4:
直接列出子目录中的文件。
例如:
lsi868
步骤5:
仅列出子目录本身(-d)
步骤6:
使用-F选项,显示文件类型标志。
步骤7:
使用-a或-A选项,观察结果有什么变化。
步骤8:
综合使用以上选项。
(3)目录的创建与删除
步骤1:
在用户目录中,使用相对路径创建一个任意名称的目录,如“tmp”。
mkdirtmp
步骤2:
删除该目录
rmdirtmp
步骤3:
在根目录中,使用绝对路径在用户命令中创建一个子目录。
mkdir~/tmp
步骤4:
删除该目录
rmdir~/tmp
步骤5:
使用-p参数一次创建多级目录。
如:
mkdir~/tmp/dir1
步骤6:
使用-p参数删除多级目录。
如:
cd~
rmdirtmp/dir1
(4)文件和目录拷贝命令:
cp
步骤1:
从/usr/include目录中,任选一个文件拷贝到用户目录的tmp子目录中
mkdir~/tmp
cp/usr/include/signal.h~/tmp
步骤2:
从/usr/include目录中,任选一个文件拷贝到用户目录的tmp子目录中,并改变其文件名。
cp/usr/include/signal.h~/tmp/signal.bak
步骤3:
思考并试验,如果步骤1中不使用第一条命令,拷贝的结果是什么?
(5)文件移动或文件目录更名命令:
mv
步骤1:
将上面signal.bak更名为signal.h
cd~/tmp
mvsignal.baksignal.h
步骤2:
将signal.h移动到上一层目录
mvsignal.h..
步骤3:
将tmp目录更名为temp
mv../tmp../temp
步骤4:
拷贝/usr/include中所有s开头的.h文件到/usr/temp目录
cp/usr/include/s*.h/usr/temp
步骤5:
将temp目录移动到tmp目录中
cd/usr
mkdir/tmp
mvtemptmp
步骤6:
拷贝/usr/include/signal.h到/usr/tmp/temp目录中,观察提示。
步骤7:
使用-f选项重复上述命令,观察是否有提示。
(6)建立符号链接命令:
ln
步骤1:
在用户目录中创建对/usr/include目录的符号链接
cd~
ln–s/usr/include
lsinclude
步骤2:
删除该链接
rminclude
步骤3:
观察/usr/include是否被删除。
步骤4:
与步骤1相同,但命名链接目录为abc
ln-s/usr/includeabc
lsabc
rm-fabc
3、文件权限管理命令
(1)改变文件权限(chmod)
步骤1:
使用chmod给include目录中的任意文件的属主或属组或其它用户添加可执行的权限。
例:
chmodu+xsignal.h
步骤2:
删除可执行权限
步骤3:
设置属组权限为可读+可执行。
步骤4:
一次性设置文件的所有权限为可读+可执行。
(2)改变权限屏蔽
步骤1:
改变为屏蔽所有用户的可执行权限
步骤2:
创建目录test,观察其权限。
步骤3:
尝试进入test目录。
是否能否进入,思考为什么?
实验二Linux常用命令
(二)(1学时)
一、实验目的
1、熟悉使用Linux文件内容操作命令
2、熟悉使用进程管理命令
3、熟悉使用联机帮助命令
二、实验工具
1、Linux操作系统
三、实验说明
四、实验内容和步骤
1、Linux文件内容显示命令
(1)cat命令,显示文件内容
步骤1:
将/usr/include/stdio.h拷贝到~/tmp目录中,并进入tmp目录。
步骤2:
使用简单cat命令显示其内容
步骤3:
使用-n选项,输出行号;
步骤4:
使用-s选项,合并空白行;
步骤5:
使用-b选项,对非空白行编号;
(2)more命令,分页显示文件内容
步骤1:
使用简单more命令显示stdio.h的内容
使用空格键、回车键和B键上下翻看内容。
步骤2:
使用-num选项,控制每页的行数;
步骤3:
使用-s选项,合并空白行;
步骤4:
使用/pattern选项,先搜索字符串file,再显示;
(3)less命令,分页显示文件内容
步骤1:
使用简单less命令显示stdio.h的内容
使用PAGEUP、PAGEDOWN、回车键和空格键上下翻看内容。
(4)head命令,显示文件开头内容
步骤1:
使用head命令显示stdio.h的前10行内容
head–n10stdio.h
head--lines=10stdio.h
步骤2:
使用head命令显示stdio.h的前10个字符内容;
head-c10stdio.h
head--bytes=10stdio.h
步骤3:
使用-v选项,显示文件名;
(5)tail命令,显示文件最后的内容
步骤1:
使用tail命令显示stdio.h的后10行内容
tail–n10stdio.h
tail--lines=10stdio.h
步骤2:
使用tail命令显示stdio.h的最后10个字符内容;
tail-c10stdio.h
tail--bytes=10stdio.h
步骤3:
使用-v选项,显示文件名;
(5)touch命令
步骤1:
使用touch命令,修改stdio.h的文件时间,并使用ls查看结果。
步骤2:
使用touch命令,创建一个名为test的空文件。
2、Linux文件内容搜索、排序和比较命令
(1)grep命令,搜索文件内容
步骤1:
在stdio.h中搜索并显示包含extern字符串的所有行
grepexternstdio.h
步骤2:
在stdio.h中搜索所有宏定义的语句,
grep“#define*”stdio.h
步骤3:
在stdio.h中搜索所有以#开头的行
grep^#stdio.h
步骤4:
在stdio.h中搜索所有被包含的头文件
grep‘\.h’stdio.h
说明:
头文件特点为字符串“.h”。
但“.”是一个元字符,需要使用转义方式表示为“\.”。
步骤5:
自己设想查找目标,并定义合理的字符串模式。
(2)sort命令,排序文件内容
步骤1:
对stdio.h内容进行排序
sortstdio.h
步骤2:
对stdio.h内容进行排序,并输出到文件test中,查看排序结果
sort–oteststdio.h
moretest
步骤3:
同上,但要求合并重复行(使用-u选项)
步骤4:
检查test和stdio.h是否已排序,观察输出结果
sort–ctest
sort–cstdio.h
(3)uniq命令,合并重复行
步骤1:
重复sort命令的步骤2,生成一个test文件
步骤2:
使用uniq命令合并其中的重复行,并显示每行重复的次数
uniq-ctest
(3)comm命令,比较两个文件
步骤1:
准备两个文件:
file1和file2
echofile1:
>file1
echoline1>>file1
echofile2:
>file2
echoline1>>file2
echoline2>>file2
步骤2:
比较两个文件,观察输出的三列的含义
comm.file1file2
步骤3:
比较两个文件,只输出其中相同的行。
comm.-12file1file2
步骤4:
比较两个文件,只输出file2中独有的行。
comm.-13file1file2
(4)diff命令,比较两个文件的差异
步骤1:
简单比较
difffile1file2
步骤2:
比较并输出ed脚本
diff–efile1file2
(5)wc命令,统计文件内容
步骤1:
全面统计,理解输出的结果
wcfile1
wcfile2
步骤2:
仅统计词数
wc–wfile2
步骤3:
仅统计行数
wc–lfile2
步骤4:
仅统计字节术
wc–cfile2
2、进程管理命令
(1)PS命令,查看进程状态
步骤1:
简单ps
步骤2:
列出系统中的所有进程
ps–e
步骤3:
仅列出与当前TTY相关的进程
打开一个新的TTY
在原有tty和新tty中分别输入ps–a,观察比较结果。
步骤4:
分别使用-x,-f,-l,-r,-u显示进程信息,比较结果。
(2)kill命令,终止进程
步骤1:
查看tty1的PID。
步骤2:
在tty0中输入杀进程的命令
kill–skillPID
或:
kill–s9PID
步骤3:
列出所有进程信号,观察结果
kill-l
3、熟悉使用联机帮助命令
(1)man命令
步骤1:
使用man命令查看ls命令的帮助信息
步骤2:
使用man命令查看其它命令的帮助
(2)help命令
步骤1:
使用help命令查看cd命令的帮助信息
实验三shell编程(8学时)
一、实验名称
shell编程。
二、实验目的
掌握shell程序的建立和执行方式;掌握shell中各种变量和函数的使用;熟练掌握shell程序设计中各种控制结构语句是使用;了解shell编程中特殊字符的含义。
三、实验环境
RedhatLinux系统企业版本4.0及以上
四、实验内容
(一)shell程序的建立和执行(2学时)
1.依次执行下列命令,理解反馈信息的意义。
$date
$pwd
$cd..
$cd
2.建立shell程序脚本
$viex1
date
pwd
cd..
cd
存盘退出。
3.检查文件是否存在。
$ls
4.执行shell程序ex1,显示反馈信息与单步命令操作相同。
方式一:
输入定向到shell脚本
$bash 方式二: 以脚本名作为参数 $bashex1 $bashex1/usr 方式三: 将shell脚本的权限设置为可执行,然后在提示符下直接执行它 步骤1: $chmoda+xex1 步骤2: $mvex1/usr/bin 步骤3: $ex1 $ex1/usr 5.在文本编辑器中录入下面shell程序,保存为ex2,然后执行之。 #! /bin/bash #Ifnoarguments,thenlistingthecurrentdirectory. #Otherwise,listingeachsubdirectory. iftest$#=0 thenls. else fori do ls-l$i|grep'^d' done fi (二)shell变量(2学时) 1.用户定义的变量。 单步执行下述命令,练习变量赋值,理解反馈信息。 $dir=/home/mengqc/ex1 $echo$dir $echodir $today=Sunday $echo$today$Today $str="HappyNewYear." $echo"WishYou$str" 2.read命令。 (1)单步执行下述命令: $readname-----输入read命令 zhangsan-----输入name的值 $echo"YourNameis$name." YourNameiszhangsan-----显示输出的结果 $readabc-----read命令有三个参数 cuitcnedu-----输入三个字符串,中间以空格隔开 $echo"Email: $a.$c.$b" Email: -----显示输出结果 (2)将上述四个单步命令编辑为shell程序,取名ex3。 $viex3(输入四行命令,编后存盘)。 (3)运行shell程序ex3。 $bashex3 3.特殊变量 (1)建立一个内容如下的shell程序ex4: echo“Programnameis$0” echo“Therearetotally$#parameterspassedtothisprogram” echo“Thelastis$? ” echo“Theparametersare$*” (2)按如下执行程序ex4,观察反馈信息: $bashex4thisisatestprogram (三)控制结构(3学时) 1.if语句 (1) 理解并建立shell程序ex5: Echo“Thecurrentdirectoryis`pwd`” iftest-f"$1" #如果位置参数$1对应的文件 thenecho"$1isanordinaryfile."#是普通文件“-F”则显示本行 elseecho"$1isnotan ordinaryfile."#否则显示本行 fi 执行ex5,并理解反馈信息: $bashex5ex4 (2) 理解并建立shell程序ex6: iftest-f"$1" thencat$1 elseiftest-d"$1" then(cd$1;cat*) elseecho"$1isneitherafilenoradirectory." fi fi 执行ex6,并理解反馈信息。 2.while语句 (1) 理解并建立shell程序ex7: while[$1] do if[-f$1] thenecho"display: $1" cat$1 elseecho"$1isnotafilename." fi shift#后续位置参数左移 done 执行ex7,并理解反馈信息。 (2)编写求前五个偶数之和的shell程序ex8: loopcount=0 result=0 while[$loopcount–lt5] do loopcount=‘expr$loopcount+1’ increment=‘expr$loopcount\*2’ result=‘$result+$increment’ done echo"resultis$result“ 3.for语句 (1) 理解并建立shell程序ex9: fordayinMondayWednesdayFridaySunday do echo$day done 执行ex9,并理解反馈信息。 (2) 理解并建立shell程序ex10: mkdirbackup forfilenamein‘ls’ do cp$filenamebackup/$filename if($? -ne0)then echo“copyfor$filenamefailed” fi done 执行ex10,并理解反馈信息。 4.Select语句 理解并建立shell程序ex11: selectiteminContinueFinsh do if[$item=“Finsh”];then break fi done 执行ex11,并理解反馈信息。 (四)函数(1学时) 1.理解并建立shell程序ex12: displaymonth(){ case$1in 01|1)echo“MonthisJanuary”;; 02|2)echo“MonthisFebruary”;; 03|3)echo“MonthisMarch”;; 04|4)echo“MonthisApril”;; 05|5)echo“MonthisMay”;; 06|6)echo“MonthisJune”;; 07|7)echo“MonthisJuly”;; 08|8)echo“MonthisAugust”;; 09|9)echo“MonthisSeptember”;; 10)echo“MonthisOctober”;; 11)echo“MonthisNovember”;; 12)echo“MonthisDecember”;; *)echo”Invalidparameter” esac } displaymonth$1 执行ex12,并理解反馈信息。 $bashex123 $bashex1210 实验四系统管理与配置(6学时) 一、实验名称 系统管理与配置。 二、实验目的 要求熟练掌握linux系统的用户和工作组管理;掌握文件系统的管理和维护;了解linux系统备份的相关知识。 要求熟练掌握Linux系统网卡、调整解调器等网络设备的配置;掌握基本网络命令的使用;掌握网络文件系统NFS的配置;了解电子邮件系统的相关配置等内容。 三、实验环境 RedhatLinux系统企业版本4.0及以上 四、实验内容 (一)用户和用户组的管理(2学时) 1.熟悉管理命令的使用方法 命令: useradd、usermod、userdel、groupadd、groupdel和groupmod 2.在系统中建立testuser1、testuser2用户,均属于testgroup用户组,同时将testuser2归属于root组。 3.根据所建立的用户,结合前面的ls、grep、cut等命令,对testuser1、testuser2用户的信息,以及/etc/passwd、/etc/shadow、/etc/group文件进行管理。 (二)文件系统的挂载和卸载(0.5学时) 1.熟练mount、umount、smbmount、smbumount命令的使用方法。 2.使用mount、umount对磁盘分区进行挂载和卸载操作,以及格式化操作。 3.使用smbmount、smbumount命令进行对windows共享的文件进行读写操作,并注意权限问题。 (三)系统备份命令操作(0.5学时) 1.熟练tar命令的使用方法 2.使用tar命令将文件系统中的某些重要文件归档到/root目录下,并回复归档文件到指定的目录,如/tmp下。 (四)网络接口卡配置(1学时) 1.熟练ifconfig、setup、图形化的网络接口卡配置,如IP、子网掩码、网关、dns等 2.熟悉文件/etc/sysconfig/network文件,以及/etc/sysconfig/network-scripts目录下的接口卡配置文件。 3.指定本地所需DNS服务器nameserver192.168.1.3、nameserver61.139.2.69 4.重新启动网络配置,使其生效,/etc/rc.d/init.d/networkrestart或/sbin/servicenetworkrestart (五)网络命令操作(0.5学时) 1.mail、ssh、sftp、tftp、ftp等命令 (六)NFS的配置(1.5学时) 1.熟悉NFS配置相关的文件和启停命令 2.实现NFS共享。 五、实验步骤 (一)用户和用户组的管理操作提示 1.首先使用man命令查看这几个相关管理命令的使用方法及命令选项的功能作用。 2.使用cat、more命令显示/etc/passwd、/etc/group、/etc/shadow文件内容,熟悉内容的格式,注意uid、gid信息。 3.使用usergroup创建组testuser,然后再使用useradd添加用户。 同时可以使用usermod修改用户信息,最后注意使用passwd命令修改用户密码。 4.在shell提示符下,使用su命令切换用户,测试用户在访问目录或文件的权限。 (二)文件系统的挂载和卸载 使用mount命令的时候,注意设备符号,如/dev/sdb1;使用umount命令的时候,当前目录不在该卸载的分区上;使用smbmount的使用注意使用-o选项,以及username=用户,用户为windows系统用户。 (三)系统备份命令操作(0.5学时) 使用命令应注意创建归档文件必须使用-c选项,解开归档文件应使用-x选项,当要压缩或解开压缩归档文件的时候,应注意j和z选项等;如果要将归档文件解开到制定目录,记得使用“-C路径”。 (四)网络接口卡配置(1学时) 可以使用ifconfig在同一块网卡上添加多个地址: ifconfigeth0: 1192.168.1.2 当手工修改了网络接口卡的配置的使用,需要使用/etc/init.d/networkrestart来重
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 实用 操作系统 实验 指导书 11