Ich möchte einen Symlink zum root ( /
) -Ordner in meinem Home-Verzeichnis erstellen . Aber wenn ich das versuche, bekomme ich
~$ ln -s /
ln: failed to create symbolic link './': File exists
Ich kann das natürlich mit Nautilus Ctrl+ machen D, also weiß ich, dass es möglich ist.
Wie geht das mit dem Terminal?
command-line
filesystem
symbolic-link
Ankur S
quelle
quelle
cd /
? Oder möchten Sie einen Link erstellen, der immer wieder eine Schleife durchläuft? Beispiel:cd root/home/terrance/root/home/terrance/root/home/terrance/root
. . . etc.Antworten:
Du vermisst den Namen des Links, es sollte sein:
Was dann einen Symlink namens root in Ihrem Home-Verzeichnis erstellen würde. Die korrekte Verwendung ist also:
Die Fehlermeldung, die angezeigt wird, ist, dass
./
immer eine Verknüpfung vorhanden ist und mit diesem Namen keine Verknüpfung erstellt werden kann. Verwenden Sie am besten denln
Befehl 2 mit beiden Parametern, um eine falsche Verknüpfung zu verhindern.Von
man ln
:Der letzte Parameter ist
<link-name>
standardmäßig der letzte Teil des Ziels. Wenn also das Ziel der Linkname ist,/path/dir
wird dieser standardmäßig verwendet,dir
wenn nichts angegeben wird. 1 Und wenn Sie zum Beispiel erstellen~/etc
mitmkdir ~/etc
und führen Sie dannln -s /etc
in~
den Link nicht erstellen kann , weil der Name / Verzeichnis existiert bereits. 3Und Sie können den in Ihrem Home-Verzeichnis erstellten Link sehen (hier als Beispiel können Sie ihn natürlich beliebig benennen):
1 Danke an @thomasrutter für den Hinweis.
2 Siehe auch
man link
undman symlink
3 Danke an @steeldriver für das Bereitstellen eines Beispiels in Kommentaren.
4 Hervorgehobener Teil, um den Text hervorzuheben, da er für die Frage relevant ist.
quelle
ln -s /etc
funktionieren sollte wie dieser nicht? Vielen Dank für die Antwort,/
root oder eine Pfadkomponente sein kann, sodass das Programm nicht wissen kann, was jetzt gemeint ist./etc
ist nur ein expliziter unterscheidbarer Pfad../
wird es immer geben -./etc
nicht so wahrscheinlich. Versuchen Sie esmkdir etc
zuerst, und dannln -s /etc
- Sie werden auchFile exists
/some/dir
wird dieser standardmäßig verwendet,dir
wenn nichts angegeben wird. Wenn das Ziel jedoch gerecht/
ist, wird dies nicht funktionieren.File Exists
Ausgabe vernünftiger . Nicht, dass es sowieso wichtig wäre, da dies der entartete Fall ist