私はシンボリックリンクとハードリンクの技術的な違いを理解しています。これは実際の使用に関する質問です。特に、両方が一見似たような条件で使用される理由を知りたいと思い/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
見やすくするために、同じiノードへのハードリンクをインデントしました。だから、シンボリックリンクがある場合に使用されているbzcmp
、bzegrep
、bzfgrep
、bzless
の場合とハードリンクbzip2
、bzcat
、bunzip2
?
これらはすべて(ディレクトリではなく)通常のファイルであり、1つのファイルシステム内に常駐し、システムユーティリティであり、bzipアーカイブという同じものを操作するために作成されています。この特定のケースでハードリンク/シンボリックリンクを使用する理由は純粋に歴史的なものですか、それとも何か不足していますか?
私の質問の明確化:
私は尋ねていません:
- シンボリックリンクとハードリンクの技術的な違い
- それぞれの理論的な長所と短所
これらの質問は、SOの他のスレッドで対処されています。特定のケースで関連するシステムユーティリティのグループについて異なる決定が行われた理由を理解しようとしています。技術的には、それらはすべてシンボリックリンクまたはハードリンクである可能性があり、両方のオプションが機能します(どちらの場合も、プログラムはを介してどのように呼び出されたかを把握できますargv[0]
)。ここに意図があれば理解したいと思います。
関連:
/bin
て、私の3番目の列ls -lai
は常にな1
ので、ソフトリンクのみを使用しているようです。どのディストリビューションを使用していますか?