BeginMan blog

Linux软链接和硬链接

今天在看面试题的时候,碰到2道Linux软硬连接的问题,遗憾的是全部答错了。试题链接1试题链接2

Google了一番,发现讲解软连接和硬连接最好的文章是:Linux软连接和硬链接

下面复习下:

  1. 软连接可以跨文件系统,硬连接不可以
  2. 硬连接不管有多少个,都指向的是同一个 I 节点,会把结点连接数增加,只要结点的连接数不是 0 ,文件就一直存在不管你删除的是源文件还是连接的文件。只要有一个存在文件就存在。 当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用 i 节点号作为文件指针 , 而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的 i 节点 , 并在磁盘上有一小片空间存放路径名。
  3. 软连接可以对一个不存在的文件名进行连接 。
  4. 软连接可以对目录进行连接。

ref: linux文件系统(四)——软连接与硬连接