我了解符号链接和硬链接之间的技术区别,这是有关它们在实践中使用的问题,尤其是我很好奇地知道为什么两者都在看似相似的条件下使用:/bin
目录。
这是它在我的系统上列出的片段:
~$ ls -lai /bin
total 10508
32770 drwxr-xr-x 2 root root 4096 Jun 14 11:47 .
2 drwxr-xr-x 28 root root 4096 Sep 6 13:15 ..
119 -rwxr-xr-x 1 root root 959120 Mar 28 22:02 bash
2820 -rwxr-xr-x 3 root root 31112 Dec 15 2011 bunzip2
127 -rwxr-xr-x 1 root root 1832016 Nov 16 2012 busybox
2820 -rwxr-xr-x 3 root root 31112 Dec 15 2011 bzcat
6191 lrwxrwxrwx 1 root root 6 Dec 15 2011 bzcmp -> bzdiff
5640 -rwxr-xr-x 1 root root 2140 Dec 15 2011 bzdiff
5872 lrwxrwxrwx 1 root root 6 Dec 15 2011 bzegrep -> bzgrep
3520 -rwxr-xr-x 1 root root 4877 Dec 15 2011 bzexe
6184 lrwxrwxrwx 1 root root 6 Dec 15 2011 bzfgrep -> bzgrep
5397 -rwxr-xr-x 1 root root 3642 Dec 15 2011 bzgrep
2820 -rwxr-xr-x 3 root root 31112 Dec 15 2011 bzip2
2851 -rwxr-xr-x 1 root root 10336 Dec 15 2011 bzip2recover
6189 lrwxrwxrwx 1 root root 6 Dec 15 2011 bzless -> bzmore
5606 -rwxr-xr-x 1 root root 1297 Dec 15 2011 bzmore
我将硬链接缩进到相同的inode以获得更好的可见性。所以在的情况下使用符号连接bzcmp
,bzegrep
,bzfgrep
,bzless
和在硬连接的情况下bzip2
,bzcat
,bunzip2
?
它们都是常规文件(不是目录),驻留在一个文件系统中,是系统实用程序,甚至还可以用于处理同一内容:bzip存档。在这种特殊情况下使用硬链接/符号链接的原因是纯粹出于历史原因还是我遗漏了一些东西?
澄清我的问题:
我不是在问:
- 符号链接和硬链接之间的技术区别
- 它们各自的理论优点和缺点
这些问题已在SO的其他线程中得到了解决。我试图了解为什么在特定情况下会做出不同的决定:针对一组相关的系统实用程序。从技术上讲,它们全都可能是符号链接,或者全都可能是硬链接,这两个选项都可以工作(并且在两种情况下,程序仍然可以弄清楚如何通过调用argv[0]
)。我想了解这里的意图。
有关:
/bin
的第三栏中,ls -lai
始终是gentoo,1
因此似乎只使用软链接。您使用什么发行版?