1、实验九 Linux设备管理实验一、 实验目的:掌握linux系统重定向、管道操作和设备管理的方法。二、 预备知识1标准的输入输出和重定向 执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin,通常对应终端的键盘);标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕.进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。 用户在输入输出数据时存在以下问题:l 从终端输入数据时,用户输入的数据只能用一次,如果下次再想用这些数据时就得重新输入。而且在终端上输入时,项输入有误修改起来不是
2、很方便。l 输出到屏幕上的信息只能看不能动,无法对此输出作更多处理,如将作为另一命令的输入进行进一步的处理等。 为了解决上述问题,Linux系统为输入输出的传送引入了另外两种机制,即输入输出重定向.输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。也就是说,输入可以不来自键盘,而来自一个指定的文件.因此,输入重定向主要用于改变一个命令的输入源,告别是改变那些需要大量输入的输入源.输出重定向是批把命令(或可执行程序)的标准输出或标准错误输出重定向到指定文件中。这样,命令的输出就不显示在屏幕上,而是写入到指定文件中.2管道将一个程序或命令的输出作为另一个程序或命令的输入可有两种方
3、法,一种是通过一个临时文件将两个命令或程序联系在一起;另一种是Linux所提供的管道功能,这种方法比前一种方法更好.管道可以把一系列命令连接起来,这就意味着第一个命令的输出会将为第二个命令的输入通过管道传给第二个命令,而第二个命令的输出又作为第三个命令的输入,以此类推。显示在屏幕上的是管道行中最后一个命令的输出(如果命令行中示使用输出重定向).用户还可以通过使用管道符“|”来建立一个管道行。3文件备份和压缩 参见第二章相关的ppt。三、 实验内容和实验步骤(实验情况请截图和说明)1 基本实验(1)标准输入输出文件使用通过wc命令统计指定文件包含的行数、单词数和字符数.l 实验步骤一:在命令提示
4、符输入ls,显示当前目录下的文件。m112013tan lsch4 ch5 lab1 lab2 lab3 lab4 lab5 lab6 lab7 lab8 lab9 subdirm112013tan $ cd lab9m112013tan lab9 lstest。cl 实验步骤二:在命令提示符下输入wc test。c(是已经写好的一个程序)m112013tan lab9$ wc test。c 5 10 134 test.c说明:test。c文件的行数为5,单词数为10,字符数为134(2)输入重定向使用输入重定向的一般形式为:命令文件名。l 实验步骤:在命令提示符输入wctest。cm1120
5、13tan lab9$ wctest。c 5 10 134(3)输出重定向使用输出重定向的一般形式为:命令文件名。l 实验步骤一:将ls命令的结果用输出重定向送到文件file。out中,再用cat来显示该文件的内容。m112013tan lab9$ lsfile。outm112013tan lab9$ cat file.outfile。outtest.cl 实验步骤二:将当前登录系统的用户信息用输出重定向送到文件who。out中,再用cat来显示该文件的内容.m112013tan lab9 whowho。outm112013tan lab9$ cat who。outm112013 pts/2
6、2004-0103 08:43 (218.192.112。49)m112014 pts/3 20040103 08:46 (10.255.20。64)m112019 pts/1 20040103 08:55 (218。192。112。72)(4)用管道来改写上面实验(3)要求的实验。(说明:管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推.显示在屏幕上的是管道行中最后一个命令的输出 )a)将ls命令的结果用输出重定向送到文件file。out中,再用cat来显示该文件的内容。m112013tan
7、 lab9$ rm file.outm112013tan lab9 touch file.outm112013tan lab9 lsfile。out|echom112013tan lab9$ cat file.outfile。outtest.cwho。out(分析:将ls的内容写入到file。out文件中,将此输出内容通过管道作为echo的输入内容,再用cat显示出文件内容)将当前登录系统的用户信息用输出重定向送到文件who。out中,再用cat来显示该文件的内容。m112013tan lab9 whowho。outechom112013tan lab9$ cat who.outm112013
8、 pts/2 200401-03 08:43 (218.192。112.49)m112036 pts/4 2004-0103 09:02 (218.192。112。107)m112014 pts/5 20040103 09:05 (10.255.20。64)2 使用设备按以下要求完成实验,说明你的操作方法,重要步骤请截图说明.(1) U盘的使用l 如何加载U盘,应注意些什么问题?首先把U盘插进USB接口,此时会弹出如下提示:打开虚拟机,选择“可移动设备Kingston DataTraveler G3连接”,如图所示:此时会弹出如下提示:点击“确定,即可完成U盘的加载。如图所示,打开U盘,可看到
9、U盘的内容。注意:1)分配的设备名称要辨别清楚.2)必须在PC中运行USB驱动模块并成功安装后才能在虚拟机中运行USB设备接下来,用命令行的方式加载U盘。 首先,以管理员身份登录Linux。ubuntu 12。04 默认是不允许 root 登录的,在登录窗口只能看到普通用户和访客登录。输入如下命令:“sudo s H”cherrycherryvirtualmachine: sudo s -Hsudo password for cherry: rootcherryvirtualmachine:/home/cherry插入U盘后,输入“fdisk l”,观察上面输出的信息,可知U盘所在的设备为/d
10、ev/sdb1进入mnt目录,查看其目录下有没有名为usb的文件夹。如果没有则创建usb的文件夹。根据上面U盘的信息,将U盘加载到目录/mnt/usb中,输入:“mount /dev/sda1 /mnt/usb”再输入“mount”,如图:依次打开/mnt/usb/media/cherry/CHERRY,则可以看到U盘里的东西了,如图:(注:CHERRY是U盘的名称)也可以用命令行输入“cd /mnt/usb”,进入usb目录。再用同样的方式依次进入/mnt/usb/media/cherry/CHERRY,用ls命令显示U盘的内容,如图所示:l 如何卸载U盘?输入命令“umount /dev/
11、sdb1或“umount /mnt/usb”注意事项:必须在root用户权限下进行加载操作;(2) 网卡配置在linux当中,第一块网卡的设备名是eth0,文件是ifcfg-eth0,保存在了/etc/sysconfig/network-scripts/这个目录下面 l 要临时配置网卡的IP地址和掩码如何实现?l 要永久配置网卡的IP地址和掩码如何实现?在命令行输入“vi/etc/sysconfig/networkscripts/ifcfgeth0cherrycherryvirtualmachine:vi/etc/sysconfig/networkscripts/ifcfgeth0接着在vi编
12、辑器中输入如下代码:DEVICE=eth0ONBOOT=yesBOOTPROTO=staticIPADDR=192。168。0.1NETWORK=255。255。255.0GATEWAY=192。168.1。100保存并退出.(3) 光盘的使用l 如何创建准备加载光盘的挂载点?插入光盘,选择“可移动设备-CD/DVD(IDE)-连接”,如图,光盘成功挂载。用命令行方式挂载光盘:先查看mnt目录下式否存在名为cdrom的目录,若不存在则创建它.挂载光驱 mount /dev/cdrom /mnt/cdrom 再输入“mount”,查看已安装的文件系统:可见光盘已成功挂载.l 如何将Linux系统
13、中的某些文件从光盘中拷入某个指定的目录?cp 文件名 目录名l 如何卸载光驱并取出光盘?卸载光盘命令 umount /dev/cdrom3文件备份和压缩实验(1)文件的压缩和解压缩操作l 压缩和解压命令格式一:compress 文件名,uncompress 文件名。l 压缩和解压命令格式二:gzip -v 文件名,gunzip -v 文件名.l 文件压缩和解压缩实验一:u 文件压缩:compress v test。c第一次用compress的时候,系统仍未安装此程序。安装之后再运行“compress v test”,结果如图所示:v是显示被压缩的文件的压缩比。此时可看到已压缩的test。c。Z
14、u 文件解压缩:uncompress v test。Zl 文件压缩和解压缩实验二:u 文件压缩:gzip -v test。cu 文件解压缩:gunzip vtest.gz(2)备份和还原实验l 备份命令格式:tar 参数 文件或目录名参数选项说明:-c:创建一个新的文档。-r:用于将文件附加到已存在的文档后面.u:仅仅添加比文档文件更新的文件,如原文档中不存在旧的文件,则追加它到文档中,如存在则更新它.x:从文档文件中恢复被备份的文件。-t:用于列出一个文档文件中的被备份出的文件名.z:用zip命令压缩或用unzip解压.-f:使用档案文件或设备,这个选项通常是必选的。-v:列出处理过程中的详
15、细信息。-C directory:把当前目录切换到directory.l 文件备份实验:u 把你的用户目录下的文件和子目录(包括隐含文件和目录)压缩和备份到bak。tar文档中。(提示:tar -czvf bak.tar.gz /home/用户目录名)查看bak.tar。gz的属性。可见已成功创建。打开bak.tar。gz,可以看到里面有/home/cherry/labs目录下的所有文件。u 然后在你的用户目录下建立一个bak子目录l 数据恢复(文件还原)实验:u 在bak目录下进行数据恢复(文件还原)。提示:tar -xzf longkey。tar.gz C /home/用户目录/bak此时
16、再进入bak目录,即文件备份的目录,分别进入各个目录观察,可以看到所有的/home/cherry/labs目录下的文件已成功还原.如图所示:再尝试用telnet服务器完成.提示出错了,但却发现名为bak。tar。gz的文件已成功创建,只是文件大小为0KB,如图所示:可见在telnet服务器也出错,原因还没搞清楚。4设备的查看(提示:参考教材的内容) l 步骤一:查看Linux系统的I/O空间;l 步骤二:查看Linux系统所用设备;l 步骤三:查看系统使用的IDE硬盘/SCSI设备的主要设备号;在Ubuntu中系统使用的是SCSI设备,所以不会访问/dev/hda,而会访问/dev/sda。l
17、 步骤四:查看系统中断使用情况;输入“more /proc/interrupts”,如图所示:l 步骤五:了解fdisk各参数选项的作用(注意在Vmware中运行linux后通过运行fdisk命令去了解)四、 实验总结挂载,卸载U盘,光盘都需要用到超级用户权限,当中涉及到的mount,fdisk等命令都需切换到root用户进行操作.compress命令和uncompress命令在第一次使用时由于在虚拟机中未安装,所以未能运行.在Ubuntu中系统使用的是SCSI设备,所以不会访问/dev/had,而是/dev/sda。出现的错误:在做文件的压缩和解压实验时可谓状况百出.首先在执行“tar cz
18、vf bak。tar。gz /home/cherry/labs的时候,没有注意到切换到用户当前目录,于是:执行完这条命令后并没有看到有bak。tar文档,如图。分析问题把工作目录切换到当前目录再进行上述操作,压缩成功后,再进行解压操作。进入新建的bak目录,按实验文档输入命令“tar xzf longkey。tar。gz C /home/cherry/labs/bak”,但系统提示无法打开目录。(显示出错)后来研究了很久,发现原来是实验文档给的提示命令出错,原因是根本没有longkey.tar.gz这个压缩文档,因为在前一步压缩实验时我们得到的是bak.tar.gz。此时再修改longkey.tar。gz为bak。tar。gz,再尝试运行,果然成功.注:本实验由于虚拟机的原因没有把bak.tar。gz文件保存,但我在虚拟机把自己目录下的所有文件夹和目录都进行了压缩,形成了20112802013。tar。gz这个文件,存放在lab9目录下,虽然在win7和win xp环境下打开此压缩文件时发生错误,显示乱码,但在虚拟机下能正常打开.本实验充分考察了对操作系统的各个知识点的掌握,也考验了耐心,细心和毅力。通过本次实验我基本掌握了在虚拟机下使用Linux加载U盘,光盘,查看各种设备,以及管理它们的方法。