Linux系统中,如何区分软连接和硬连接?

摘要:软连接概述 软连接类似Windows中的快捷方式,本身是一个独立文件,有自己的inode,内容只是指向另一个文件的路径字符串。 其特点如下: 可以跨文件系统、跨分区、跨磁盘 可以链接目录 源文件删除后,软链接变成死链接(失效) 软链接大小
软连接概述 软连接类似Windows中的快捷方式,本身是一个独立文件,有自己的inode,内容只是指向另一个文件的路径字符串。 其特点如下: 可以跨文件系统、跨分区、跨磁盘 可以链接目录 源文件删除后,软链接变成死链接(失效) 软链接大小 = 指向路径的字符串长度 支持相对路径、绝对路径创建软连接 创建方式 ln -s 源文件 目标链接 示例: # 相对路径创建软连接 root@master:/data00/tmp# ln -s sort.txt sort.txt.ln # 查看 root@master:/data00/tmp# ll -i | grep sort 28573733 -rw-r--r-- 1 root root 77 Apr 14 10:56 sort.txt 28573734 lrwxrwxrwx 1 root root 8 Apr 14 11:05 sort.txt.ln -> sort.txt # 通过上面可以看到,其inode不相同,文件大小不相同 当修改链接文件后,源文件会产生什么变化呢? 会发现两个文件都会同时修改 root@master:/data00/tmp# echo haha > sort.txt.ln root@master:/data00/tmp# cat sort.txt.ln haha root@master:/data00/tmp# cat sort.txt haha 当我们删除链接文件时,源文件会删除吗? 源文件不会删除,删除链接文件对源文件不会产生任何影响 root@master:/data00/tmp# rm -rf sort.txt.ln root@master:/data00/tmp# ll | grep sort.txt -rw-r--r-- 1 root root 5 Apr 14 11:11 sort.txt root@master:/data00/tmp# cat sort.txt haha 当删除源文件,会对链接文件产生什么影响呢? 发现链接文件失效 # 创建软连接 root@master:/data00/tmp# ln -s sort.txt sort.txt.ln root@master:/data00/tmp# ll | grep sort.txt -rw-r--r-- 1 root root 5 Apr 14 11:11 sort.txt lrwxrwxrwx 1 root root 8 Apr 14 11:15 sort.txt.ln -> sort.txt # 删除源文件 root@master:/data00/tmp# rm -rf sort.txt root@master:/data00/tmp# ll | grep sort.txt.ln lrwxrwxrwx 1 root root 8 Apr 14 11:15 sort.txt.ln -> sort.txt # 查看源文件内容 root@master:/data00/tmp# cat sort.txt.ln cat: sort.txt.ln: No such file or directory 硬连接概述 在同一个磁盘分区中inode号码相同的文件,互为硬链接。
阅读全文