Linux中的硬链接和软链接

时间:2023-03-08 17:55:22
Linux中的硬链接和软链接

软链接和硬链接

命令ln

  ln是创建链接的命令:

  创建硬链接:ln file link

  创建软链接:ln -s file link

硬链接

  硬链接(hard link)是Unix系统最早的创建链接的方式。

  默认情况下每个文件都有一个硬链接,创建硬链接时,实际上是创建了附加的入口,当且仅当指向文件的所有硬链接都被删除之后文件才被真正删除,即数据块被清理。

  为一个文件创建硬链接,类似于拷贝一个文件,但是这个新的拷贝和原先的版本是同步更新的。

  这是因为Linux文件系统中所有文件都会分配一个编号,称为索引节点号(Inode Index),创建硬链接,inode是同一个号,所以可以同步更新。

  硬链接的两个限制:

  1.硬链接不能指向自身文件系统外的文件,即不能跨硬盘分区(软链接可以)。

  2.硬链接不能指向目录。

软链接

  软链接(software link),也称为符号链接(symbolic link),软链接可以类比Windows上的快捷方式。

  删除软链接时不会影响指向文件;如果删除了文件没有删除软链接,链接会存在但是什么也不指向,即坏掉了。

总结

  硬链接:拷贝+同步

  软链接:快捷方式