运维小白学习记——03 indoe 机制及软硬链接

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