Je comprends les différences entre les liens symboliques et durs, mais je n'ai jamais compris pourquoi choisir l'un ou l'autre.
unix
symbolic-link
hardlink
Javier
la source
la source
Réponses:
Cela a été discuté en détail sur ServerFault.
Un lien physique partage traditionnellement les mêmes structures de système de fichiers (inode dans unixspeak), tandis qu'un lien logiciel est une redirection de chemin d'accès.
.
et..
dans les répertoires Unix qui sont des liens durs).(Quelques détails rappelés par mat1t . Merci.)
la source
Ronald a écrit qu'un lien dur peut avoir différentes autorisations à deux endroits. Ça n'est pas correct. Les deux endroits partagent le même inode. Les autorisations sont liées à l'inode, pas au nom de fichier. Ainsi, les liens physiques à deux endroits ont exactement les mêmes autorisations, temps d'accès, ...
la source
les liens symboliques peuvent traverser des systèmes de fichiers, pas les liens durs. Si vous supprimez le fichier d'origine, le lien dur le maintient toujours en vie, pas un lien symbolique.
la source
Un lien dur signifie essentiellement que le fichier vit à deux endroits, il peut avoir des autorisations différentes, vous pouvez le supprimer sur place mais pas à l'autre.
Un lien logiciel n'est qu'un pointeur vers la réalité.
Un lien dur est constitué de deux (ou plusieurs) entrées de répertoire pointant vers le même fichier. Un lien logiciel est une entrée de répertoire pointant vers une autre entrée de répertoire.
la source