Welcher Befehl wird verwendet, um einen symbolischen Link/Softlink zu erstellen?
┌── ln(1) link, ln -- make links
│ ┌── Create a symbolic link.
│ │ ┌── the optional path to the intended symlink
│ │ │ if omitted, symlink is in . named as destination
│ │ │ can use . or ~ or other relative paths
│ │ ┌─────┴────────┐
ln -s /path/to/original /path/to/symlink
└───────┬───────┘
└── the path to the original file/folder
can use . or ~ or other relative paths
$ echo content > original
$ ln -s original symlink
$ ls -la original symlink
-rw-r--r-- 1 grgarside staff 8 28 Jan 18:44 original
lrwxr-xr-x 1 grgarside staff 8 28 Jan 18:44 symlink -> original
$ cat symlink
content
Weitere Informationen zu ln(1) finden Sie auf der Manpage .
Der Pfad zum Symlink ist optional; Wenn weggelassen, wird ln
standardmäßig ein Link mit demselben Namen wie das Ziel im aktuellen Verzeichnis erstellt:
$ cd ~/Documents
$ ln -s ../Pictures
$ ls -l Pictures
lrwxr-xr-x 1 user staff 11 Feb 1 17:05 Pictures -> ../Pictures
Um einen symbolischen Link zu erstellen, um ein Systemverzeichnis zu ersetzen (z. B. wenn Sie /Users
auf ein anderes Laufwerk verweisen möchten), müssen Sie den Systemintegritätsschutz deaktivieren . Sie können es wieder aktivieren, nachdem der Symlink eingerichtet wurde.
Der Befehl heißt ln
. Bei Verwendung mit der Option -s
wird ein symbolischer Link im aktuellen Verzeichnis erstellt:
ln -s /any/file/on/the/disk linked-file
No such file or directory
Fehlermeldung.ls
(aus Gewohnheit) anstelle von ln
! (überprüfen Sie das unbedingt)Ich weiß, dass diese Frage explizit nach dem Terminal fragt, aber wenn Sie sich im GUI Land befinden und Terminal Land nicht betreten möchten, können Sie SymbolicLinker verwenden . Dadurch wird eine Option "Symbolischen Link erstellen" in Ihrem Menü "Dienste" im Finder eingefügt.
Command
+ gedrückt halten, Option
während Sie eine Datei ziehen ... die Antwort wird später aktualisiertEs ist nur ln -s <source> <destination>
.
ln -s /some/dir/ ~/Desktop/dir
Mit demselben Befehl können Sie auch einen symbolischen Link für das Verzeichnis erstellen
ln -s "$(pwd)" ~/Desktop/dir
Um einen Symlink zum aktuellen Verzeichnis zu erstellen, in dem Sie sich befinden.
.
(Punkt) ergibt das pwd. Keine ausgefallenen Argumente nötig :).
das unter macOS nicht funktioniert. hab es noch nicht mit linux probiert. Die Benutzung ./
hat dazu geführt, foo -> ./foo
was auf sich selbst hinweist.Als Hinweis für alle müssen Sie vollständige Pfadnamen verwenden . Das war mir nicht sofort klar, da ich das Gefühl hatte, ich könnte relative Pfade in einem Ordner symbolisieren, in dem ich den Befehl ausführte. Ich könnte mich irren (ich bin ein MacOS-Neuling).
Wenn ich beispielsweise versuche, meinen Bilderordner in meinem Downloads-Ordner zu verlinken, während cd in meinem Benutzer-Home-Verzeichnis ist, funktioniert dies nicht:
Users\stevebauman >_ ln -s Pictures Downloads
Stattdessen müssen Sie Folgendes verwenden:
Users\stevebauman >_ ln -s /Users/stevebauman/Pictures /Users/stevebauman/Downloads
Wenn der Quellpfad nicht relativ zu Ihrem Ziel ist, verwenden Sie einen absoluten Pfad zu Ihrem Quellpfad und setzen Sie ihn in einfache Anführungszeichen
$ ln -s '/any file/could have (special chars)/or spaces/test' '/some/other place/file'
Sie können immer den aktuellen vollständigen Pfad ohne Escapezeichen zu etwas herausfinden, indem Sie zu diesem Ordner im Terminal gehen und dann tippen
$ pwd
Adrian Lynchen
Ewoks
grg
kein Hang
ln -s /Users /Users/myuser/all-users
funktioniert z. B. perfekt. Sie müssen SIP nur deaktivieren, wenn Sie den Symlink in einem SIP-geschützten Ordner erstellen möchten (wie Sie es tun würden, wenn Sie dort einen anderen Verzeichniseintrag erstellen möchten).grg
kein Hang
grg
Eduard Falk
ln -s "This directory is no longer in use" README
wäre vollkommen legitim, und dannls -l
würde jeder Ausführende die Nachricht sehen.Peter W.
Karamba
ln -s ./original/source/ ../path/to/symlink
, also hat der.
Operator die Dinge für mich wirklich durcheinander gebracht, indem er den gesamten Pfad mit~
repariert hat.grg
./original/source/
; Ich würde verwendenoriginal/source
.Tobi Mellor