Rozumiem różnicę techniczną między dowiązaniami symbolicznymi i dowiązaniami twardymi, jest to pytanie o ich użycie w praktyce, szczególnie jestem ciekawy, dlaczego oba są używane w pozornie podobnych warunkach: /bin
katalogu.
Oto fragment jego wykazu w moim systemie:
~$ 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
Wciągnąłem hardlink do tego samego i-węzła dla lepszej widoczności. Więc są dowiązania stosowane w przypadku bzcmp
, bzegrep
, bzfgrep
, bzless
i hardlinki w przypadku bzip2
, bzcat
, bunzip2
?
Wszystkie są zwykłymi plikami (nie katalogami), znajdują się w jednym systemie plików, są narzędziami systemowymi, a nawet zostały stworzone do pracy z tym samym: archiwami bzip. Czy powody korzystania z linków / dowiązań symbolicznych w tym konkretnym przypadku mają charakter wyłącznie historyczny, czy czegoś brakuje?
Wyjaśnienie mojego pytania:
Ja nie pytając o:
- Różnice techniczne między dowiązaniami symbolicznymi i dowiązaniami stałymi
- Teoretyczne zalety i wady każdego z nich
Te pytania zostały poruszone w innych wątkach na SO. Próbuję zrozumieć, dlaczego w konkretnej sprawie podjęto różne decyzje: dla grupy powiązanych narzędzi systemowych. Technicznie rzecz biorąc, wszystkie mogły być dowiązaniami symbolicznymi lub wszystkie mogły być dowiązaniami stałymi, obie opcje działałyby (w obu przypadkach program nadal może dowiedzieć się, w jaki sposób jest wywoływany argv[0]
). Chcę zrozumieć zamiar tutaj, jeśli istnieje.
Związane z:
/bin
trzeciej kolumniels -lai
jest zawsze,1
więc wydaje się, że używam tylko miękkich linków. Jakiej dystrybucji używasz?