Man sollte hier vorsichtig sein: Wenn ls oder stat keinen absoluten Pfad anzeigen - der Link hat keinen absoluten Pfad! Das ist esp. wichtig, wenn das Gerät z. B. in einem anderen Kontext montiert ist (z. B. wenn Sie etwas auf einer CD oder einem USB-Stick haben oder versuchen, eine defekte Festplatte wiederherzustellen). Alle genannten Lösungen (realpath, readlink, ....) zeigen nur den absoluten Pfad im gemounteten Kontext.
Flolo
Antworten:
224
realpathist nicht für alle Linux-Varianten verfügbar, readlinksollte es aber sein.
readlink -f symlinkName
Das Obige sollte den Trick machen.
Wenn Sie keines der oben genannten Programme installiert haben, können Sie alternativ Folgendes tun, wenn Sie Python 2.6 (oder höher) installiert haben
man realpathzeigt unten, dass es Teil von "GNU coreutils" ist, was ich mir ziemlich sicher bin, dass es immer auf Ubuntu läuft. Obwohl @IanStapletonCordasco sagt, dass " realpathnicht für alle Linux- Varianten verfügbar ist", sollte es zumindest für alle verfügbar sein Ich glaube, die Aromen von Ubuntu und Ubuntu-Derivaten.
Gabriel Staples
10
Unix Aromen -> ll symLinkName
OSX -> readlink symLinkName
Der Unterschied besteht darin, dass der erste Weg den Sym-Link-Pfad blinkend anzeigt und der zweite Weg ihn nur auf der Konsole wiedergibt.
Die Frage bezog sich speziell auf den vollständigen / absoluten Pfad, nicht auf den relativen Pfad (../../file.txt). Beide Antworten geben den relativen Pfad an.
wisbucky
3
Eine andere Möglichkeit, Informationen statanzuzeigen, ist ein Befehl, der weitere Informationen anzeigt. Befehl stat ~/.sshauf meiner Maschinenanzeige
ls kann es ohne Readlink tun; einfach benutzen ls -l. Dies funktioniert auch überhaupt nicht, versucht es für alles im Verzeichnis (keine Links) und wenn Ihr ls für die Verwendung von Farben konfiguriert ist, bricht awk vollständig ab. benutze einfachfind . -maxdepth 1 -type l -ls | awk '{print $11 "\t" $12 "\t" $13}'
Antworten:
realpath
ist nicht für alle Linux-Varianten verfügbar,readlink
sollte es aber sein.Das Obige sollte den Trick machen.
Wenn Sie keines der oben genannten Programme installiert haben, können Sie alternativ Folgendes tun, wenn Sie Python 2.6 (oder höher) installiert haben
quelle
-f
Flag weg und dies funktioniert. dhreadlink symlinkName
realpath <path to the symlink file>
sollte den Trick machen.quelle
man realpath
zeigt unten, dass es Teil von "GNU coreutils" ist, was ich mir ziemlich sicher bin, dass es immer auf Ubuntu läuft. Obwohl @IanStapletonCordasco sagt, dass "realpath
nicht für alle Linux- Varianten verfügbar ist", sollte es zumindest für alle verfügbar sein Ich glaube, die Aromen von Ubuntu und Ubuntu-Derivaten.Unix Aromen ->
ll symLinkName
OSX ->
readlink symLinkName
Der Unterschied besteht darin, dass der erste Weg den Sym-Link-Pfad blinkend anzeigt und der zweite Weg ihn nur auf der Konsole wiedergibt.
quelle
Eine andere Möglichkeit, Informationen
stat
anzuzeigen, ist ein Befehl, der weitere Informationen anzeigt. Befehlstat ~/.ssh
auf meiner MaschinenanzeigeHoffe das kann jemandem helfen.
quelle
Sie können
awk
mit einemsystem
Aufrufreadlink
das Äquivalent einerls
Ausgabe mit vollständigen Symlink-Pfaden abrufen . Beispielsweise:Zeigt zB an
quelle
ls -l
. Dies funktioniert auch überhaupt nicht, versucht es für alles im Verzeichnis (keine Links) und wenn Ihr ls für die Verwendung von Farben konfiguriert ist, bricht awk vollständig ab. benutze einfachfind . -maxdepth 1 -type l -ls | awk '{print $11 "\t" $12 "\t" $13}'