Je ne comprends pas très bien pourquoi la réflexion sur ce problème simple doit être si complexe - mais peut-être que je viens de poser la question dans le mauvais sens. Quoi qu'il en soit: lorsque j'avais besoin d'une fonctionnalité similaire, j'utilisais:
ls -lL
Cela a fait l'affaire dans mon cas. Depuis la ls
page de manuel:
-L, --dereference
when showing file information for a symbolic link,
show information for the file the link references
rather than for the link itself
Par exemple, je me suis fait un /media/stick
raccourci pour accéder aux données de ma clé USB. ls -l /media/stick
affichera le lien réel, tandis que ls -lL /media/stick
montrera le contenu sur la clé USB.
Après des recherches plus approfondies sur la différence entre le fonctionnement interne de -H
et -L
, j'ai finalement trouvé un excellent article à ce sujet sur le blog Shallow Thoughts (même avec quelques astuces de script shell pour votre plaisir!)
Cela souligne les différences subtiles entre les deux options (bien mieux que le manuel d'origine!) Comme suit:
-H
- ne déréférencer que les liens explicitement mentionnés sur la ligne de commande
-L
- déréférencer les liens même s'ils ne sont pas mentionnés sur la ligne de commande
(Lorsque ces deux éléments sont utilisés avec des tâches quotidiennes simples , il ne devrait y avoir aucune différence dans la sortie en général.)
En outre: si vous préférez vous souvenir de la forme longue ( --option
), il est probablement moins lourd à mémoriser --dereference
que le monstre excessivement long de --dereference-command-line-symlink-to-dir
.