Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103695411
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-27 15:29:26

   来源:赛迪网技术社区    作者:lynn

我现在正在编辑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行开始到结尾,你使用什么命令?

阅读(154) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~