1. 简介
ln 命令用来为文件或目录创建软连接和硬链接,
命令格式为:ln option dist source
dist 为绝对路径
Linux中每个文件对应一个存储文件信息的数据结构 inode,文件名相当于指向 inode 的指针;
2. 硬链接
为文件创建硬链接就是增加一个指针指向该文件对应的 inode;
可以为一个文件创建多个硬链接,每个软链接都指向源文件,删除一个硬链接不影响源文件及其他软链接;
示例:为 a.txt 创建一个硬链接 b.txt,然后向 b.txt 追加信息,然后指向这个 inode 对象的所有文件都发生了变化
2.1 缺点
不可以在不同文件系统的文件间建立链接;
只有超级用户才可以为目录创建硬链接;
2.2 优点
源文件移动不影响硬链接的使用
3. 软链接
将文件B软链接到文件A,文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B;
软链接依赖源文件,源文件删除后。所有的软链接都无法正常使用,因为软链接本质还是操作链接指向的源文件;
可以为一个文件创建多个软链接,每个软链接都指向源文件,删除一个软链接不影响源文件及其他软链接;
3.1 软链接文件
示例:为 a.txt 创建软连接 b.txt,b.txt 指向a.txt,操作 b.txt 时实际操作的就是a.txt
3.2 软链接目录
为目录 a 创建 软链接 b,然后拷贝文件到 b,实际是将文件拷贝到 a 目录
3.3 缺点
软链接文件保存的是源文件的路径,如果源文件目录发生变化,则软链接无法找到源文件
3.4 优点
克服了硬链接的缺点