inode是什么?
inode是Linux文件系统中的文件身份证,记录文件的元数据——权限、属主、大小、时间戳、数据块位置。
inode不存放文件实际内容,block存放文件内容的存储单元,放着真实数据。
一个文件对应一个inode,一个indoe可对应多个block,多个硬链接
可共用一个inode。
硬链接
硬链接=同一个inode的多个名字。删除一个名字不影响另一个访问。
例如两个文件名,同一个 inode,同一个数据块。链接数= 2,删除任意一个,另一个仍可访问。
软链接
软链接=指向另一个文件路径的"快捷方式"。
生产环境里,软链接目标通常用绝对路径。
两个链接的区别
| 对比 | 硬链接 | 软链接 |
| indoe | 共享同一个inode | 独立inode |
| 删除原文件 | 仍可访问 | 失效 |
| 跨文件系统 | 不可以 | 可以 |
| 链接目录 | 不可以 | 可以 |
| 生产用途 | 关键文件多路径保护 | 日志统一路径 |
硬链接相关代码
# 1. 创建一个测试文件并写入内容 echo "111 硬链接测试..." > config.yml # 2. 查看inode编号 ls -li config.yml # 输出:123456 -rw-r--r-- 1 root root 21 Jul 11 10:30 config.yml # 3. 创建硬链接 ln config.yml config_backup.yml # 4. 查看inode(两者相同,链接数变为2) ls -li config*.yml # 输出:123456 -rw-r--r-- 2 root root 21 Jul 11 10:30 config.yml # 123456 -rw-r--r-- 2 root root 21 Jul 11 10:30 config_backup.yml # 5. 删除原文件,硬链接仍然可用 rm config.yml cat config_backup.yml # 输出:这是配置文件内容(仍然能看!)软链接相关代码
# 1. 创建一个文件 echo "111 软接测试..." > /root/wait-dir/app.log # 2. 创建软链接 ln -s /root/wait-dir/app.log /tmp/app_link.log # 3. 查看 ls -l /tmp/app_link.log # 输出:lrwxrwxrwx 1 root root 7 Jul 11 10:30 /tmp/app_link.log -> /root/wait-dir/app.log # 4. 删除原文件,软链接失效 rm /root/yangge-dir/app.log cat /tmp/app_link.log # 输出:cat: /tmp/app_link.log: No such file or directory这次的学习就到这里,后面内容较多,会改为一个月更新2篇,请大家见谅!
上一篇:https://blog.csdn.net/weixin_65758790/article/details/162990874?spm=1001.2014.3001.5501