Red+Hat+Linux+033+实验翻译.docx
《Red+Hat+Linux+033+实验翻译.docx》由会员分享,可在线阅读,更多相关《Red+Hat+Linux+033+实验翻译.docx(59页珍藏版)》请在冰豆网上搜索。
Red+Hat+Linux+033+实验翻译
RedHatLinux033实验翻译
RedHatLinux033实验部分
试验3
文件和目录操作
估计时间:
1小时30分钟
目标:
熟悉函数、语法和一些基本的文件和目录的控制操作。
练习有效地组合这些命令完成一般的用户任务
试验的起点:
安装了RedHatLinux可运行系统,有一个无特权用户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目录中直接
建立一些子目录:
$mkdira_reports
$mkdirseptemberoctobernovemberdecember
再使用ls检查您的工作。
7.使用如下命令在您的一个新的目录中生成一些附加子目录
$cda_reports
为了切换到目录,接下来:
$mkdir123
使用ls检查你的子目录a_reports下的名为1,2,3的三个新的子目录。
8.首先把所有带”b”的报告从home目录中移出并且按月份分组,先验证要使用的复杂的通配符模式,是个好方法。
这样做以确保它对于正确的文件进行操作。
如果你打算使用这种通配符模式,您可以使用一个无害的命令来替换您的命令。
$cd
$ls-l*dec?
b?
你将看到列出了9个”december”,”b”文件,把其中的一个移到december目录中:
$mvgraph_dec_b1december
用下面的语句移动其余的:
$mv*dec?
b?
december
列出december目录的内容验证移动操作是否成功:
$ls-ldecember
total0
-rw-rw-r--1studentstudent0Sep1817:
45graph_dec_b1
-rw-rw-r--1studentstudent0Sep1817:
45graph_dec_b2
-rw-rw-r--1studentstudent0Sep1817:
45graph_dec_b3
-rw-rw-r--1studentstudent0Sep1817:
45memo_dec_b1
-rw-rw-r--1studentstudent0Sep1817:
45memo_dec_b2
-rw-rw-r--1studentstudent0Sep1817:
45memo_dec_b3
-rw-rw-r--1studentstudent0Sep1817:
45report_dec_b1
-rw-rw-r--1studentstudent0Sep1817:
45report_dec_b2
-rw-rw-r--1studentstudent0Sep1817:
45report_dec_b3
9.把其余所有带”b”的报告分别移动到各自对应的目录中:
$mv*oct?
b?
october
$mv*sep?
b?
september
10.现在你将把”a”报告收集到它们各自对应的目录中。
注意使用~代替“你的home
目录”。
通配符和模式的组合指定了您的home目录下所有以_a1结尾的文件。
$cda_reports
$mv~/*_a11/
“september””a1”文件陈旧并且不再需要,使用echo确定您已经建立了一个只匹配该类文件的模式,然后删除它们,并且检查剩下的”a1”文件是否正确移动:
$cd1
$echo*sep*
$rm*sep*
$ls
graph_dec_a1graph_oct_a1memo_nov_a1report_dec_a1report_oct_a1graph_nov_a1memo_dec_a1memo_oct_a1report_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
$cpreport*[12]/tmp/archive/
另外的,所有的对于十二月份的报告文件应该备份到/tmp/archice目录下面。
注意,-i选项使得cp程序在覆盖任何文件之前进行提示:
$cp-ireport_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 decembernovemberoctoberseptember
试验的结果
一个组织良好的home目录,文件放置在合理的位置,一些文件备份到了/tmp/archive目录中
第二步:
决定磁盘的使用率
场景/情节
您想记录您的系统中的每一个文件系统总共有多少剩余空间。
另外,您想有一个关于哪些目录消耗了系统的多数的空间的列表。
任务
1.使用df获取文件系统总的剩余空间,您的输出应该是类似于下面的例子(尽管输出
依赖于您的特定的安装,输出可能不同)
$df
Filesystem1k-blocksUsedAvailableUse%Mountedon
/dev/hdc21412956818097281160209614%/
/dev/hdc14974388473832819%/boot
none633120633120%/dev/shm
2.注意缺省的命令df操作是以块为单位报告信息,试用-h,-H选项,则是用“用户可读的“形式报告
$df-h
FilesystemSizeUsedAvailUse%Mountedon
/dev/hdc213G1.8G11G14%/
/dev/hdc149M8.7M37M19%/boot
none62M061M0%/dev/shm
$df-H
FilesystemSizeUsedAvailUse%Mountedon
/dev/hdc214G1.9G11G14%/
/dev/hdc151M9.1M39M19%/boot
none65M064M0%/dev/shm
这两个开关有什么不同(使用mandf)?
2.在您的home目录使用du(磁盘使用率)命令来决定您所有的文件消耗的空间。
确保尝试-h选项获得更可读的输出。
第三步:
检视文本文件
任务
1.我们需要一个可供我们工作的文本文件:
$cd
$cp/usr/share/dict/words
.
2.使用cat显示文件:
$catwords
Aarhus
Aaron
Ababa
…输出省略….
Zulu
Zulus
Zurich
3.在这种情况下cat是一个坏的选择,因为很多输出快速的滚屏,试用less:
$lesswords
Aarhus
Aaron
Ababa
…输出省略…
abiding
Abidjan
Abigail
…输出省略…
使用less的时候,您可以向前翻页(使用b),向后翻页(使用空格键)在整个输出中,每次一屏.
4.如果你只需要快速的看看某个文件的最前几行和最后几行,你要使用head或者tail:
$headwords
Aarhus
Aaron
Ababa
aback
abaft
abandon
abandoned
abandoning
abandonment
abandons
$tailwords
zoologically
zoom
zooms
zoos
Zorn
Zoroaster
Zoroastrian
Zulu
Zulus
Zurich
您可以使用man帮助页面发现能使用head和tail中的哪个开关修改行号或是显示的行的相关的位置.
哪个命令你能使用显示文本的前50行?
哪个命令您能使用显示文件从第25,000行到结束的内容?
试验4
用户信息
估计时间:
30分钟
目标:
熟悉一些用户标识和帐户转换基本的控制操作。
试验的起点:
安装了RedHatLinux可运行系统,并且是成功完成试验系统。
有另外一个无特权用户visitor,密码:
visitor帐户的存在。
请教师检查您的系统中是否已经建立这个帐户。
如果这个visitor用户帐户没有建立,按照以下步骤进行
1.用root帐户登陆虚拟控制台。
2.在提示符下键入以下命令
#useraddvisitor
3.现在键入
#passwdvisitor
Changingpasswordforuservisitor.
Newpassword:
{输入visitor}
BADPASSWORD:
itisbasedonadictionaryword
Retypenewpassword:
{输入visitor}
passwd:
allauthenticationtokensupdatedsuccessfully.
第一步:
本地用户登陆
任务:
1.完全从工作站中退出。
确定您已经推出所有虚拟终端和X Windows系统
2.转换到虚拟终端1(tty1)通过按:
3.使用密码redhat进入root帐号登陆您的工作站
4.确定指定的登陆信息,使用下列命令:
#whoami
#groups
#id
检查这些命令的输出。
5.获取工作站当前所有登陆者信息,当前,应该只有一个用户登陆系统,按如下顺序键入的命令的输出是很有趣的。
#users
#who
#w
检查这些命令的输出。
6.转换到虚拟终端2(tty2)通过按
7.以用户student,密码:
student登陆你的工作站。
8.获取指定登陆者的信息,运行下列命令:
$whoami
$groups
$id
检查这些命令的输出。
9.获取工作站上当前所有登陆者的信息:
$users
$who
$w
检查这些命令的输出。
10.转换到虚拟终端3(tty3)通过按
11.以用户visitor,密码:
visitor登陆你的工作站
12.获取指定登陆者的信息,运行下列命令:
$whoami
$groups
$id
检查这些命令的输出。
13.获取工作站上当前所有登陆者的信息:
$users
$who
$w
检查这些命令的输出。
步骤2:
切换帐户
任务:
1.按下如下的键切换到虚拟终端3(tty3)
2.运行id命令来决定您的用户信息,pwd来喜爱能使您目前的工作目录
$id
$pwd
记录结果:
id=__________________________________________
pwd=_________________________________________
3.使用su–来切换到root用户,运行id和pwd来获取您的当前的目录
$su–
#id
#pwd
记录结果:
id=__________________________________________
pwd=_________________________________________
4.从root帐户退出,返回到visitor帐户
#exit
5.使用不含-的su切换到root用户,运行pwd和id。
$su
#id
#pwd
记录结果:
id=__________________________________________
pwd=_________________________________________
为什么和第3步骤的结果不同呢?
6.登出所有您在这个步骤中本地的和远程的shell。
试验6
Linux文件系统的要点
估计时间:
90分钟
目标:
深入了解linux文件系统知识,包括:
创建和使用links,使用slocate和find,归档压缩文件。
试验的起点:
一个RedHatLinux系统。
第一步:
创建和使用links
任务:
1.在早些时候的试验,你已经拷贝了一个文件/usr/share/dict/words到你使用的用户student的主目录~/words.在这个案例里,你不需要编辑文件-拷贝一个文件到你的主目录就可以在试验的期间使用了。
2.为了要避免原始文件和副本之间的混乱。
在student’s主目录中删除words的副本
$cd
$rmwords
3.虽然你可能没有在那时了解它,这个文件/usr/share/dict/words的副本实际上是一个软link。
列出内容下面目录/usr/share/dict的内容查看link和它的参数。
$ls–l/usr/share/dict
total404
-rw-r—r--1rootroot409305Apr310:
29linux.words
lrwxrwxrwx1rootroot11Apr2017:
33words->linux.words
a.你能告诉我words是一个软链接吗?
b.为什么words的文件大小是11?
c.words允许所有人访问。
这和linux.words文件用什么冲突?
除了root用户,其他用户能够能在linux.words上面写数据吗?
4.再一次列出文件,这次显示相应的indeds号。
为什么两个文件会有相同或不同的inodes号?
$ls–I/usr/share/dict
5.现在在你的主目录中产生两个的代号和硬链接到/usr/share/dict/linux.words:
$ln–s/usr/share/dict/linux.wordssoft
$ln/usr/share/dict/linux.wordshard
6.测试一下,你新建的链接两者都指到linux.words文件:
$headhardsoft
7.检查你所有文件的link,然后在下面回答问题:
$ls–ilhardsoft
$stathadsoft
报告文件大小,hard_______和soft_______.
被占用的真实的空间,hard_______和soft_______.
你怎样解释这两个link占用空间的差别。
列出链接的记数,hard_______和soft_______.
所有权,hard_______和soft_______.
文件硬链接的所有者和root用户可以完全访问,其他用户是只读权限。
学生将会可以删除这个新的文件吗?
为什么?
8.更多的挑战:
如果时间许可,探究一下下面的问题:
a.你能创建一个目标文件并不存在的软连接吗?
看看ls命令的输出能否给你一些提示。
b.你能创建一个目标文件并不存在的软连接吗?
为什么?
c.你能创建一个软连接的硬连接吗?
当你尝试的时候有什么问题吗?
d.在创建了几个硬连接后,你能说出哪个是更加真实的文件吗?
步骤2:
使用find命令
任务:
作为student登录。
设计完成find命令提出结果
查看你当前的umask。
设计并且运行find命令在每下列各项被描述的结果指令里。
然后写下提供的空格里。
你可能需要在在find的manpage里查许找。
记得你能用/stringzmanpage里查找。
第一个答案已经为你列出。
1.在/var/lib目录下查找所有文件其所有者是games用户的文件
$find/var/lib–usergames2>/dev/null
2.在/var目录下查找所有文件其所有者是root用户的文件。
_________________________________________________________
3.查找所有文件其所有者不是root,bin和student用户并用长格式显示(如ls–l的显示结果)。
_________________________________________________________
4.查找/usr/bin目录下所有大小超过一百万byte的文件并用长格式显示(如ls–l的显示结果)。
_________________________________________________________
5.对/etc/mail目录下的所有文件使用file命令.
_________________________________________________________
6.查找/tmp目录下属于student的所有普通文件,这些文件的修改时间为120分钟以前,查询结果用长格式显示(如ls–l的显示结果)。
_________________________________________________________
7.对于查到的上述文件,用-ok选项删除。
_________________________________________________________
步骤3:
归档和压缩
情景/故事:
你的系统上的主硬盘在你使用它的时候有可怕的噪音,但是它上面有有价值的数据。
自从系统在两年半以前备份过,你有决定手动备份少数几个你最紧要的文件。
那/tmp目录里储存在不同的硬盘的分区上快怀的分区,这样你想临时的把文件备份到那里。
任务:
1.在/home目录里,用find命令定位文件所有者是student的文件。
然后将其压缩。
$find/home–userstudent–exectarrvf/tmp/backup.tar{}\;
2.保存/etc目录下的文件到/tmp目录下:
$tarcvf/tmp/confbackup.tar/etc
3.列出两个文件的大小
$ls–lh/tmp/*.tar
-rw-rw-r--1studentstudent1.9MOct1723:
06/tmp/backup.tar
-rw-rw-r--1studentstudent5.4MOct1800:
27/tmp/confbackup.tar
backup.tar文件的大小________
confbackup.tar文件的大小________
4.使用gzip压缩你的文档。
然后报告文件的大小:
$cd/tmp
$gzip–v*.tar
$ls–lh*tar*
-rw-rw-r--1studentstudent580KOct1723:
06backup.tar.gz
-rw-rw-r--1studentstudent913KOct180:
27confbackup.tar.gz
backup.tar.gz文件大小为____________
backup.tar.gz文件的压缩百分比________
confbackup.tar.gz文件大小为____________
confbackup.tar.gz文件的压缩百分比________
5.先解压缩bzip2文件然后在压缩,然后比较新文件的大小:
$gunzip*.gz
$ls–