没有合适的资源?快使用搜索试试~ 我知道了~
用户最基础的实验哦! 想学习Linux的人千万不要错过了
资源详情
资源评论
资源推荐
- 1 -
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 检查您的工作。
- 2 -
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
- 3 -
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 目录中
- 4 -
第二步:决定磁盘的使用率
场景/情节
您想记录您的系统中的每一个文件系统总共有多少剩余空间。
另外,您想有一个关于哪些目录消耗了系统的多数的空间的列表。
任务
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
$ df -H
Filesystem Size Used Avail Use% Mounted on
/dev/hdc2 14G 1.9G 11G 14% /
/dev/hdc1 51M 9.1M 39M 19% /boot
none 65M 0 64M 0% /dev/shm
这两个开关有什么不同(使用 man df)?
2. 在您的 home 目录使用 du(磁盘使用率)命令来决定您所有的文件消耗的空间。确保尝试-h 选项获得更可读的输出。
第三步:检视文本文件
任务
1.我们需要一个可供我们工作的文本文件:
$ cd
$ cp /usr/share/dict/words
.
2.使用 cat 显示文件:
$ cat words
Aarhus
Aaron
Ababa
…输出省略….
Zulu
Zulus
Zurich
- 5 -
3.在这种情况下 cat 是一个坏的选择,因为很多输出快速的滚屏,试用 less:
$ less words
Aarhus
Aaron
Ababa
…输出省略…
abiding
Abidjan
Abigail
…输出省略…
使用 less 的时候,您可以向前翻页(使用 b),向后翻页(使用空格键)在整个输出中,每次一屏.
4.如果你只需要快速的看看某个文件的最前几行和最后几行,你要使用 head 或者 tail:
$ head words
Aarhus
Aaron
Ababa
aback
abaft
abandon
abandoned
abandoning
abandonment
abandons
$ tail words
zoologically
zoom
zooms
zoos
Zorn
Zoroaster
Zoroastrian
Zulu
Zulus
Zurich
您可以使用 man 帮助页面发现能使用 head 和 tail 中的哪个开关修改行号或是显示的行的相关的位置.
哪个命令你能使用显示文本的前 50 行?
哪个命令您能使用显示文件从第 25,000 行到结束的内容?
试验 4
剩余44页未读,继续阅读
dyct729
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0