Linux 软链接和硬链接
硬链接
硬链接与原文件有相同的索引节点(inode),创建硬链接相当于让原文件增加了一个有效路径,原文件路径与新文件路径(硬链接)是完全相等的地位。删除其中任意一个不会影响另一个正常工作,只有指向该文件的inode的文件路径全部删除了,该文件才回实际上被删除。
创建硬链接 ln sourceFile hardLink
软连接
软链接相当于win中的快捷方式,只是一个保存了原文件路径的特殊文件,删除原文件后软链接既失效
创建软链接 ln -s sourceFile symbolLink
相同点与区别
- 软链接可以跨文件系统,硬链接不可以
- 软链接可以链接目录,硬链接不可以
- 软硬连接都不会将原本的文件复制一份
- 删除软链接不会影响原文件,删除硬链接可能会影响原文件(当原文件路径已经被删除时)
用ls -li
查看文件的inode 可以发现,硬链接与原文件的inode相同,软链接与之不同
硬链接文件类型是-(跟原文件完全相等的作用),软链接符号则是l
文件类型符号:
- - 普通文件
- d 目录
- l 软链接
- c 字符设备文件
- b 块设备文件
应用
若a磁盘空间满了,而b磁盘空间还有很多,当我们必须在a磁盘读写某个文件或目录时,可以先在b磁盘创建这个文件或目录,然后在a磁盘创建一个f的软连