Linux中软链接与硬链接有何本质不同?

2026-05-17 02:502阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计928个文字,预计阅读时间需要4分钟。

Linux中软链接与硬链接有何本质不同?

硬链接 + [root@daben ~]

硬链接

[root@daben ~]# cat a.txt #原文件为a.txt hello [root@daben ~]# ln a.txt hard.txt #创建一个硬链接hard.txt [root@daben ~]# ll -ih a.txt hard.txt #查看文件属性,两个文件属性相同 总用量 8.0K 393724 -rw-r--r-- 2 root root 6 3月 29 13:46 a.txt 393724 -rw-r--r-- 2 root root 6 3月 29 13:46 hard.txt [root@daben ~]# rm -f a.txt #删除原文件 [root@daben ~]# cat hard.txt #硬链接仍可正常使用 hello [root@daben ~]# ll -ih 总用量 4.0K 393724 -rw-r--r-- 1 root root 6 3月 29 13:46 hard.txt #结论:硬链接相当于原文件a.txt的另一个名称,两者均指向了inode表中的同一项记录。可简单理解为两个不同名称的指针指向了同一块内存数据。删除原文件只是删除了其中一个指针指向,不影响硬链接的使用,反之亦然。

软链接

[root@daben ~]# cat a.txt #原文件 hello #以相对路径创建软链接 [root@daben ~]# ln -s a.txt soft.txt #创建一个软链接soft.txt(注意此处a.txt是以相对路径引用) lrwxrwxrwx 1 root root 5 3月 29 14:25 soft.txt -> a.txt [root@daben ~]# ll -ih #观察到两个文件属性均不一样 总用量 4.0K 393724 -rw-r--r-- 1 root root 6 3月 29 13:46 a.txt 393721 lrwxrwxrwx 1 root root 5 3月 29 14:25 soft.txt -> a.txt [root@daben ~]# cat soft.txt #软链接正常 hello ##移动软链接 [root@daben ~]# mv soft.txt /opt/ [root@daben ~]# ll -ih /opt/ 总用量 0 393721 lrwxrwxrwx 1 root root 5 3月 29 14:25 soft.txt -> a.txt [root@daben opt]# cat soft.txt #软链接失效 cat: soft.txt: 没有那个文件或目录 #使用绝对路径创建软链接 [root@daben ~]# ln -s ~/a.txt soft2.txt [root@daben ~]# ll #观察发现软链接指向的原文件路径是绝对路径 总用量 4 -rw-r--r-- 1 root root 6 3月 29 13:46 a.txt lrwxrwxrwx 1 root root 11 3月 29 15:10 soft2.txt -> /root/a.txt [root@daben ~]# cat soft2.txt #软链接正常 hello [root@daben ~]# mv soft2.txt /opt/ #移动软链接 [root@daben ~]# ll /opt/ 总用量 0 lrwxrwxrwx 1 root root 11 3月 29 15:10 soft2.txt -> /root/a.txt lrwxrwxrwx 1 root root 5 3月 29 14:25 soft.txt -> a.txt [root@daben ~]# cat /opt/soft2.txt #软链接正常 hello ##删除原文件后软链接失效 [root@daben ~]# rm -f a.txt [root@daben ~]# cat /opt/soft2.txt cat: /opt/soft2.txt: 没有那个文件或目录 [root@daben ~]# ll /opt/soft2.txt lrwxrwxrwx 1 root root 11 3月 29 16:04 /opt/soft2.txt -> /root/a.tx

硬链接和软链接区别总结(其中几项未做演示、后续有空再补上)

Linux中软链接与硬链接有何本质不同?

1. 本质: 硬链接:本质是同一个文件 软链接:本质不是同一个文件 2. 跨设备 硬链接:不支持 软链接:支持 3. inode 硬链接:相同 软链接:不同 4. 链接数 硬链接:创建新的硬链接,链接数会增加,删除硬链接,链接数减少 软链接:创建或删除,链接数不会变化 5. 文件夹硬链接:不支持 软链接:支持 6. 相对路径 硬链接:原始文件相对路径是相对于当前工作目录 软链接:原始文件的相对路径是相对于链接文件的相对路径 7. 删除源文件 硬链接:只是链接数减一,但链接文件的访问不受影响 软链接:链接文件将无法访问 8. 文件类型 硬链接:和源文件相同 软链接:链接文件,和源文件无关 9. 文件大小 硬链接: 和源文件相同 软链接: 源文件的路径的长度

本文共计928个文字,预计阅读时间需要4分钟。

Linux中软链接与硬链接有何本质不同?

硬链接 + [root@daben ~]

硬链接

[root@daben ~]# cat a.txt #原文件为a.txt hello [root@daben ~]# ln a.txt hard.txt #创建一个硬链接hard.txt [root@daben ~]# ll -ih a.txt hard.txt #查看文件属性,两个文件属性相同 总用量 8.0K 393724 -rw-r--r-- 2 root root 6 3月 29 13:46 a.txt 393724 -rw-r--r-- 2 root root 6 3月 29 13:46 hard.txt [root@daben ~]# rm -f a.txt #删除原文件 [root@daben ~]# cat hard.txt #硬链接仍可正常使用 hello [root@daben ~]# ll -ih 总用量 4.0K 393724 -rw-r--r-- 1 root root 6 3月 29 13:46 hard.txt #结论:硬链接相当于原文件a.txt的另一个名称,两者均指向了inode表中的同一项记录。可简单理解为两个不同名称的指针指向了同一块内存数据。删除原文件只是删除了其中一个指针指向,不影响硬链接的使用,反之亦然。

软链接

[root@daben ~]# cat a.txt #原文件 hello #以相对路径创建软链接 [root@daben ~]# ln -s a.txt soft.txt #创建一个软链接soft.txt(注意此处a.txt是以相对路径引用) lrwxrwxrwx 1 root root 5 3月 29 14:25 soft.txt -> a.txt [root@daben ~]# ll -ih #观察到两个文件属性均不一样 总用量 4.0K 393724 -rw-r--r-- 1 root root 6 3月 29 13:46 a.txt 393721 lrwxrwxrwx 1 root root 5 3月 29 14:25 soft.txt -> a.txt [root@daben ~]# cat soft.txt #软链接正常 hello ##移动软链接 [root@daben ~]# mv soft.txt /opt/ [root@daben ~]# ll -ih /opt/ 总用量 0 393721 lrwxrwxrwx 1 root root 5 3月 29 14:25 soft.txt -> a.txt [root@daben opt]# cat soft.txt #软链接失效 cat: soft.txt: 没有那个文件或目录 #使用绝对路径创建软链接 [root@daben ~]# ln -s ~/a.txt soft2.txt [root@daben ~]# ll #观察发现软链接指向的原文件路径是绝对路径 总用量 4 -rw-r--r-- 1 root root 6 3月 29 13:46 a.txt lrwxrwxrwx 1 root root 11 3月 29 15:10 soft2.txt -> /root/a.txt [root@daben ~]# cat soft2.txt #软链接正常 hello [root@daben ~]# mv soft2.txt /opt/ #移动软链接 [root@daben ~]# ll /opt/ 总用量 0 lrwxrwxrwx 1 root root 11 3月 29 15:10 soft2.txt -> /root/a.txt lrwxrwxrwx 1 root root 5 3月 29 14:25 soft.txt -> a.txt [root@daben ~]# cat /opt/soft2.txt #软链接正常 hello ##删除原文件后软链接失效 [root@daben ~]# rm -f a.txt [root@daben ~]# cat /opt/soft2.txt cat: /opt/soft2.txt: 没有那个文件或目录 [root@daben ~]# ll /opt/soft2.txt lrwxrwxrwx 1 root root 11 3月 29 16:04 /opt/soft2.txt -> /root/a.tx

硬链接和软链接区别总结(其中几项未做演示、后续有空再补上)

Linux中软链接与硬链接有何本质不同?

1. 本质: 硬链接:本质是同一个文件 软链接:本质不是同一个文件 2. 跨设备 硬链接:不支持 软链接:支持 3. inode 硬链接:相同 软链接:不同 4. 链接数 硬链接:创建新的硬链接,链接数会增加,删除硬链接,链接数减少 软链接:创建或删除,链接数不会变化 5. 文件夹硬链接:不支持 软链接:支持 6. 相对路径 硬链接:原始文件相对路径是相对于当前工作目录 软链接:原始文件的相对路径是相对于链接文件的相对路径 7. 删除源文件 硬链接:只是链接数减一,但链接文件的访问不受影响 软链接:链接文件将无法访问 8. 文件类型 硬链接:和源文件相同 软链接:链接文件,和源文件无关 9. 文件大小 硬链接: 和源文件相同 软链接: 源文件的路径的长度