Ich verstehe nicht ganz, warum das Nachdenken über dieses einfache Problem so komplex sein muss - aber vielleicht habe ich die Frage einfach falsch verstanden. Sowieso: als ich eine ähnliche Funktionalität benötigte, verwendete ich:
ls -lL
Das hat in meinem Fall den Trick getan. Von der ls
Manpage:
-L, --dereference
when showing file information for a symbolic link,
show information for the file the link references
rather than for the link itself
Zum Beispiel habe ich mir eine /media/stick
Verknüpfung erstellt, um auf die Daten auf meinem USB-Stick zuzugreifen. ls -l /media/stick
zeigt den aktuellen Link an, während ls -lL /media/stick
der Inhalt auf dem USB-Stick angezeigt wird.
Nach einigen gründlichen Nachforschungen über den Unterschied zwischen dem Innenleben von -H
und -L
bin ich schließlich auf einen ausgezeichneten Artikel zu diesem Thema im Shallow Thoughts- Blog gestoßen (der Ihnen sogar einige nette Shell-Skript-Tricks bietet!).
Dies zeigt die subtilen Unterschiede zwischen den beiden Optionen (viel besser als das ursprüngliche Handbuch!) Wie folgt:
-H
- Nur die in der Befehlszeile explizit genannten Links dereferenzieren
-L
- Dereferenzierung von Links, auch wenn diese in der Befehlszeile nicht erwähnt werden
(Wenn diese beiden bei einfachen alltäglichen Aufgaben verwendet werden, sollte es im Allgemeinen keinen Unterschied in der Ausgabe geben.)
Außerdem: Wenn Sie sich lieber an die lange Form ( --option
) erinnern möchten , ist es höchstwahrscheinlich weniger umständlich, sie sich zu merken --dereference
als das übermäßig lange Monster von --dereference-command-line-symlink-to-dir
.