在 Linux 中,有两种链接: 硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic Link)。硬链接可认为是一个文件拥有两个文件名;而软链接则是系统新建一个链接文件,此文件指向其所要指的文件。
为解决文件的共享使用,Linux 系统引入了两种链接: 硬链接(hard link)与软链接(又称符号链接,即 soft link 或象征链接)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件的不同名字,是对同一个文件的引用。
软链接是一个指向另一个文件或目录的特殊文件。它类似于Windows系统中的快捷方式。软链接本身只是一个指向目标的符号,不包含实际的文件数据。如果删除软链接,原文件或目录不受影响。软链接的创建和使用如下:
ln -s target linkname
其中,target是链接的目标文件或目录,linkname是创建的软链接的名称。
软链接的特点:
软链接可以跨越文件系统边界。
修改软链接不会影响目标文件或目录。
软链接可以指向不存在的文件或目录。
ln -s /path/to/file /path/to/symlink
硬连接是多个文件名指向同一个文件数据块的链接。与软链接不同,硬连接不需要额外的存储空间来维护链接信息,因为多个文件名指向同一个文件。如果删除任何一个硬连接,文件数据块仍然存在,直到没有任何链接指向它。硬连接的创建和使用如下:
ln target linkname
其中,target是链接的目标文件,linkname是创建的硬连接的名称。
硬连接的特点:
硬连接只能在同一文件系统中创建。
修改硬连接或者原文件都会影响其他链接。
ln /path/to/file /path/to/hardlink