Herausfinden, welcher Nicht-Symlink-Pfad wäre?

1767
David Mackintosh

Wenn ich unter Linux herumgekommen bin und jetzt in einem Verzeichnis bin, gibt es eine Möglichkeit, herauszufinden, wie der tatsächliche Pfad zu diesem Verzeichnis lautet, wenn ich nicht einen symbolischen Link verwendet hätte, um dorthin zu gelangen?

Erwägen:

$ pwd /home/dave/tmp $ mkdir -p 1/2/3/4/5 $ ln -s 1/2/3/4/5 5 $ cd 5 $ pwd  /home/dave/tmp/5 

Oder:

$ pwd /home/dave/tmp $ mkdir -p 1/2/3/4/5 $ ln -s 1/2/3/4 4 $ cd 4/5 $ pwd  /home/dave/tmp/4/5 

Gibt es eine Möglichkeit herauszufinden, dass / home / dave / tmp / 5 wirklich / home / dave / 1/2/3/4/5 ist?

10

3 Antworten auf die Frage

13
jtbandes

Für die Verwendung mit cdverwenden pwd -P:

$ pwd /home/dave/tmp $ mkdir -p 1/2/3/4/5 $ ln -s 1/2/3/4/5 5 $ cd 5 $ pwd  /home/dave/tmp/5 $ pwd -P /home/dave/tmp/1/2/3/4/5 

Verwenden Sie für generische symbolische Links readlink:

$ cd .. $ readlink 5 1/2/3/4/5 

Oder ls -l(mit -dfür Verzeichnisse):

$ ls -ld 5 lrwxr-xr-x 1 dave staff 9 Jul 24 10:10 5 -> 1/2/3/4/5 
Die readlink -f -Datei gibt den nicht symbolisch verknüpften Pfad zu dieser Datei zurück. Vielen Dank! David Mackintosh vor 15 Jahren 0
huh, ich hatte immer / bin / pwd benutzt, da es nicht wissen kann, wo es hingehört, im Gegensatz zur eingebauten pwd-Shell. Offensichtlich entspricht pwd -P. Peter Cordes vor 14 Jahren 1
ls -lda funktioniert aus irgendeinem Grund nicht für versteckte Sym-Links Casebash vor 14 Jahren 0
2
Ryan Thompson

Sie möchten entweder readlink -f(in coreutils standardmäßig installiert) oder die leichter zu merkenden realpath, die Sie installieren müssen.

0
Lakshman Prasad

Eine alternative Methode, die ich verwendet habe,

cd to the symlink Ctrl+Shift+T #To open a new tab pwd 

Neuer Tab pwd, gibt den Symlink. ;)

Entschuldigung, welche Shell, welcher Window-Manager oder Terminal wird hier verwendet? David Mackintosh vor 15 Jahren 0
Ich denke er spricht von Gnom-Terminal prestomation vor 14 Jahren 0
Ja, ich habe über das Gnome Terminal gesprochen. Lakshman Prasad vor 14 Jahren 0