Unix(Linux)软硬连接的区别

heroxsx 2010-06-25

在Unix(Linux)下软连接和硬连接有什么本质的区别? 
4点不同:
1> 软连接可以跨文件系统,硬连接不可以。
2> 关于i节点的问题。硬连接不管有多少个,都指向的是同一个i节点,会把结点连接数增加,只要结点的连接数不是0,文件就一直存在,不管你删除的是源文件还是连接的文件。只要有一个存在,文件就存在(其实也不分什么源文件连接文件的,因为他们指向都是同一个i节点)。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的inode,并在磁盘上有一小片空间存放路径名。
3> 软连接可以对一个不存在的文件名进行连接。
4> 软连接可以对目录进行连接。

相关推荐