Tous ceux qui étaient habitués à Windows peuvent imaginer ce que sont les liens symboliques et comment ils sont utilisés. En revanche, le concept de lien dur est étranger à Windows (ai-je raison?).
Je voudrais savoir quelles sont les utilisations typiques des liens durs sous Linux. J'ai déjà vu différents articles décrivant la différence dans leur fonctionnement. Ce que je demande, c'est quelles sont les situations typiques où un utilisateur serait mieux d'utiliser des liens durs au lieu de liens symboliques?
symbolic-link
hard-link
Faire
la source
la source
Réponses:
J'utilise un lien dur où j'ai besoin d'un seul fichier à deux endroits ou plus, je prédis qu'un jour je voudrai supprimer l'un des emplacements, et j'oublierai peut-être que j'ai un lien vers le fichier. Cela m'empêche de me retrouver avec un lien symbolique vers un fichier qui n'existe plus.
Clarification:
Un nom de fichier est en fait un lien dur vers le fichier. Ainsi, chaque fichier a au moins un lien dur, ce que nous considérons normalement comme "le" nom de fichier. Lorsque vous supprimez un fichier, vous supprimez en fait son lien dur (d'où le nom "supprimer", c'est
rm
-à- dire plutôt que "supprimer"). Lorsqu'un fichier a son dernier lien dur supprimé, le système supprime également le fichier.la source
Les liens durs permettent ...
un seul exécutable pour avoir plus d'un nom.
Exemple:
ls -l /bin | grep -v ' 1 ' | sort
énumérera ceux/bin
pour vous. Résultat ...Au lieu de 3 fichiers, bunzip2 bzcat et bzip2 utilisent le même fichier et à l'intérieur du fichier, la distinction est faite à quoi faire. Enregistre le code et moins de code signifie moins de bogues possibles et une maintenance plus facile.
un seul fichier accessible par plusieurs chemins.
Prenons par exemple un gestionnaire de packages, qui crée un répertoire / usr / share / doc / $ packagename pour chaque package installé et à l'intérieur de ce répertoire un fichier appelé LICENSE avec les informations de licence du package. De nombreux packages sur un système Linux typique sont sous licence GPL, donc au lieu d'avoir 200 copies de la GPL sur le système de fichiers, il ne peut y avoir qu'une seule copie et 199 liens. ptman @ Serverfault
La raison pour laquelle les liens durs fonctionnent ici (et ceux qui ne le sont pas): la suppression d'un seul des liens durs ne supprime pas le fichier lui-même.
la source
mv
) est un copy (cp
) + un remove (rm
)." Cela n'est vrai que lorsque la source et la destination se trouvent sur des supports différents. Sinon, amv
déplace uniquement le nom, pas le fichier.mv
change uniquement le nom; l'inode reste le même.