Symbolischen Link erstellen |
Ein Symbolischer Link (auch Symlink oder Soft-Link genannt) ist ein Verzeichniseintrag in einem Dateisystem, der auf einen anderen Verzeichniseintrag verweist. Dabei kann es sich sowohl um Verweise auf Verzeichnisse als auch Dateien handeln. | ||
Beispiel: | ||
linuxwiki.de:~# cd /usr/src linuxwiki.de:/usr/src# ln -s linux-2.4.18 linux linuxwiki.de:/usr/src# ls -l linux lrwxrwxrwx 1 root root 9 Mär 24 12:26 linux -> linux-2.4.18 |
||
Tipp: | ||
Wer sich nicht die Argumentreihenfolge merken kann, merkt sich einfach, dass es wie beim cp-Befehl ist | ||
Wenn es symbolische Links gibt, gibt es natürlich auch nicht-symbolische, die heißen dann Hard-Links | ||
Tipp: | ||
Um existente Links zu überschreiben, verwendet man die Optionen -nfs (no-follow, force,overwrite, symbolic). Angenommen, "foo" verweist auf das Directory "bar", und wir wollen, daß "foo" auf "baz" verweist, dann erzeugt nämlich das Kommando "ln -s baz foo" einen neuen Link in "bar" ("bar/baz ==> baz"). "ln -nfs bar foo" dagegen verbiegt den Link auf "baz", wie gewünscht ("foo ==> baz") | ||
Tipp: | ||
readlink liefert die Datei, auf die der Link zeigt (das gibt es übrigens auch als Funktion für Programme) | ||
Tipp: | ||
Programmierer können mit der Funktion "lstat" die Daten eines Links abfragen. "stat" verfolgt nämlich den Link automatisch und liefert die Daten des Eintrags, auf den ein Link verweist | ||
Anmerkung: | ||
Unter Windows-Dateisystemen gibt es sowas bisher nicht, deshalb musste dort auch eine Krücke via *.lnk-Dateien gemacht werden, um etwas ähnliches zu erreichen. Allerdings ermöglicht das frei erhältliche Programm "Junction" Windows-Nutzern die Verwendung von Symlinks auf NTFS-Partitionen wenigstens für Verzeichnisse. Weitere Infos: https://technet.microsoft.com/de-de/sysinternals/bb896768.aspx |