Ich habe versucht, es relativ zum Kennwort zu verwenden, aber es funktioniert nicht.
Mein aktuelles Passwort unterscheidet sich vom Zielpfad und dem ursprünglichen Pfad (von wo aus der Link erstellt werden muss).
Ich kenne das Home-Verzeichnis nicht und kann daher keinen relativen Pfadnamen verwenden. Ein absoluter Pfadname ist nicht erforderlich.
Wie kann ich einen Softlink mit relativem Pfadnamen erstellen?
Antwort1
Ein relativer symbolischer Link ist relativ zu seinem übergeordneten Verzeichnis, d. h. er ist unabhängig vom aktuellen Verzeichnis eines Prozesses oder dem Home-Verzeichnis eines Benutzers.
Wenn beispielsweise /some/dir/link
ein symbolischer Link zu ist ../foo/bar
, dann ist dies ein symbolischer Link zu /some/dir/../foo/bar
( /some/foo/bar
wenn /some/dir
selbst kein symbolischer Link ist), unabhängig davon, was Ihr aktuelles oder Home-Verzeichnis ist.
Wenn Sie einen neuen symbolischen Link zu einer Datei relativ zum aktuellen Verzeichnis erstellen möchten (beispielsweise zu der bin/ls
Datei in Ihrem aktuellen /home/stephane
Verzeichnis), können Sie Folgendes tun (in POSIX-ähnlichen Shells oder fish
):
ln -s -- "$PWD/bin/ls" /some/dir/link
Dadurch wird ein absoluter symbolischer Link (zu /home/stephane/bin/ls
) erstellt. Um einen relativen symbolischen Link zu erstellen, benötigen Sie:
ln -s ../../home/stephane/bin/ls /some/dir/link
(vorausgesetzt /some
und /some/dir
sind selbst keine symbolischen Links)
GNU ln
bietet eine -r
Option, die Ihnen bei der Berechnung dieses Pfades hilft:
ln -rs bin/ls /some/dir/link
(wodurch der gleiche symbolische Link zu erstellt würde ../../home/stephane/bin/ls
).
Antwort2
Sie können symbolische Links mit relativen Pfaden erstellen
Beispiel: (Sie möchten einen symbolischen Link von einem Ordner erstellen , der sich im aktuellen Arbeitsverzeichnis bb
befindet, zu../../bb
mylink
ln -s ../../bb/ mylink
$ ls -lsa mylink
0 lrwxrwxrwx 1 user user 9 Apr 18 15:51 mylink -> ../../bb/
Ein weiteres Beispiel, bei dem sich „mylink“ in einem zugehörigen Ordner befindet fürpwd
mkdir ../../tst
$ ln -s ../../bb/ ../../tst/mylink
$ ls -lsa ../../tst/mylink
0 lrwxrwxrwx 1 user user 9 Apr 18 16:08 ../../tst/mylink -> ../../bb/