Linux硬链接和软连接的区别与总结

图示软硬链接的区别

Linux硬链接和软连接的区别

硬链接

创建一个硬链接

可以发现两个文件的 inode 编号相同,且大小相同,说明是同一个文件

软链接

创建一个软连接

可以发现文件和指向文件的软链接的 inode 编号不同,说明是两个文件

硬链接和软链接的区别

原理上,硬链接和源文件的 inode 节点号相同,两者互为硬链接。软连接和源文件的 inode 节点号不同,进而指向的 block 也不同,软连接 block 中存放了源文件的路径名

实际上,硬链接和源文件是同一份文件,而软连接是独立的文件,类似于快捷方式,存储着源文件的位置信息便于指向

使用限制上,不能对目录创建硬链接,不能对不同文件系统创建硬链接,不能对不存在的文件创建硬链接;可以对目录创建软连接,可以跨文件系统创建软连接,可以对不存在的文件创建软连接

参考

  1. Linux硬链接和软连接的区别与总结
  2. 硬链接和软连接(符号链接)的区别