linux硬链接和软链接的区别

简而言之,软链接相当于windows中的快捷方式,硬链接相当于一个灾备系统,数据存放在两处,与复制不同

的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外,一处数据如果被删除了,不会影响

到另一处的数据.下面是详细的介绍:

      硬连接指向的是节点(inode),是已存在文件的另一个名字,修改其中一个,与其连接的文件同时被修

改;对硬链接文件进行读写和删除操作时候,效果和软链接相同。但如果我们删除硬链接文件的源文件,

硬链接文件仍然存在,而且保留了原有的内容。这时,系统就“忘记”了它曾经是硬链接文件,而把他当

成一个普通文件。
硬链接文件有两个限制:
1、不允许给目录创建硬链接;
2、只有在同一文件系统中的文件之间才能创建链接。

      软连接指向的是路径(path),软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是

任意文件或目录,还可以链接不同文件系统的文件,和win下的快捷方式差不多。 软链接文件甚至可以链

接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象"),链接文件甚至可以循环链接自己,类

似于编程语言中的递归。

命令格式:
ln -s source_path target_path   //软链接文件

ln -d existfile newfile   //硬链接文件,如果不加任何参数,默认情况下就是硬链接.


示例:
$ ln httpd.conf httpd1.conf
$ ln -s httpd.conf httpd2.conf

第一条为硬链接,第二条为软链

你可能感兴趣的:(linux)