电脑技术学习

强烈推荐:RHCE 033 实验翻译

dn001

  我现在正在编辑RHCE的培训用书,刚好贴出来大家提提意见。
  现在计划8月底翻译完033的实验部分和编写前7章的课程。
  请提出宝贵意见kevinzh@eloo.com
  
  实验1 :文件和目录操作
  
  时间:1小时30分钟
  目标:熟悉一些基本文件和目录操作命令的功能、语法和使用。练习组合以上命令以有效完成用户任务。
  实验开始需要:一个安装并能正常运行的Red Hat Linux系统。有一个帐户名为student密码为student的普通用户。请与指导教师核对此帐户是否存在,若student帐户尚不存在,按以下步骤创建。
  1. 以root用户登录虚拟控制台(如果在X下,按Alt+Ctrl+F1)。
  2. 在提示符下输入如下命令:
  #useradd student
  创建普通用户 student
  3. 输入如下命令:
  #passwd student
  changing password for user student
  New Unix password:{在此输入student}
  BAD PASSWORD:it is based on a dictionary word
  Retype new Unix password:{再次输入student}
  Passwd:all authentication tokens updated successfully
  为普通用户添加密码
  第一步:组织目录和文件
  情景故事:
  大量文件积聚在你的home目录,你决定该是重新组织它们的时候了。你计划创建一些新的子目录,并拷贝和移动你的文件以实现你新的规划。另外,你还有一些根本不需要的文件,必须删除掉。
  任务:
  1. 在虚拟控制台 (tty1) 以用户名student (密码为student)登录
  2. 登录系统后,你应在你的home目录下,可以用“打印当前工作目录”命令验证
  $pwd
  /home/student
  3. 用如下命令检查你的home目录下是否有文件
  $ls
  短格式显示当前目录下的文件
  $ls a
  短格式显示当前目录下的所有文件(包括以点开头的隐藏文件)
  $ls al
  长格式显示当前目录下的所有文件(包括以点开头的隐藏文件)
  为什么第一个和第二个命令返回不同的文件数?
  第三个命令报告在你的home目录中最大的文件是什么?
  
  你的home目录中有任何子目录吗?
  4. 这一步中,你要用touch命令来创建新文件。touch命令的扩展用法的细节将在之后的单元中学习。现在,仅输入如下的一行(包括花括弧和下划线),在敲回车之前,让你旁边的同学或指导教师检查一下你所输入命令是否正确。
  $touch {report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3}
  
  5. 用ls命令检验上一命令的结果。你应发现在你的home目录下已创建了108个新的空文件。这些文件代表你在随后要用到的数据文件。如果由于某种原因你没看到这些文件,可要求指导教师帮助;若没有这些文件,后续实验将无法进行。
  
  6. 为组织你的文件,你必须首先创建一些新目录,用mkdir命令在你的home目录下创建一些子目录。
  $mkdir “A Report”
  $mkdir September October November decdmber
  再次使用ls命令检查你的工作成果。
  
  7. 使用如下命令在你的新目录中创建另外一些子目录,输入:
  $cd A/ Reports/
  或
  $cd “A Reports”/
  改变目录后,输入:
  $mkdir 1 2 3
  使用ls验证你的“A Reports”子目录是否有三个分别为1、2和3的新目录。
  
  8. 将你的home目录下所有包含“b”记录移出,并按月分组,当你使用复杂的通配符时,提前验证是个好主意,这样可确保对正确的文件进行操作。一种验证方法是将你所要用的命令换为一个不会造成破坏的命令,并对该命令使用你准备使用的通配符。
  $cd
  $ls l *dec?b?
  你应看到会列出9个“december”和“b”文件,现在用以下命令移出它们。
  $mv *dec?b? december/
  列出december子目录下的内容,以验证文件移动操作是否成功。
  $ls l december/
  9. 将其余的“b”报告转移到它们相应的目录:
  $mv *nov?b? november/
  $mv *oct?b? october/
  $mv *sep?b? september/
  10. 你要将“a”报告归类到它们相应数字的目录
  $cd “A Reports”/
  $mv ~/*_a1 1/
  “1”和“september”文件已不再需要,删除它们并验证正确移动了其它文件:
  $cd 1
  $rm *sep*
  $ls
  11. 将剩下的“a2”和“a3”报告移至它们相应目录:
  $pwd
  /home/student/A Report/1
  用相对路径移动“a2”文件:
  $mv ../../*a2* ../2/
  用绝对路径移出“a3”文件:
  $mv /home/student/*a3* /home/student/A/ Reports/3/
  12. 返回你的home目录,用ls命令验证这个目录中只剩下“c”文件(如graph_dec_c1,graph_dec_c2等)
  13.每个月的“c1” 和“c2”报告文件很重要,于是你想在另一个目录下作个备份。
  $mkdir /tmp/archive
  $cp report*[1-2] /tmp/archive/
  另外,所有12月的数据应备份至/tmp/archive目录,注意,要使用-i选项,这样在覆盖文件时会得到提示信息。
  $cp i eport_dec* /tmp/archive/
  cp: overwrite ‘/tmp/archive/report_dec_c1’?n
  cp: overwrite ‘/tmp/archive/report_dec_c1’?n
  
  14. 现在你已备份了对于你来说重要的“c”文件,你想删除仍保留在home目录下的所有文件,查看剩余的文件表明:通配符*c*会匹配所有文件,你为什么不执行rm *c*命令?(提示:尝试使用ls *c*命令)
  
  15.输入如下命令删除在你的home目录中剩余的“c”文件
  $rm *c[1-3]
  $ls
  A Reports december november october september
  
  结果:
  得到一个更有序组织的home目录,文件放入了恰当的子目录下。一些文件备份到了/tmp/archive目录下。
  
  第二步:确定磁盘使用情况
  情景故事:
  你想记录你的系统中每个文件系统剩余的磁盘空间,另外,你想列出在你的系统中哪些目录消耗了最大的空间。
  任务:
  1. 用df命令确定你的每个文件系统的剩余空间,你获得的输出结果应与以下类似(虽然由于特定的安装不同,输出可能不同)
  $df
  Filesystem lk-blocks Used Available Use% Mount on
  /dev/hda5 12880646 1634344 10591988 14% /
  /dev/hda1 36566 2476 32202 8% /boot
  
  2. 注意:df命令的默认操作的报告信息是以块为单位的,尝试使用-h和-H选项,将会以“人类可读的”形式报告信息。
  $df -h
  Filesystem Size Used Avail Use% Mounted on
  /dev/hda5 12G 1.6G 10G 14% /
  /dev/hda1 36M 2.5M 31M 8% /boot
  $df -H
  Filesystem Size Used Avail Use% Mounted on
  /dev/hda5 13G 1.7G 10G 14% /
  /dev/hda1 37M 2.6M 31M 8% /boot
  二者有什么不同,为什么?(使用 man df )
  
  3. 在你的home目录下,使用du(disk usage磁盘使用)命令来确定你的文件正消耗多大的空间,为得到更为可读的输出,可尝试使用-h选项。
  
  第三步:检查文本文件
  任务:
  1. 首先,我们需要使用一个文本文件。
  $cd
  $cp /usr/share/dict/words . (注意这一“。” 点)
  2. 使用cat显示文件:
  $cat words
  3. 在此情况下,使用cat命令是个糟糕的选择,因为大部分的输出将一闪而过。尝试使用less命令:
  $less words
  使用less命令,你可以每次一屏、并可向上滚动(使用b键)或向下滚动(使用空格键)来纵览所有输出。
  4. 如果你只需要浏览一个文件的前几行或后几行,你可以使用head或tail命令:
  $head words
  $tail words
  你可以使用head和tail的手册页来查找哪个开关调整显示的行数,哪个开关调整要显示行的相对位置。
  要显示文本的前50行,你使用什么命令?
  要显示文件中从第25000行开始到结尾,你使用什么命令?
  
  

标签: