Muss das Ziel in ln -s ein voller Pfad sein?

1477
fangzhzh

Ich habe versucht, das lnVerzeichnis ~/downloadwie folgt aufzurufen :

ln -s ./abc ~/abc [EDITED] 

aber es geht nicht.
Ich mache ls -alzu Hause und bekomme einen falschen Link von abc.

ln [OPTION]... [-T] TARGET LINK_NAME (1st form) 

Meine Frage hier ist also: lnBenötigt der vollständige Pfad des Ziels? Ich habe keine Dokumente oder Hinweise auf der manSeite gefunden. Wenn ja, wo bekomme ich weitere Informationen?

4
warum willst du hardlinks machen? Sie sind fast nie eine gute Idee. bmargulies vor 12 Jahren 0
Sie fragen nach "ln -s", aber Ihr Beispiel verwendet nur "ln". mit was hast du zu tun? Jonathan Leffler vor 12 Jahren 0
Ich möchte dort einen symbolischen Link machen. vor 12 Jahren 0
@ bmargulies Das stimmt nicht. Sie haben nur unterschiedliche Zwecke. glglgl vor 12 Jahren 1

2 Antworten auf die Frage

5
MPi

Es ist ganz einfach: Sie erstellen einen symbolischen Link ~, der auf ./abc dieses Verzeichnis verweist . Der Pfadname einer symbolischen Verbindung muss im Kontext des Verzeichnisses gültig sein, in dem sie sich befindet¹. Wenn Sie tatsächlich auf die Datei in Ihrem aktuellen Verzeichnis verweisen möchten, müssen Sie den vollständigen Pfad verwenden.


  1. Der Link muss gültig sein, wenn Sie ihn verwenden möchten. Es kann ins Nichts oder auf eine Datei verweisen, die nicht existiert. Das kann eine gute Sache sein, da die Datei möglicherweise schon einmal dort vorhanden war und jederzeit wieder angezeigt werden kann. Der symbolische Link zeigt dann wieder darauf.
2
sarnold

lnkann entweder absolute oder relative Pfadnamen annehmen; Der Unterschied ist für symbolische Links von Belang. Da Sie jedoch nach einem Hardlink gefragt haben, wird er auf dieselbe Weise in dieselbe Datei aufgelöst.

Überprüfen Sie die ls -liAusgabe auf ~/abcund ~/download/abc- Sie sehen, dass die 2Anzahl der Links und die Inode-Nummer für beide Dateien gleich ist.

Entschuldigung, Tippfehler. Ich möchte nur einen symbolischen Link erstellen. Dieses Problem tritt beim Erstellen eines symbolischen Links auf. vor 12 Jahren 0
Ah, dann hat [MPI Ihre Antwort] (http://stackoverflow.com/a/10427564/377270). Bitte nutzen Sie dies als Lernmöglichkeit, um das, was Sie tatsächlich versucht haben, zu kopieren und einzufügen, nicht nur das, was Sie Ihrer Meinung nach versucht haben. :) sarnold vor 12 Jahren 1
Diese Lernmöglichkeit ist wertvoller als "ln" Wissen. vor 12 Jahren 0
Hehe, ich bin froh, dass du so denkst :) sarnold vor 12 Jahren 0