Linux的魅力在于它超级强大的字符界面。让我们开始一步一步的学习Linux命令操作吧。
以下是操作实验手册(根据RHCE教程改编),记得每天来练习哦~~
===========================================================================
试验一
文件和目录操作
估计时间: 1小时30分钟
目标: 熟悉函数、语法和一些基本的文件和目录的控制操作。
练习有效地组合这些命令完成一般的用户任务
试验的起点: 安装了Linux的系统
--------------------------------------------------------------
第一步:目录和文件组织
场景/情节
在您的home目录下有一系列的文件,您决定到时间整理一下了.您计划生成一些新的子目录,然后根据您的计划拷贝和移动这些文件到适当的目录;另外,这些文件不是都有用的,有一些是要删除掉的。
任务:
1. 利用SSH客户端登陆到LUPA远程实验室中。
2. 在您登陆系统以后.你可以使用"打印工作目录"检查这一情况
$ pwd
/home/lab
3.使用如下每条命令检查您是否还有文件在您的home目录下:
$ ls
$ ls -a
$ ls –al
为什么第一和第二条命令返回不同的文件数?
第三条命令返回的在您当前的home目录下最大的文件是多少?
您的home目录下有子目录吗?
4. 您现在使用touch为以后的步骤建立文件。这种扩展在接下来的命令中是如何工作
的在以后的章节中进行讨论。
为防止和其他用户发生冲突,请先在当前目录下新建一个属于您自己的工作目录,myname请用自己的用户名来替换。
$mkdir myname
现在,仅仅按照下面的行键入就行了(在集合与集合之间使用包括花括号{}和下划线的字符)
$ cd myname
$ 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
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
$ 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
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行到结束的内容?
文章评论(0条评论)
登录后参与讨论