Linux 文件系统基础
估计用时:1小时30分钟
目标:形成对Linux 文件系统的更充分的理解,包括:建立和使用link,使用mtools 包以处理DOS 文件系统,使用slocate 和find,并将文档打包和压缩。
实验前准备:一台装有Red Hat Linux 系统的机器,你在实验2中需要一张空白软盘。
实验1:建立并使用link
任务:
1、在早先的实验中,你应该拷贝了/usr/share/dict/words 到你的帐号——student 的home目录中,并命名为words。当时,这样做的原因是为了使你访问这个文件更简单。现在,我们使用link 来达到同样的效果。
2、为了避免原来的文件和拷贝文件的混淆,我们删除words 文件的拷贝。
$ cd
$ rm words
3、如果这时候你还没有意识到的话,你早些使用的/usr/share/dict/words 实际上是一个soft 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、你如何知道它是一个soft link?
b、为什么文件的大小是11字节?
c、words对所有用户开放所有的访问权限。这会对linux.words 产生什么样的影响?除了root用户能通过这个link 向linux.words 写数据吗?
4、再次列出文件,这次显示它们所对应的inode。它们是否拥有相同的inode?
$ ls -i /usr/share/dict
5、现在在你的home 目录中建立一个symbolic link 和一个hard link,指向
/usr/share/dict/linux.words:
$ ln -s /usr/share/dict/linux.words soft
$ ln /usr/share/dict/linux.words hard
6、测试你的新link 指向的数据:
$ head hard soft
7、用下面的命令测试你建立的link,并回答下列问题:
$ ls -il hard soft
$ stat hard soft
写出文件hard 的大小________,和soft 的大小_________。
hard 确实使用的数据块________,soft确实使用的数据块__________。
你如何解释这两个文件在数据块数上的不同?
hard 的link 数________,soft 的link 数__________。
hard 的 UID和GID__________,soft的_____________。
文件hard 由root 所拥有,并对其他用户只开放读权限。student 用户是否可以删除这个新建的文件?为什么?
8、挑战:
a、你能建立一个symbolic link 指向一个不存在的文件吗?在这种情况下ls 命令是否给出任何提示?
b、你能建立一个hard link 指向一个不存在的文件吗?为什么?
c、你能建立一个hard link 指向一个soft link 吗?如果你这样做的话会出现什么情况?
d、在建立了几个hard link 之后,你如何找出“真正”的文件?这个问题有意义吗?(换句话说,有没有比你建立hard link 更“真实”的文件?)
责任编辑:小草