文章目录
软链接
- 软链接文件的大小是: 路径+文件名的总字节数
- 软链接类似于Windows下的快捷方式
硬链接
本质
- 硬链接的本质是不同的文件名所在的inode节点是相同的,相同的inode节点指向了相同的数据块,所以他们的文件内容是一样的,文件内容会同步。
- 当新创建了一个文件, 硬链接计数为
1
- 给文件创建了一个硬链接后, 硬链接计数加
1
- 删除一个硬链接后, 硬链接计数减
1
- 如果删除硬链接后, 硬链接计数为
0
, 则该文件会删除
应用场景
- 可以起到同步文件的作用,修改
file
的内容, 会在其余硬链接文件上同步。 - 可以起到保护文件的作用,删除文件的时候, 只要硬链接计数不为
0
, 不会真正删除, 起到保护文件的作用。
命令
创建硬链接 ln [sourcefile] [destfile]
创建软链接 ln -s [sourcefile] [destfile]
示例
创建软链接
# 首先查看文件a的信息,可以看到inode为20711731
# 为a创建软链接a.so
ln -s a a.so
# 可以看到两个文件inode不同
创建硬链接
# 首先查看文件a的信息,可以看到inode为20711731
# 为a创建软链接a~
ln a a~
# 可以看到两个文件inode相同
一些注意事项
1.删除源文件软链接会失效
2.创建软连接使用绝对路径
因为软连接记录的是源文件的路径,当软连接文件移动到其他目录下时,相对路径会改变,所以使用绝对路径,下图为以命令ln -s a a.so
创建的软连接,移动到其他目录后无法使用。
当使用绝对路径时,可以访问源文件