原创
一起学习Linux命令(二)--Linux文件系统的要点
==================================================================== 试验二 Linux文件系统的要点 估计时间: 90分钟 目标: 深入了解linux文件系统知识,包括:创建和使用links,使用slocate和find,归档压缩文件。 试验的起点: 一个Linux系统。 ---------------------------------------------------------------- 第一步:创建和使用links 任务: 1.在早些时候的试验,你已经拷贝了一个文件/usr/share/dict/words到你使用的用户lab的主目录 ~/words.在这个案例里,你不需要编辑文件-拷贝一个文件到你的主目录就可以在试验的期间使用了。 2.为了要避免原始文件和副本之间的混乱。在lab’s主目录中删除words的副本 $ cd $ rm words 3.虽然你可能没有在那时了解它, 这个文件/usr/share/dict/words 的副本实际上是一个软link。列出内容下面目录 /usr/share/dict的内容查看link和它的参数。 $ ls –l /usr/share/dict total 404 -rw-r—r-- 1 root root 409305 Apr 3 10:29 linux.words lrwxrwxrwx 1 root root 11 Apr 20 17:33 words ->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.words soft $ ln /usr/share/dict/linux.words hard 6. 测试一下,你新建的链接两者都指到 linux.words 文件: $ head hard soft 7. 检查你所有文件的link , 然后在下面回答问题: $ ls –il hard soft $ stat had soft 报告文件大小,hard_______和soft_______. 被占用的真实的空间,hard_______和soft_______. 你怎样解释这两个link占用空间的差别。 列出链接的记数,hard_______和soft_______. 所有权,hard_______和soft_______. 文件硬链接的所有者和root用户可以完全访问,其他用户是只读权限。学生将会可以删除这个新的文件吗?为什么? 8. 更多的挑战:如果时间许可,探究一下下面的问题: a.你能创建一个目标文件并不存在的软连接吗?看看ls命令的输出能否给你一些提示。 b.你能创建一个目标文件并不存在的软连接吗? 为什么? c.你能创建一个软连接的硬连接吗? 当你尝试的时候有什么问题吗? d.在创建了几个硬连接后,你能说出哪个是更加真实的文件吗? ---------------------------------------------------------------- 步骤2:使用find命令 任务: 作为student登录。设计完成find命令提出结果 查看你当前的umask。设计并且运行find命令在每下列各项被描述的结果指令里。然后写下提供的空格里。 你可能需要在在find的man page里查许找。记得你能用/stringz man page里查找。 第一个答案已经为你列出。 1.在/var/lib目录下查找所有文件其所有者是games用户的文件 $ find /var/lib –user games 2> /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 –user student –exec tar rvf /tmp/backup.tar {} \; 2. 保存/etc目录下的文件到/tmp目录下: $ tar cvf /tmp/confbackup.tar /etc 3. 列出两个文件的大小 $ ls –lh /tmp/*.tar -rw-rw-r-- 1 student student 1.9M Oct 17 23:06 /tmp/backup.tar -rw-rw-r-- 1 student student 5.4M Oct 18 00:27 /tmp/confbackup.tar backup.tar文件的大小________ confbackup.tar文件的大小________ 4. 使用gzip压缩你的文档。然后报告文件的大小: $ cd /tmp $ gzip –v *.tar $ ls –lh *tar* -rw-rw-r-- 1 student student 580K Oct 17 23:06 backup.tar.gz -rw-rw-r-- 1 student student 913K Oct 18 0:27 confbackup.tar.gz backup.tar.gz文件大小为____________ backup.tar.gz文件的压缩百分比________ confbackup.tar.gz文件大小为____________ confbackup.tar.gz文件的压缩百分比________ 5. 先解压缩bzip2文件然后在压缩,然后比较新文件的大小: $ gunzip *.gz $ ls –lh *tar -rw-rw-r—1 1 student student 1.9M Oct 17 23:06 backup.tar -rw-rw-r—1 1 student student 5.4M Oct 18 00:27 confbackup.tar $ bzip2 –v *tar $ ls –lh *tar -rw-rw-r—1 1 student student 510K Oct 17 23:06 backup.tar.bz2 -rw-rw-r—1 1 student student 791K Oct 18 00:27 confbackup.tar.bz2 backup.tar.bz2文件大小为____________ backup.tar.bz2文件的压缩百分比________ confbackup.tar.bz2文件大小为____________ confbackup.tar.bz2文件的压缩百分比________ 6. 在传统UNIX系统, $ rm confbackup.tar.bz2 $ tar czf test1.tgz /etc $ tar cjf test2.tbz /etc $ file test* test1.tgz:gzip compressed data,deflated,last modified:Wed Oct 18 01:52:11 2000,os:Unix test2.tbz:bzip2 compressed data,block size = 900K 结果: 你的“重要数据”被压缩备份到/tmp目录里了。 问题答案2 2. find /var –user root –group mail 2>/dev/mull 3. find / -not –user root –not –user bin –not –user student –ls 2> /dev/null or find / ! –user root ! –user bin ! –user student –exec ls –ld {} \; 2> /dev/null 4. find /usr/bin –size +1000000c –ls 2> /dev/null 5. find /etc/maill –exec file {} \; 2 > /dev/null 6. find /tmp –user student –and –mmin +120 –and –type f –ls 2> /dev/null 7. find /tmp –user student –and –mmin +120 –and –type f –ok rm {} \;
文章评论(0条评论)
登录后参与讨论