Angenommen, ich habe eine symbolische Verknüpfung einer Datei in meinem Ausgangsverzeichnis mit einer anderen Datei auf einer anderen Partition. Wie würde ich den Zielspeicherort der verknüpften Datei finden? Damit meine ich, sagen wir , ich habe file2
in /home/user/
; aber es ist eine symbolische Verbindung zu einem anderen file1
. Wie würde ich finden, file1
ohne manuell durch jede Partition / jedes Verzeichnis gehen zu müssen, um die Datei zu finden?
20
file1
es einen Symlink gibtfile0
? Möchten Sie das letzte Ziel Ihres Symlinks (file0
) oder nur das nächste Ziel (file1
) finden?Antworten:
Versuche dies :
(letztes Ziel Ihres Symlinks, wenn es mehr als eine Ebene gibt)
Wenn Sie nur die nächste Ebene der symbolischen Verknüpfung wünschen, verwenden Sie:
quelle
user@shell a5$ readlink -f ./student1.java
und ich bekommeuser@shell a5$
readlink /path/file
gibt das nächste Ziel zurück.1.
produzieren
2.
produzieren
3.
produzieren
quelle
Einfachster Weg: Zu der Stelle
cd
, an der sich der symbolische Link befindet, undls -l
zum Auflisten der Details der Dateien.Der Teil rechts
->
nach dem symbolischen Link ist das Ziel, auf das er zeigt.Ex:
Hier haben wir "Link to temp.txt", der auf (
->
) "/home/user/temp.txt" verweist.Aber wie @Gilles Quenot betont, können Sie dies auch einfach tun
readlink -f /path/to/symbolic_link
quelle
Costas erweitern
Angenommen, Sie haben
In einem Skript können Sie tun (Backticks verwenden)
Dann hast du
quelle
Eine andere Methode (die zuvor nicht beantwortet wurde), um Linkdateien zu finden, ist die Verwendung des folgenden Befehls:
Befehl :
Ausgabe :
/ home / prateek / musik: symbolischer link zu / media / prateek / HD-E1 / musik
quelle