Toute personne habituée à Windows peut imaginer ce que sont les liens symboliques et comment ils sont utilisés. D'autre part, le concept de lien physique est étranger à Windows (est-ce que j'ai raison?).
J'aimerais savoir quelles sont les utilisations typiques des liens durs sous Linux. J'ai déjà vu différents articles décrivant la différence de fonctionnement. Ce que je demande, c'est quelles sont les situations typiques dans lesquelles un utilisateur aurait intérêt à utiliser des liens physiques au lieu de liens symboliques.
J'utilise un lien physique lorsque j'ai besoin d'un seul fichier à deux endroits ou plus, je prédis qu'un jour je veux supprimer l'un des emplacements et je peux oublier que j'ai un lien vers le fichier. Cela m'empêche de créer un lien symbolique vers un fichier qui n'existe plus.
Clarification:
Un nom de fichier est en fait un lien physique vers le fichier. Ainsi, chaque fichier a au moins un lien dur, ce que nous appelons normalement "le" nom de fichier. En fait, lorsque vous supprimez un fichier, vous supprimez son lien physique (d'où le nom "remove", c'est-à-dire rm
plutôt que "delete"). Lorsqu'un dernier fichier est supprimé de son fichier, le système le supprime également.
Les liens durs permettent ...
un seul exécutable doit avoir plusieurs noms.
Exemple:
ls -l /bin | grep -v ' 1 ' | sort
listera ceux de /bin
pour vous. Résultat ...
-rwxr-xr-x 2 root root 63 2010-01-19 21:49 gunzip
-rwxr-xr-x 2 root root 63 2010-01-19 21:49 uncompress
-rwxr-xr-x 3 root root 26300 2011-12-12 22:40 bunzip2
-rwxr-xr-x 3 root root 26300 2011-12-12 22:40 bzcat
-rwxr-xr-x 3 root root 26300 2011-12-12 22:40 bzip2
Au lieu de 3 fichiers, bunzip2 bzcat et bzip2 utilisent le même fichier. À l'intérieur du fichier, il est distingué quoi faire. Enregistre le code et moins de code signifie moins de bugs possibles et une maintenance plus facile.
un seul fichier accessible par plusieurs chemins.
Prenons l'exemple d'un gestionnaire de packages qui crée un répertoire/usr/share/doc/$ nom_package pour chaque package installé et dans ce répertoire un fichier appelé LICENSE contenant les informations de licence du package. La plupart des paquets d’un système Linux typique sont sous licence GPL. Ainsi, au lieu d’avoir 200 copies de la GPL sur le système de fichiers, il ne peut y avoir qu’une copie et 199 liens. ptman @ Serverfault
La raison pour laquelle les liens physiques fonctionnent ici (contrairement aux liens logiciels): la suppression d’un seul des liens matériels ne supprime pas le fichier lui-même.