ln

Aus Foxwiki

ln (link) - Verknüpfungen erstellen

Beschreibung

Erzeugt links zwischen Dateien

Verfügbarkeit

ln ist Teil der GNU CoreUtilities, die auf jedem GNU-Betriebssystem vorhanden sind

Link-Typen

Syntax

ln [OPTION] [-T] ZIEL LINKNAME
ln [OPTION] ZIEL
ln [OPTION] ZIEL… VERZEICHNIS
ln [OPTION] -t VERZEICHNIS ZIEL…
  1. Einen Link (Verknüpfung) namens LINKNAME auf ZIEL erstellen
  2. . Einen Link auf ZIEL im aktuellen Verzeichnis erstellen
  3. und 4. 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) nicht existieren.
  • 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'''
 '''l'''rwxrwxrwx 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

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