LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3173|回复: 13

我的RHCE课堂实验(1)

[复制链接]
发表于 2003-2-28 06:39:50 | 显示全部楼层 |阅读模式
单元三实验
文件和目录操作

估计用时:1小时30分
目标:熟悉文件、目录操作命令的数、语法和几个文件的使用。实验将这些命令组合成一个一般的用户任务。

实验前准备:准备一个安装好的Red Hat Linux 系统,并准备一个叫student 的非特权帐号,其密码为student。检查一下指南以确认这个帐号是否已经存在在系统中。如果你的student 帐号还未建立,则按如下次序操作:

1、以root 用户登录
2、输入 # useradd 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

实验1:目录和文件管理
假设:
你在你的home 目录中收集了一大堆文件,而你觉得现在该是将他们整理一下的时候了。你打算建立几个新的子目录,并将拷贝或者移动它们以适合你的安排。除此之外,还有一些文件你根本用不着,你想删除它们。

任务:
1、在tty1 上以student登录。密码为student。

2、刚刚登录后你应该在你的home 目录中。用"print working directory"命令校验一下。
$ 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/
或者
$ cd "A Reports"/
改变了当前目录。然后:
$ mkdir 1 2 3
使用ls 命令校验你已经在"A Reports"目录中有了3个子目录,分别叫做1, 2, 3。

8、将所有含"B"的文件移出你的home 目录并以月份分组。做类似这种复杂的通配字符的操作时,通常先将其“预览”一遍会是个不错的主意,它可以让你确认是在正确的文件上进行了操作。其中一种方法是将你的命令替换成一种“无害”的命令。
$ cd
$ ls -l *dec?b?
你应该看到有9个"december", "b"文件被列出。现在移动它们:
$ mv *dec?b? december/
列出december 子目录以确认移动操作顺利完成了。
$ ls -l december/
total 0
-rw-rw-r--    1 student    student       0 Oct 16 22:16 graph_dec_b1
-rw-rw-r--    1 student    student       0 Oct 16 22:16 graph_dec_b2
-rw-rw-r--    1 student    student       0 Oct 16 22:16 graph_dec_b3
-rw-rw-r--    1 student    student       0 Oct 16 22:16 memo_dec_b1
-rw-rw-r--    1 student    student       0 Oct 16 22:16 memo_dec_b2
-rw-rw-r--    1 student    student       0 Oct 16 22:16 memo_dec_b3
-rw-rw-r--    1 student    student       0 Oct 16 22:16 report_dec_b1
-rw-rw-r--    1 student    student       0 Oct 16 22:16 report_dec_b2
-rw-rw-r--    1 student    student       0 Oct 16 22:16 report_dec_b3

9、将所有剩下的"B"文件分别移入相应的目录:
$ mv *nov?b? november
$ mv *oct?b? october
$ mv *sep?b? september

10、现在你将"A"文件移动到它们相应对数字的目录中去:
$ cd "A Reports"/
$ mv ~/*_a1 1/
"a1","september"文件不需要了。删除它们并确认剩下的文件已正确的移动了。
$ cd 1
$ 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
/home/student/A Reports/1
使用相对路径移动"a2"文件:
$ mv ../../*a2* ../2/
使用绝对路径移动"a3"文件
$ mv /home/student/*a3* /home/student/A\ Reports/3/

12、回到你的home目录下,并用ls 确认在该目录下只剩下"c"文件。

13、每个月的"c1"和"c2"文件很重要,你想将它们备份到另外一个目录中去:
$ mkdir /tmp/archive
$ cp report*[1-2] /tmp/archive/
除此之外所有December月份的文件应备份到/tmp/archive 目录中。注意使用 -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*检验所剩余的文件。为什么你不能用rm *c*删除?
(提示:试试ls *c* 看看)

15、删除所剩余的"c"文件:
$ rm *c[1-3]
$ ls
A Reports  december  november  october  september

完成:
一个良好组织的home 目录,文件都放在合适的子目录中。一些文件备份在/tmp/archive 目录中。

实验2:检测磁盘使用程度

假设:
你想检测系统上每个文件系统所剩余的空间。除此之外,你需要有个包含最占磁盘空间的目录的列表。

任务:
1、使用df 检测文件系统上剩余的空间。输出将类似于如下所示(这当然取决于你的机器安装和配置)。
$ df
Filesystem              1k-blocks        Used  Available  User%  Mounted on
/dev/hda5                12880648     1634344   10591988    14%  /
/dev/hda1                   36566        2476      32202     8%  /boot

2、注意缺省的df 命令是以块(block)为单位输出的。试着使用-h 和-H 选项产生更人性化的输出:
$ df -h
Filesystem              1k-blocks        Used  Available  User%  Mounted on
/dev/hda5                     12G        1.6G        10G    14%  /
/dev/hda1                     36M        2.5M        31M     8%  /boot

$ df -H
Filesystem              1k-blocks        Used  Available  User%  Mounted on
/dev/hda5                     13G        1.7G        10G    14%  /
/dev/hda1                     37M        2.6M        32M     8%  /boot
两种选项有何区别?(用man df 查找答案)

3、在home 目录下使用du (disk usage)命令检测你的home 目录使用了多少空间。务必使用-h 选项产生人性化输出。

实验3:检测文本文件

任务:

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
......输出省略......
abducts
Abe
abed
......输出省略......
用less 你可以往回翻(用b)和往前翻(用空格键),一次一个屏幕。

4、若你只需要快速浏览一下一个文件的头部或者尾部,你可以使用head 或者tail:
$ head words
Aarhus
Aaron
Ababa
aback
abaft
abandon
abandoned
abndoning
abandonment
abandons

$ tail words
zoologically
zoom
zooms
zoos
Zorn
Zoroaster
Zoroasterian
Zulu
Zulus
Zurich
使用man 搜索head 和tail,找到可以修改显示行数、和显示的相对位置的选项。

哪个命令可以显示某文件的前50行?
哪个命令可以显示某个文件从25000行开始,到其结束?

单元四实验:用户信息和man

估计用时:30分钟
目标:熟悉几个用户识别和帐户切换命令的使用。

实验前准备:准备一个安装好,完成过单元三实验的Red Hat Linux 系统,除此之外一个叫visitor 的非特权帐号,其密码为visitor。检查一下指南以确认这个帐号是否已经存在在系统中。如果你的visitor 帐号还未建立,则按如下次序操作:

1、以root 用户登录
2、输入 # useradd visitor
3、输入 # passwd visitor
        Changing password for user visitor
        New UNIX password: {在这里输入visitor}
        BAD PASSWORD: it is based on a dictionary word
        Retype new UNIX password {重新输入visitor}
        passwd: all authentication tokens updated successfully

实验1:本地用户登录
任务:
1、完全注销你的登陆。务必确认你也退出了所有的虚拟终端和X Window 系统。

2、按<CTRL-ALT-F1>切换到虚拟终端1(tty1)。

3、以root身份登录。

4、检测该登录。运行下列命令:
# whoami
# groups
# id
检测这些命令的输出。

5、检测当前工作站所有的登录。这时应该只有一个用户在该系统上登录。以下命令的输出将随着实验的进行变得越来越有趣。
# users
# who
# w
检测这些命令的输出。

6、按<CTRL-ALT-F2>切换到虚拟终端2(tty2)。

7、使用student身份登录。

8、检测该登录的。运行下列命令:
$ whoami
$ groups
$ id
检测这些命令的输出。

9、检测当前工作站的所有登录:
$ users
$ who
$ w
检测这些命令的输出。

10、按<CTRL-ALT-F3>切换到虚拟终端3(tty3)。

11、以visitor身份登录

12、检测该登录。运行下列命令:
$ whoami
$ groups
$ id
检测这些命令的输出

13、检测当前工作站所有的登录:
$ users
$ who
$ w
检测这些命令的输出。

实验2:切换用户帐号
任务:
1、按<CTRL-ALT-F3>切换到虚拟终端3(tty3)。

2、运行pwd 命令确定你当前的目录。检测你当前的可执行文件搜索路径。检测你的用户信息。
$ id
$ pwd
$ echo $PATH

在此记录结果:
id = ______________________
pwd = _____________________
$PATH = ___________________________________________________________________

3、使用su 命令并不带 "-" 选项切换到root 用户。运行pwd 命令确认你的当前目录。检测你当前的可执行文件搜索路径。
$ su
# id
# pwd
# echo $PATH

在此记录结果:
id = ______________________
pwd = _____________________
$PATH = ___________________________________________________________________

4、退出root 帐号,回到student 帐号。
# exit

5、使用su - 切换到root 帐号。运行pwd 命令确认你的当前目录。检测你当前的可执行文件搜索路径。
$ su -
# id
# pwd
# echo $PATH

在此记录结果:
id = ______________________
pwd = _____________________
$PATH = ___________________________________________________________________

6、注销本次实验所有的登录,包括本地的和远程的。

实验3:使用man
任务:
1、查询lpr的手册(manual page)
$ man lpr

2、lpr 的-m 选项有什么用处?(提示:使用"/"键开始一次查找,输入-m,然后按回车)
___________________________________________________________________

3、在lpr 中如何改变打印纸张的宽度?
___________________________________________________________________

4、lpr 有没有用到的 FILES?(如果有,无需列出)
___________

5、在屏幕上显示manual pages中的命令名,该命令的描述(description)中提到"postscript"。

6、在上面的结果中查找可以将Postscript或者PDF转换成ASCII的命令。
 楼主| 发表于 2003-2-28 06:40:56 | 显示全部楼层
以上是第一堂课的课堂实验,权且原封不动的翻译过来
发表于 2003-2-28 17:59:31 | 显示全部楼层
支持一下
发表于 2003-3-4 22:31:13 | 显示全部楼层
还请大哥有空时多写些!
谢谢了!
支持!
发表于 2003-4-23 20:31:12 | 显示全部楼层
谢谢经验分享
发表于 2003-4-24 15:01:28 | 显示全部楼层
多谢feng_ye兄
辛苦了。。
将爱情进行到底 该用户已被删除
发表于 2003-4-27 22:23:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2003-5-15 12:04:54 | 显示全部楼层
thanks
发表于 2004-3-11 19:08:33 | 显示全部楼层

酷,

向这样无私奉献的大哥致敬!

他的精神就是linux所倡导的精神,支持,学习!!!
发表于 2004-3-11 19:25:53 | 显示全部楼层
有troubleshoting题吗?,贴出来让我们练练 ;)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表