Lister les types de lien - Soft & Hard

Pour lister tous les liens en dur, la commande awk permet de lister les mêmes inodes en récupérant le champs %i de stat :

stat -c '%i %n' * | awk 'Doublon[$1]++' | cut -d ' ' -f 2-

En inversant la commande, uniquement tous les liens symboliques peuvent être listés, (mais ainsi que les répertoires et les fichiers, qui ont leur unique inode):

stat -c '%i %n' * | awk '!Doublon[$1]++' | cut -d ' ' -f 2-

Résumé :

HardLink SoftLink
Accessible en utilisant plusieurs noms Accessible par de nombreuses références pointant vers le fichier originel
Si fichier d’origine supprimé : lien toujours accessible Si fichier d’origine supprimé : lien invalide
N° d’inode simlaire N° d’inode différent
ln fichier nomLien ln -s fichier nomLien
Consomme moins de mémoire Consomme plus de mémoire
Lié qu’à sa propre partition Peut être lié à d’autres systèmes de fichiers et être mis en réseau
Pas de chemin relatif Chemin relatif

Documentation

https://unix.stackexchange.com/questions/167610/determining-if-a-file-is-a-hard-link-or-symbolic-link
https://www.tutorialspoint.com/difference-between-hard-link-and-soft-link
https://stackoverflow.com/questions/16282618/finding-files-that-are-not-hard-links-via-a-shell-script

> Partager <