Je comprends la différence technique entre les liens symboliques et les liens durs, c'est une question sur leur utilisation dans la pratique, en particulier je suis curieux de savoir pourquoi les deux sont utilisés dans des conditions apparemment similaires: l' /bin
annuaire.
Voici un fragment de sa liste sur mon système:
~$ 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
J'ai indenté les liens physiques vers le même inode pour une meilleure visibilité. Ainsi , sont utilisés dans le cas des liens symboliques de bzcmp
, bzegrep
, bzfgrep
, bzless
et en cas de liens en dur bzip2
, bzcat
, bunzip2
?
Ce sont tous des fichiers normaux (pas des répertoires), résident dans un système de fichiers, sont des utilitaires système et sont même conçus pour fonctionner avec la même chose: les archives bzip. Les raisons d'utiliser des liens physiques / liens symboliques dans ce cas particulier sont-elles purement historiques ou manque-t-il quelque chose?
Clarification de ma question:
Je ne demande pas :
- Les différences techniques entre les liens symboliques et les liens durs
- Les avantages et inconvénients théoriques de chacun d'eux
Ces questions ont été traitées dans d'autres discussions sur SO. J'essaie de comprendre pourquoi différentes décisions ont été prises dans un cas spécifique: pour un groupe d'utilitaires système connexes. Techniquement, ils auraient tous pu être des liens symboliques ou tous des liens physiques, les deux options fonctionneraient (et dans les deux cas, un programme peut toujours comprendre comment il a été invoqué via argv[0]
). Je veux comprendre l'intention ici s'il y en a.
En relation:
/bin
troisième colonnels -lai
est toujours1
ainsi il semble n'utiliser que des liens souples. Quelle distribution utilisez-vous?