Я розумію технічну різницю між посиланнями і жорсткими посиланнями, це питання щодо їх використання на практиці, особливо мені цікаво знати, чому обидва використовуються у, здавалося б, подібних умовах: /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
завжди є,1
тому, здається, використовується лише м'яка посилання. Який дистрибутив ви використовуєте?