Red+Hat+Linux+033+实验翻译 联系客服

发布时间 : 星期三 文章Red+Hat+Linux+033+实验翻译更新完毕开始阅读d3f5c52758fb770bf78a55bb

Red Hat Linux 033 实验翻译 Red Hat Linux 033 实验部分

试验3

文件和目录操作

估计时间: 1小时30分钟

目标: 熟悉函数、语法和一些基本的文件和目录的控制操作。

练习有效地组合这些命令完成一般的用户任务 试验的起点: 安装了Red Hat Linux可运行系统 ,有一个无特权用户student,密码:student

第一步:目录和文件组织 场景/情节

在您的home目录下有一系列的文件,您决定到时间整理一下了.您计划生成一些新的子目录,然后根据您的计划拷贝和移动这些文件到适当的目录;另外,这些文件不是都有用的,有一些是要删除掉的。

任务:

1. 以用户名student密码student在tty1上登陆。

2. 在您登陆系统以后,你将进入您的home目录.你可以使用"打印工作目录"检查这一情况 $ pwd

/home/student

3.使用如下每条命令检查您是否还有文件在您的home目录下: $ ls $ ls -a $ ls –al

为什么第一和第二条命令返回不同的文件数?

第三条命令返回的在您当前的home目录下最大的文件是多少? 您的home目录下有子目录吗?

4. 您现在使用touch为以后的步骤建立文件。这种扩展在接下来的命令中是如何工作

的在以后的章节中进行讨论。现在,仅仅按照下面的行键入就行了(在集合与集合之间使用包括花括号{}和下划线的字符)

$ touch {report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3} 5. 使用命令ls检查最后一条命令的结果,你会发现它在您的home目录下生成了108个

新的空文件(您不必数)。这些文件代表了您将使用的在这个步骤中的代表的数据文件。如果您看不到这些文件,向教师寻找帮助,没有这些文件,该试验后面

的步骤就无法进行。

6. 为了组织您的文件,您必须先建立一些新目录,使用mkdir在您的home目录中直接

建立一些子目录: $ mkdir a_reports

$ mkdir september october november december 再使用ls 检查您的工作。

7. 使用如下命令在您的一个新的目录中生成一些附加子目录 $ cd a_reports

为了切换到目录,接下来: $ mkdir 1 2 3

使用ls检查你的子目录a_reports下的名为1,2,3的三个新的子目录。

8. 首先把所有带‖b‖的报告从home目录中移出并且按月份分组,先验证要使用的复杂的通配符模式,是个好方法。这样做以确保它对于正确的文件进行操作。如果你打算使用这种通配符模式,您可以使用一个无害的命令来替换您的命令。 $ cd

$ ls -l *dec?b?

你将看到列出了9个‖december‖,‖b‖文件,把其中的一个移到december目录中:

$ mv graph_dec_b1 december 用下面的语句移动其余的: $ mv *dec?b? december

列出december目录的内容验证移动操作是否成功: $ ls -l december total 0

-rw-rw-r-- 1 student student 0 Sep 18 17:45 graph_dec_b1 -rw-rw-r-- 1 student student 0 Sep 18 17:45 graph_dec_b2 -rw-rw-r-- 1 student student 0 Sep 18 17:45 graph_dec_b3 -rw-rw-r-- 1 student student 0 Sep 18 17:45 memo_dec_b1 -rw-rw-r-- 1 student student 0 Sep 18 17:45 memo_dec_b2 -rw-rw-r-- 1 student student 0 Sep 18 17:45 memo_dec_b3 -rw-rw-r-- 1 student student 0 Sep 18 17:45 report_dec_b1 -rw-rw-r-- 1 student student 0 Sep 18 17:45 report_dec_b2 -rw-rw-r-- 1 student student 0 Sep 18 17:45 report_dec_b3

9.把其余所有带‖b‖的报告分别移动到各自对应的目录中: $ mv *oct?b? october $ mv *sep?b? september

10. 现在你将把‖a‖报告收集到它们各自对应的目录中。注意使用~代替 ―你

的home

目录‖。通配符和模式的组合指定了您的home目录下所有以_a1结尾的文件。 $ cd a_reports $ mv ~/*_a1 1/

―september‖‖a1‖文件陈旧并且不再需要,使用echo确定您已经建立了一个只匹配该类文件的模式,然后删除它们,并且检查剩下的‖a1‖文件是否正确移动: $ cd 1

$ echo *sep* $ rm *sep* $ ls

graph_dec_a1 graph_oct_a1 memo_nov_a1 report_dec_a1 report_oct_a1 graph_nov_a1 memo_dec_a1 memo_oct_a1 report_nov_a1

11.最后移动‖a2‖和‖a3‖报告到各自对应的目录中。为了使过程变得有趣,我们将把

它们移出当前目录,使用相对和绝对的的路径名。第一步,使用pwd确定当前目录:

$ pwd

/home/student/a_reports/1

用echo检查涉及到‖a2‖文件的模式,然后使用绝对路径名: $ echo /home/student/*a2*

$ mv /home/student/*a2* /home/student/a_reports/2

即使您当前在/home/student/a_reports/1目录下,也能把文件从/home/student移动到/home/student/a_reports/2目录中,因为您指定了文件的路径名称(在本例中为绝对路径名称)

现在使用相对路径移动―a3‖文件。再一次的,首先确信模式指定的是正确的文件名称。

$ echo ../../*a3* $ mv ../../*a3* ../3

12.返回您的home目录,并且使用ls 来校验仅存在该目录中的文件都是―c‖文件(例如:graph_dec_c1,graph_dec_c2,…)

13.―c1‖和―c2‖报告文件对于每个月来说都非常重要,并且您打算把它们备份到另外一个目录:

$ mkdir /tmp/archive

$ cp report*[12] /tmp/archive/

另外的,所有的对于十二月份的报告文件应该备份到/tmp/archice目录下面。注意,-i选项使得cp程序在覆盖任何文件之前进行提示:

$ cp -i report_dec* /tmp/archive/

cp: overwrite `/tmp/archive/report_dec_c1'? n cp: overwrite `/tmp/archive/report_dec_c2'? n 14.现在您备份了一些对您重要的―c‖文件,您现在要删除位于您的home目录下面所有的文件。使用通配符―*c*‖检查剩下的含有c的文件。您为什么不想执行命令rm *c* ?

(作为提示:尝试:ls *c*)

15.删除您的home目录下的剩余*c*文件。在发出一个破坏性的命令之前我们再次使用echo命令。 $ echo *c[1-3] $ rm *c[1-3] $ ls

a_reports december november october september

试验的结果

一个组织良好的home目录,文件放置在合理的位置,一些文件备份到了/tmp/archive目录中

第二步:决定磁盘的使用率 场景/情节

您想记录您的系统中的每一个文件系统总共有多少剩余空间。 另外,您想有一个关于哪些目录消耗了系统的多数的空间的列表。 任务

1. 使用df获取文件系统总的剩余空间,您的输出应该是类似于下面的例子(尽管输出

依赖于您的特定的安装,输出可能不同) $ df

Filesystem 1k-blocks Used Available Use% Mounted on /dev/hdc2 14129568 1809728 11602096 14% / /dev/hdc1 49743 8847 38328 19% /boot none 63312 0 63312 0% /dev/shm

2.注意缺省的命令df操作是以块为单位报告信息,试用-h,-H选项,则是用 ―用户可读的―形式报告 $ df -h

Filesystem Size Used Avail Use% Mounted on /dev/hdc2 13G 1.8G 11G 14% /

/dev/hdc1 49M 8.7M 37M 19% /boot none 62M 0 61M 0% /dev/shm