Я понимаю техническое различие между символическими и жесткими ссылками, это вопрос об их использовании на практике, особенно мне интересно знать, почему оба они используются в, казалось бы, похожих условиях: /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
Я выделил жесткие ссылки на тот же индекс для лучшей видимости. Так символические ссылки используются в случае bzcmp, bzegrep, bzfgrep, bzlessи жестких ссылок в случае bzip2, bzcat, bunzip2?
Все они являются обычными файлами (не каталогами), находятся внутри одной файловой системы, являются системными утилитами и даже созданы для работы с одной и той же вещью: архивами bzip. Являются ли причины использования жестких ссылок / символических ссылок в данном конкретном случае чисто историческими или я что-то упустил?
Уточнение моего вопроса:
Я не спрашиваю о:
- Технические различия между символическими и жесткими ссылками
- Теоретические преимущества и недостатки каждого из них
Эти вопросы были рассмотрены в других темах на SO. Я пытаюсь понять, почему разные решения были приняты в конкретном случае: для группы связанных системных утилит. Технически, все они могли быть символическими ссылками или жесткими ссылками, оба варианта работали бы (и в обоих случаях программа все еще может выяснить, как она вызывается через argv[0]). Я хочу понять намерение здесь, если таковые имеются.
Связанные с:
/binтретьем столбцеls -laiвсегда1используется только мягкие ссылки. Какой дистрибутив вы используете?