Linux 硬链接 / 软链接 / inode
Linux 文件系统中的 inode、dentry、硬链接与软链接高频区别。
#type / concept
#status / growing
#tech / ops
#resource / operating-system
#platform / linux
[!info] related notes
- 所属 MOC: Linux MOC
- 上位概念: 文件系统(inode/链接/分配)
- 相关命令页: Linux 文件管理命令
Linux 硬链接 / 软链接 / inode
一句话结论
- 硬链接:多个文件名指向同一个 inode。
- 软链接:自己也有 inode,但内容是目标路径,效果更像快捷方式。
inode / dentry 到底存什么
- inode:权限、大小、时间、数据块指针、链接数等元信息,一般不直接存文件名。
- dentry(目录项):负责把文件名映射到 inode 号。
常用命令
# 创建硬链接(默认)
ln a.txt a.hard
# 创建软链接
ln -s a.txt a.soft
# 查看 inode 号
ls -li
# 查看软链接指向
readlink a.soft
易错点
- 硬链接通常不能跨文件系统,也通常不能给目录创建硬链接。
- 删除原文件名时:
- 硬链接只会减少链接数,数据不一定立刻删除。
- 软链接会变成悬空链接,因为它保存的是目标路径。