.软链接和硬链接
软链接
符号链接又叫软链接,和原文件不是一个文件 例如Windows的快捷方式,如果原始文件被删除,所有指向它的符号链接也就都被破坏了。软链接有自己的node,是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径。符号链接可以跨越文件系统,也可以为目录建立。
创建软链接文件: ln -s 原文件 目标文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d8NPq1E4-1657887500211)(C:\Users\26807\AppData\Roaming\Typora\typora-user-images\image-20220715172901680.png)]
可以看成是 Windows 中的快捷方式, 可以让你快速链接到目标文件或目录, 它找到的是原文件名, 通过原文件名再找到真实的数据, 它自身有 inode
硬链接
只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为inode)。当移动或者删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在件结构中的位置。
创建硬链接文件: ln 原文件 目标文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y7Ir2d5o-1657887500212)(C:\Users\26807\AppData\Roaming\Typora\typora-user-images\image-20220715173300489.png)]
它透过文件系统的 inode 来产生新的文件名, 注意不是产生新的文件, 换而言之, 就是一个文件使用了多个别名, 这个别名与源文件名都指向源文件的 inode
区别
🐼 ln -s 创建软连接, ln 创建硬链接
🐼 目录不能创建硬链接, 且不能跨分区系统创建
🐼 软连接支持文件和目录, 且能跨分区系统, 常用
🐼 硬链接文件与源文件 inode 相同, 而软连接是不同的
🐼 删除软连接文件和硬链接文件, 对源文件没有任何的影响
🐼 删除源文件, 软连接失效, 硬链接无影响(还可以访问内容)
🐼 删除源文件和硬链接, 整个文件会被真正的删除