Linux关于硬链接的一些知识点以及如何查找文件对应全部的硬链接文件
Linux关于硬链接的一些知识点以及如何查找文件对应全部的硬链接文件
- 软链接相当于windows里边的快捷方式,软链接文件和源文件是两个不同的文件,通过软链接可以直接访问(跳到)到源文件。
- 硬链接和源文件本质是同一个文件,只不过可以名字或者位置不一样,实际上创建一个硬链接之后两者地位相同了,无所谓谁是硬链接文件,或者说互为硬链接。
因为本质是同一个文件所以占用空间不会增加,在最后一个文件被删除之前就算删除其他硬链接文件也不会真正删除掉文件。
但是对其中一个文件做修改,其他文件也受影响,因为本质是同一个文件。包括权限,属主的修改也会影响。 - 不能对文件夹使用硬链接
- 更多细节百度,提供一个地址:https://www.cnblogs.com/duoruaimi4/p/16336798.html
问题1:一个文件有多少个硬链接?
[root@dev-app81 20230324]# touch test.sql [root@dev-app81 20230324]# ln test.sql test.hardlink [root@dev-app81 20230324]# ll -i total 0 67896251 -rw-r--r-- 2 root root 0 Mar 24 17:18 test.hardlink 67896251 -rw-r--r-- 2 root root 0 Mar 24 17:18 test.sql [root@dev-app81 20230324]# stat test.sql File: ‘test.sql’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 67896251 Links: 2 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2023-03-24 17:18:02.531700220 +0800 Modify: 2023-03-24 17:18:02.531700220 +0800 Change: 2023-03-24 17:19:26.097694274 +0800 Birth: - [root@dev-app81 20230324]# stat test.hardlink File: ‘test.hardlink’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 67896251 Links: 2 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2023-03-24 17:18:02.531700220 +0800 Modify: 2023-03-24 17:18:02.531700220 +0800 Change: 2023-03-24 17:19:26.097694274 +0800 Birth: -
ll -i出现信息中,权限位后边的数字代表硬链接文件数,次数为2
stat “文件” 出现的信息中,Links:2更直观可以看出来。
问题2:如何查找文件所有的硬链接文件位置
根据inode查找,inode信息获取:
ll -i出来结果的第一列即是inode号
stat “文件”出来结果的Inode:xxxx 即是inode号
查找:find / -inum "inode号"
示例:
[root@dev-app81 20230324]# stat test.hardlink File: ‘test.hardlink’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 803h/2051d Inode: 67896251 Links: 2 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2023-03-24 17:18:02.531700220 +0800 Modify: 2023-03-24 17:18:02.531700220 +0800 Change: 2023-03-24 17:19:26.097694274 +0800 Birth: - [root@dev-app81 20230324]# find / -inum 67896251 /root/daily/20230324/test.sql /root/daily/20230324/test.hardlink
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?