ln

Aus Foxwiki

ln (link) - Verknüpfungen erstellen

Beschreibung

Erzeugt links zwischen Dateien

Link-Typen
  • Softlinks (Symlinks)
  • Hardlinks
Verfügbarkeit

ln ist Teil der GNU Core Utilities (Coreutils), die auf jedem GNU-Betriebssystem vorhanden sind

Syntax

ln [OPTION]… [-T] ZIEL LINKNAME
ln [OPTION]… ZIEL
ln [OPTION]… ZIEL… VERZEICHNIS
ln [OPTION]… -t VERZEICHNIS ZIEL…
1. Form

Einen Link (Verknüpfung) namens LINKNAME auf ZIEL erstellen.

2. Form

Einen Link auf ZIEL im aktuellen Verzeichnis erstellen.

3. und 4. Form
Links zu jedem ZIEL in VERZEICHNIS erstellen.
  • Standardmäßig werden harte Links erstellt, für symbolische Links ist die Option --symbolic anzugeben.
  • In der Voreinstellung dürfen alle Ziele (Namen des neuen Links) noch nicht exisitieren.
  • Beim Erzeugen von harten Links muss jedes ZIEL existieren.
  • Bei symbolischen Links kann dagegen beliebiger Text stehen; bei späterer Auflösung wird ein relativer Link bezogen auf sein Elternverzeichnis interpretiert.


Optionen

Unix GNU Beschreibung
--backup[=STEUERUNG] Eine Sicherungskopie von jeder vorhandenen Zieldatei erstellen
-b Wie --backup, akzeptiert aber kein Argument
-d, -F --directory Dem Superuser den Versuch erlauben, harte Verknüpfungen für Verzeichnisse anzulegen (Hinweis: Aufgrund von Systembeschränkungen wird dies wahrscheinlich auch für den Superuser fehlschlagen)
-f --force Vorhandene Zieldateien entfernen
-i --interactive Abfrage, ob das Ziel entfernt werden soll
-L --logical ZIELe dereferenzieren, die symbolische Links sind
-n --no-dereference LINKNAME als normale Datei behandeln, falls er ein symbolischer Link auf ein Verzeichnis ist
-P --physical Harte Links direkt auf symbolische Links anlegen
-r --relative erstellt mit -s symbolische Links relativ zum Ort des Links.
-s --symbolic erstellt symbolische Links statt harten Links.
-S --suffix=ENDUNG überschreibt die übliche Endung für Sicherungskopien.
-t --target-directory=VERZEICHNIS VERZEICHNIS angeben, in dem die Links erstellt werden sollen
-T --no-target-directory LINKNAME immer als normale Datei behandeln
-v --verbose Den Namen jeder verlinkten Datei ausgeben
--help zeigt Hilfeinformationen an und beendet das Programm.
--version gibt Versionsinformationen aus und beendet das Programm.

Die obligatorischen Argumente für Optionen sind für deren Kurz- und Langform gleich.

Versionssteuerung

Die Endung für Sicherheitskopien ist »~«, außer wenn sie mit --suffix oder SIMPLE_BACKUP_SUFFIX gesetzt wurde. Die Methode der Versionssteuerung kann mit der Option --backup oder der Umgebungsvariablen VERSION_CONTROL ausgewählt werden.

Versionssteuerung Beschreibung
none, off erstellt niemals Sicherheitskopien (selbst wenn --backup angegeben wurde).
numbered, t erstellt nummerierte Sicherheitskopien.
existing, nil erstellt nummerierte (»numbered«) Sicherheitskopien, wenn solche existieren, sonst einfache (»simple«).
simple, never erstellt immer einfache Sicherheitskopien.

Durch die Verwendung von -s werden -L und -P ignoriert. Andernfalls steuert die zuletzt angegebene Option das Verhalten, wenn ein ZIEL ein symbolischer Link ist, mit der Standardeinstellung -P.

Parameter

Rückgabewert

Anwendung

Links auflisten

  • Softlinks haben den Buchstaben l im File Mode String
  • Man kann die Nummer an Hardlinks zu einer Datei an der zweiten Spalte sehen.
$ ls -l PFAD
lrwxrwxrwx 1 user user 8 Okt 15 10:31 SOFTLINK -> ZIEL
-rw-r--r-- 2 user user 1049 Okt 15 10:31 HARDLINK

Informationen Datei anzeigen

$ stat HARDLINK
Datei: HARDLINK
Größe: 1049 Blöcke: 8 EA Block: 4096 reguläre Datei
Gerät: 802h/2050d Inode: 12853740 Verknüpfungen: 2
Zugriff: (0644/-rw-r--r--) Uid: ( 1000/ user) Gid: ( 1000/ user)
Zugriff : 2020-11-05 13:53:23.065624397 +0100
Modifiziert: 2020-10-15 10:31:30.384742272 +0200
Geändert : 2020-11-05 13:52:52.985447984 +0100
Geburt : -
$ stat SOFTLINK
Datei: SOFTLINK -> ZIEL
Größe: 8 Blöcke: 0 EA Block: 4096 symbolische Verknüpfung
Gerät: 802h/2050d Inode: 12853741 Verknüpfungen: 1
Zugriff: (0777/lrwxrwxrwx) Uid: ( 1000/ user) Gid: ( 1000/ user)
Zugriff : 2020-11-05 09:51:44.570883691 +0100
Modifiziert: 2020-10-15 10:31:48.896869554 +0200
Geändert : 2020-10-15 10:31:48.896869554 +0200

Anwendung von ln

Die allgemeine Syntax für ln lautet:

$ ln [OPTION]... ZIEL VERKNÜPFUNGSNAME

Man kann auch mehrere Dateien in ein Verzeichnis verlinken:

$ ln [OPTION]... ZIELE... LINKVERZEICHNIS

Softlink

  • Symbolische Verknüpfungen werden Symlinks, Softlinks oder oft auch nur Verknüpfungen genannt.
  • Ein Softlink referenziert über einen Dateisystenpfad.
  • Verweist auf Dateien und Verzeichnisse.
  • Zeigt ins leere, wenn das Ziel gelöscht wird.
$ ln -s Test.txt Verknüpfung_mit_Test.txt

Hardlink

  • Ein Hardlink ist ein Eintrag im Dateisystem mit einem Namen, der auf den tatsächlichen Speicherplatz einer Datei zeigt.
  • Ein Hardlink referenziert über eine inode.
  • Verweist nur auf Dateien der gleichen Partition.
$ ln Test.txt Verknüpfung_mit_Test.txt
$ cp -l Test.txt Verknüpfung_mit_Test.txt

Anhang

Siehe auch

Dokumentation

  1. https://www.gnu.org/software/coreutils/ln
Man-Pages
  1. LN(1)
Info-Pages
  1. info '(coreutils) ln invocation'

Links

Einzelnachweise
Projekt
Weblinks
  1. https://de.wikipedia.org/wiki/Ln_(Unix)
  2. https://wiki.ubuntuusers.de/ln/
  3. https://www.howtoforge.de/anleitung/linux-ln-befehl-tutorial-fuer-anfaenger-5-beispiele/
  4. https://wiki.archlinux.de/title/Ln