linux初学者笔记(5):链接命令

命令

ln -s [原文件] [目标文件]

语义:生成链接文件。

加了-s意思是生成软链接,没加就是硬链接

下面解释一下软链接和硬链接还有这个命令的用法。

链接文件,可以近似理解为windows下的快捷方式,但是软硬链接是有区别的。

先说硬链接

1.拥有相同的i节点和存储block块,可以和原文件看做同一个文件

2.可通过i节点识别

3.不能跨分区

4.不能针对目录使用

解释:

我们知道既然要存文件,那么就要有分区。所以先建立分区,格式化,形成一个个数据块;然后就是建立一个分区表,用来记录文件的基本信息。到某个时候,你想找某个文件的时候,就是通过分区表找到文件数据再分区中的位置。

 

而硬链接就是为一个文件创建它的别名文件,比如原文件叫做file1,那么我在ln file1  file2,     执行之后,

问题1:请说出硬链接和原文件的异同点。

1.相同点:拥有相同的基本信息(inode,权限,修改时间等等),其中一个文件内容修改了,另一个文件内容也会修改,但是这样说也不够准确,只是“看上去”像是这样的情况。其实两个文件名都指向分区中同一个位置,而数据修改是保存在分区中数据存取的位置的,所以,一个文件修改,另一个也会“修改”。

2.不同点:名字不同(如果在不同目录下就可以相同)

 

问题2:创建完硬链接文件,原文件和链接文件都发生了什么变化?

计数器增1

 

现在说说软链接

软链接,ln -s,其实就是和win下的快捷方式道理差不了多少。

1.软链接拥有自己的i节点和block块,而这个block块中只保存原文件的文件名和i节点,这样访问软链接,其实就是找到原文件的名字和i节点,从而在分区中找到原文件的数据。

2.软链接的文件权限都是lrwxrwxrwx,注意第一位l是软链接的意思

3.修改软链接文件或者原文件,另一个也同样修改,道理见第一点。

4.删除原文件,软链接不可用

 

问题3:请说出软链接和原文件的不同点。

1.inode

2.权限

3.修改时间

4.用ll,原文件名没什么,但是软链接文件会标识出原文件名。

 

问题4:请说出上面图中不好的命令写法习惯

这个习惯就是软链接命令的路径编写问题了,应该用绝对路径,用相对路径会有问题

但是,在同一目录下创建软链接,却没有问题

posted @ 2015-08-02 22:01  猪头劲  阅读(204)  评论(0编辑  收藏  举报