Linux实用操作系统实验指导书11资料

更新时间:2023-09-30 06:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Linux实用操作系统 实验指导手册

实验一 Linux常用命令(一)(2学时)

一、实验目的

1、熟悉Shell环境和Shell命令格式 2、熟悉使用Linux文件系统操作命令 3、熟悉使用文件权限管理命令

4、熟悉使用Linux文件内容操作命令 5、熟悉使用进程管理命令 6、熟悉使用联机帮助命令

二、实验工具

1、Linux操作系统

三、实验说明

本实验共4个学时,分为两个部分。前一部分实现实验目的中的1~3三部分。后一次实现其余部分。

四、实验内容和步骤

1、Shell环境和Shell命令格式 如果实验用计算机上Linux以图形方式启动,登录系统后打开终端窗口。方法: 桌面:右键菜单-Terminal(终端); 或:主菜单-系统工具-Terminal(终端)。 命令格式:command [-option(s)] [option argument(s)] [command argument(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 ls c*

步骤3:使用-l选项,列出目录中文件的各种属性,并观察识别这些属性。 步骤4:直接列出子目录中的文件。例如:ls i868 步骤5:仅列出子目录本身(-d)

步骤6:使用-F选项,显示文件类型标志。

步骤7:使用-a或-A选项,观察结果有什么变化。 步骤8:综合使用以上选项。 (3) 目录的创建与删除

步骤1:在用户目录中,使用相对路径创建一个任意名称的目录,如“tmp”。 mkdir tmp

步骤2:删除该目录 rmdir tmp

步骤3:在根目录中,使用绝对路径在用户命令中创建一个子目录。 mkdir ~/tmp 步骤4:删除该目录 rmdir ~/tmp

步骤5:使用-p参数一次创建多级目录。如: mkdir ~/tmp/dir1

步骤6:使用-p参数删除多级目录。如: cd ~ rmdir tmp/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 mv signal.bak signal.h

步骤2:将signal.h移动到上一层目录

mv signal.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 mv temp tmp

步骤6:拷贝/usr/include/signal.h到/usr/tmp/temp目录中,观察提示。 步骤7:使用-f选项重复上述命令,观察是否有提示。 (6) 建立符号链接命令:ln

步骤1:在用户目录中创建对/usr/include目录的符号链接 cd ~

ln –s /usr/include ls include

步骤2:删除该链接 rm include

步骤3:观察/usr/include是否被删除。

步骤4:与步骤1相同,但命名链接目录为abc ln -s /usr/include abc ls abc

rm -f abc

3、文件权限管理命令

(1) 改变文件权限(chmod)

步骤1:使用chmod给include目录中的任意文件的属主或属组或其它用户添加可执行的权限。

例:chmod u+x signal.h 步骤2:删除可执行权限

步骤3:设置属组权限为可读+可执行。

步骤4:一次性设置文件的所有权限为可读+可执行。 (2) 改变权限屏蔽

步骤1:改变为屏蔽所有用户的可执行权限 步骤2:创建目录test,观察其权限。

步骤3:尝试进入test目录。是否能否进入,思考为什么?

实验二 Linux常用命令(二)(2学时)

一、实验目的

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 –n 10 stdio.h head --lines=10 stdio.h

步骤2:使用head命令显示stdio.h的前10个字符内容; head -c 10 stdio.h head --bytes=10 stdio.h

步骤3:使用-v选项,显示文件名; (5)tail命令,显示文件最后的内容

步骤1:使用tail命令显示stdio.h的后10行内容 tail–n 10 stdio.h tail--lines=10 stdio.h

步骤2:使用tail命令显示stdio.h的最后10个字符内容; tail-c 10 stdio.h tail--bytes=10 stdio.h

步骤3:使用-v选项,显示文件名; (5)touch命令

步骤1:使用touch命令,修改stdio.h的文件时间, 并使用ls查看结果。 步骤2:使用touch命令,创建一个名为test的空文件。

2、Linux文件内容搜索、排序和比较命令 (1)grep命令,搜索文件内容 步骤1:在stdio.h中搜索并显示包含extern字符串的所有行 grep extern stdio.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内容进行排序 sort stdio.h 步骤2:对stdio.h内容进行排序,并输出到文件test中, 查看排序结果 sort –o test stdio.h more test 步骤3:同上,但要求合并重复行(使用-u选项) 步骤4:检查test和stdio.h是否已排序,观察输出结果 sort –c test sort –c stdio.h

(3)uniq命令,合并重复行 步骤1:重复sort命令的步骤2,生成一个test文件 步骤2:使用uniq命令合并其中的重复行,并显示每行重复的次数 uniq -c test

(3)comm命令,比较两个文件 步骤1:准备两个文件:file1和file2 echo file1: > file1 echo line1 >> file1

(2)编写求前五个偶数之和的shell程序ex8: loopcount=0 result=0

while [ $loopcount –lt 5 ] do

loopcount=‘expr $loopcount +1’ increment=‘expr $loopcount \\*2’ result= ‘$result + $increment’ done

echo \ 3.for语句 (1)

理解并建立shell程序ex9:

for day in Monday Wednesday Friday Sunday do

echo $day done

执行ex9,并理解反馈信息。 (2)

理解并建立shell程序ex10: mkdir backup for filename in ‘ls’ do

cp $filename backup/$filename if ($? -ne 0) then

echo “copy for $filename failed” fi done

执行ex10,并理解反馈信息。 4.Select语句

理解并建立shell程序ex11: select item in Continue Finsh do

if [ $item = “Finsh” ]; then break fi done

执行ex11,并理解反馈信息。

(四)函数(1学时)

1.理解并建立shell程序ex12: displaymonth() { case $1 in

01 | 1) echo “Month is January”;;

02 | 2) echo “Month is February” ;; 03 | 3) echo “Month is March” ;; 04 | 4) echo “Month is April” ;; 05 | 5) echo “Month is May” ;; 06 | 6) echo “Month is June” ;; 07 | 7) echo “Month is July” ;; 08 | 8) echo “Month is August” ;; 09 | 9) echo “Month is September” ;; 10) echo “Month is October” ;; 11) echo “Month is November” 12) echo “Month is December” *) echo”Invalid parameter” esac }

displaymonth $1

执行ex12,并理解反馈信息。 $ bash ex12 3 $ bash ex12 10

;; ; ;实验四 系统管理与配置(6学时)

一、实验名称

系统管理与配置。

二、实验目的

要求熟练掌握linux系统的用户和工作组管理;掌握文件系统的管理和维护;了解linux系统备份的相关知识。

要求熟练掌握Linux系统网卡、调整解调器等网络设备的配置;掌握基本网络命令的使用;掌握网络文件系统NFS的配置;了解电子邮件系统的相关配置等内容。

三、实验环境

Redhat Linux系统企业版本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服务器 nameserver 192.168.1.3、nameserver 61.139.2.69

4. 重新启动网络配置,使其生效,/etc/rc.d/init.d/network restart 或 /sbin/service network restart

(五)网络命令操作(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在同一块网卡上添加多个地址: ifconfig eth0:1 192.168.1.2

当手工修改了网络接口卡的配置的使用,需要使用/etc/init.d/network restart来重新启动网络配置,或使用其他相关命令。

在实验室做实验的时候,应注意MAC地址的修改(因为大家的虚拟机的linux系统属于统一拷贝,所以MAC相同,容易发生冲突,所以,进入系统前,首先修改MAC地址) (五)网络命令操作(0.5学时)

直接使用man命令来查看帮助信息,就可以理解操作方法。 (六)NFS的配置(1.5学时)

1.使用NFS服务,至少需要启动下列3个系统守护进程 (1)rpc.nfsd

该守护进程属于NFS服务的基本守护进程,主要完成客户端是否能够接入NFS服务器的管理。

(2)rpc.mountd

它是RPC安装守护进程,主要功能完成NFS文件系统的管理。该守护进程能够对接入NFS服务器的客户进行授权验证,通过读取/etc/exports文件的预先配置来对比客户是否有权限访问共享资源。

(3)portmap

该守护进程的主要功能是完成进行端口映射的管理,应用于RPC服务

2. 要查看NFS是否运行中,可以通过命令rpcinfo -p得到,如果所显示的结果中没有nfs和mountd项出现,表示还未启动,此时可以手动启动:

/etc/rc.d/init.d/nfs start 停止服务

/etc/rc.d/init.d/nfs stop 3. 配置/etc/exports文件 4. /etc/exports配置举例

/var/export/soft john.linuxstudy.com(rw,sync) *.edu.cn(ro) \\ 192.168.1.6(rw,async,no_root_squash)

/var/export/movie 192.168.2.0/24(ro,anonuid=566,no_subtree_chech) \\ 192.168.3.0/24(rw,sync,anonuid=566)

/var/export/upload 192.168.8.*(rw,insecure,sync,no_wdelay,no_subtree_check) 5. 采用exportfs命令把配置文件通知NFS服务器进程 6. 测试NFS服务输出状态

(1)直接使用exportfs命令,不加任何的选项和参数,即可得到输出状态 (2)使用showmount命令

7. 使用mount和umount命令

六、实验结论

在配置过程中,将所遇到的问题及解决办法进行总结。

本文来源:https://www.bwwdw.com/article/wgdd.html

Top