linux 的软连接和硬连接是重要的概念, 那么它们有何异同之处呢?
相同点
首先, 软连接和硬连接都是对于文件的连接, 也就是文件数据始终都是一份
不同点
软连接
软连接存储的是文件访问路径 , 类似于windows 的快捷方式
一旦文件重命名或者被移动删除, 那么软连接失效
软连接被删除, 不影响原始文件
# 为 b.txt 创建软连接
# b.txt 一旦重命名或被移动/删除, 都会导致 b.txt.lnk 失效
ln -s b.txt b.txt.lnk
硬连接
首先声明一个逻辑: 原始目录下展示的 b.txt
其实就是一个硬连接. 一个硬连接就是一个指向文件数据的记录 , 并不表示文件数据本身
这里我们手动创建新的硬连接, 相当于多了一个指向文件数据的记录
当一个文件数据所有硬连接为0时, 文件数据才会被真正删除.
# 为 b.txt 创建硬连接
# b.txt 和 b.txt.backup 是等效的
ln b.txt b.txt.backup