首页 > 其他 > 详细

浅谈Linux ln命令

时间:2014-03-08 00:39:58      阅读:489      评论:0      收藏:0      [点我收藏+]

ln  [option]  source  destination

功能说明:链接文件

扩展知识:硬链接和软链接的区别

对于一个文件来说,有唯一的索引(inode)与之对应。

软链接:也称符号链接,就是产生一个新文件,文件内容实际只记录它自己要连接的文件的路径在何处。软链接只是一个记录文件路径的文件。所以如果源文件被删除,软链接文件还是存在的,但是就无法再通过链接文件访问源文件了。

硬链接:硬链接为文件开设一个新的目录项,硬链接与文件原有的名字是平权的,在Linux它们是等价的都是指向相同的物理地址。通俗的讲,比如一个东西放在柜子里,然后原本是一个人认领,后面创建了一个硬链接,就相当于实际上又多了一个人认领。如果要清空这个柜子就必须得两个人同时都同意才行。而软连接就相当于贴了标签而已,清空柜子不用标签同意也就是说只有物理路径上的所有硬链接(包含源文件)都被删除完成,文件数据块和目录的连接才会被释放。

ps:

1.硬链接是不能跨越文件系统;

2.硬链接不能链接目录:如果你要将 /etc 使用硬链接创建一个 /etc_hd 的目录时,那么在 /etc_hd 底下的所有文件名同时都与 /etc 底下的文件名要创建 hard link 的,而不是仅仅/etc_hd 与 /etc 进行链接而已。 而且未来如果需要在 /etc_hd 底下创建新文件时,连带的, /etc 底下的数据又得要创建一次 hard link ,因此造成环境相当大的复杂度。

功能参数:

-b:将在链接时会被覆盖或删除的文件进行备份

-f:如果目标文件存在时,就主动将目标文件直接删除后再创建

-d:允许系统管理者硬链结自己的目录

-i:交互模式,文件存在则提示用户是否覆盖

-n:把符号链接视为一般目录

-s:软链接(符号链接),如果不加任何参数就是进行硬链接

-v:显示详细的处理过程

实例:

一、对c.txt文件进行硬链接和软连接

bubuko.com,布布扣

ps:由此看出,硬链接的文件的权限和源文件的一样,而且他们的链接数也一致,而软连接文件的权限与其他文件不同。


二、对上述的硬、软链接文件进行编辑

bubuko.com,布布扣

由此看出,对软硬链接的文件编辑,最终都会写入c.txt


三、删除c.txt,并分别重新编辑一次软硬链接文件

bubuko.com,布布扣


ps:由此可以看出硬链接的文件是与源文件共享数据,删除源文件后并不影响硬链接文件的数据,而软链接在失去源文件的链接后,无法再向源文件的block里写数据。


bubuko.com,布布扣

ps当重新往软链接文件写数据时,会出现一个和原来的源文件相同文件名的文件,但是查看它们详细信息会发现,硬链接的文件连结数并没有增加,这说明,新的源文件已经不是原来那个源文件,他们只是文件名相同而已,并没有任何关系,它们inode所指向的block已经不一样了。


浅谈Linux ln命令,布布扣,bubuko.com

浅谈Linux ln命令

原文:http://fyywzl.blog.51cto.com/7824086/1369893

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!