软链接:
软或符号更像是原始文件的快捷方式....如果您删除原始文件,快捷方式将失败,如果您只删除快捷方式,原始文件不会发生任何事情。
软链接语法:ln -s Pathof_Target_file link
输出: link -> ./Target_file
证明: readlink link
同样在ls -l link 输出中,您会看到lrwxrwxrwx 中的第一个字母为l,这表明该文件是软链接。
删除链接:unlink link
注意:如果您愿意,即使将软链接从当前目录移至其他位置,您的软链接也可以正常工作。确保在创建软链接时提供绝对路径而不是相对路径。即(从 /root/user/Target_file 而不是 ./Target_file 开始)
硬链接:
硬链接更多的是镜像副本或同一文件的多个路径。对 file1 做一些事情,它出现在文件 2 中。
删除一个仍然可以保留另一个。
只有当所有(硬)链接或(同一文件)inode 的所有路径都被删除时,inode(或文件)才会被删除。
一旦建立了硬链接,该链接就具有原始文件的 inode。删除重命名或移动原始文件不会影响硬链接,因为它链接到底层 inode。对 inode 上数据的任何更改都会反映在引用该 inode 的所有文件中。
硬链接语法:ln Target_file link
输出: 将使用与 Targetfile 相同的 inode 编号创建一个名为 link 的文件。
证明: ls -i link Target_file(检查他们的 inode)
删除链接: rm -f link(像普通文件一样删除链接)
注意:符号链接可以跨越文件系统,因为它们只是另一个文件的名称。而硬链接只在同一个文件系统中有效。
符号链接缺少硬链接的某些功能:
硬链接有两个限制:
- 不能硬链接目录。 Linux 不允许这样维护目录的非循环树结构。
- 无法跨文件系统创建硬链接。这两个文件必须在同一个文件系统上,因为不同的文件系统有不同的独立 inode 表(不同文件系统上的两个文件,但具有相同的 inode 号会不同)。