Ln: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Zeile 12: Zeile 12:


== Syntax ==
== Syntax ==
ln [OPTION]… [-T] ZIEL LINKNAME
<syntaxhighlight lang="bash" line>
ln [OPTION]… ZIEL
ln [OPTION]… [-T] ZIEL LINKNAME
ln [OPTION]… ZIEL… VERZEICHNIS
ln [OPTION]… ZIEL
ln [OPTION]… -t VERZEICHNIS ZIEL…
ln [OPTION]… ZIEL… VERZEICHNIS
ln [OPTION]… -t VERZEICHNIS ZIEL…
</syntaxhighlight>


; 1. Form
1. Einen Link (Verknüpfung) namens LINKNAME auf ZIEL erstellen
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
; 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.
* 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.
* In der Voreinstellung dürfen alle Ziele (Namen des neuen Links) noch nicht exisitieren.
* Beim Erzeugen von harten Links muss jedes ZIEL 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.
* Bei symbolischen Links kann dagegen beliebiger Text stehen; bei späterer Auflösung wird ein relativer Link bezogen auf sein Elternverzeichnis interpretiert.


=== Optionen ===
=== Optionen ===
Zeile 91: Zeile 88:
== Anwendung ==
== Anwendung ==
=== Links auflisten ===
=== Links auflisten ===
* Softlinks haben den Buchstaben '''l''' im '''File Mode String'''
Softlinks haben den Buchstaben '''l''' im '''File Mode String'''
* Man kann die Nummer an Hardlinks zu einer Datei an der zweiten Spalte sehen.
 
Man kann die Nummer an Hardlinks zu einer Datei an der zweiten Spalte sehen
<syntaxhighlight lang="bash" line>
  '''$ ls -l PFAD'''
  '''$ ls -l PFAD'''
  '''l'''rwxrwxrwx 1 user user 8 Okt 15 10:31 SOFTLINK -> ZIEL
  '''l'''rwxrwxrwx 1 user user 8 Okt 15 10:31 SOFTLINK -> ZIEL
  -rw-r--r-- '''2''' user user 1049 Okt 15 10:31 HARDLINK
  -rw-r--r-- '''2''' user user 1049 Okt 15 10:31 HARDLINK
</syntaxhighlight>


=== Informationen Datei anzeigen ===
=== Informationen Datei anzeigen ===
<syntaxhighlight lang="bash" line>
  $ '''stat HARDLINK'''
  $ '''stat HARDLINK'''
  Datei: HARDLINK
  Datei: HARDLINK
Zeile 107: Zeile 108:
  Geändert : 2020-11-05 13:52:52.985447984 +0100
  Geändert : 2020-11-05 13:52:52.985447984 +0100
  Geburt : -
  Geburt : -
</syntaxhighlight>


<syntaxhighlight lang="bash" line>
  $ '''stat SOFTLINK'''
  $ '''stat SOFTLINK'''
  Datei: SOFTLINK -> ZIEL
  Datei: SOFTLINK -> ZIEL
Zeile 116: Zeile 119:
  Modifiziert: 2020-10-15 10:31:48.896869554 +0200
  Modifiziert: 2020-10-15 10:31:48.896869554 +0200
  Geändert : 2020-10-15 10:31:48.896869554 +0200
  Geändert : 2020-10-15 10:31:48.896869554 +0200
</syntaxhighlight>


=== Anwendung von ln ===
=== Anwendung von ln ===
Die allgemeine Syntax für ln lautet:
Die allgemeine Syntax für ln lautet
<syntaxhighlight lang="bash" line>
  $ ln [OPTION]... ZIEL VERKNÜPFUNGSNAME
  $ ln [OPTION]... ZIEL VERKNÜPFUNGSNAME
</syntaxhighlight>


Man kann auch mehrere Dateien in ein Verzeichnis verlinken:
Man kann auch mehrere Dateien in ein Verzeichnis verlinken
$ ln [OPTION]... ZIELE... LINKVERZEICHNIS
<syntaxhighlight lang="bash" line>
$ ln [OPTION]... ZIELE... LINKVERZEICHNIS
</syntaxhighlight>


=== Softlink ===
=== Softlink ===
Zeile 129: Zeile 137:
* Verweist auf Dateien und Verzeichnisse.
* Verweist auf Dateien und Verzeichnisse.
* Zeigt ins leere, wenn das Ziel gelöscht wird.
* Zeigt ins leere, wenn das Ziel gelöscht wird.
 
<syntaxhighlight lang="bash" line>
  $ '''ln -s Test.txt Verknüpfung_mit_Test.txt'''
  $ '''ln -s Test.txt Verknüpfung_mit_Test.txt'''
</syntaxhighlight>


=== Hardlink ===
=== Hardlink ===
Zeile 136: Zeile 145:
* Ein Hardlink referenziert über eine inode.
* Ein Hardlink referenziert über eine inode.
* Verweist nur auf Dateien der gleichen Partition.
* Verweist nur auf Dateien der gleichen Partition.
 
<syntaxhighlight lang="bash" line>
  $ ln Test.txt Verknüpfung_mit_Test.txt
  $ ln Test.txt Verknüpfung_mit_Test.txt
  $ cp -l Test.txt Verknüpfung_mit_Test.txt
  $ cp -l Test.txt Verknüpfung_mit_Test.txt
</syntaxhighlight>


<noinclude>
== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
Zeile 149: Zeile 159:
=== Dokumentation ===
=== Dokumentation ===
# https://www.gnu.org/software/coreutils/ln
# https://www.gnu.org/software/coreutils/ln
===== Man-Pages =====
===== Man-Pages =====
# LN(1)
# LN(1)
===== Info-Pages =====
===== Info-Pages =====
# info '(coreutils) ln invocation'
# info '(coreutils) ln invocation'
==== Links ====
==== Links ====
===== Einzelnachweise =====
===== Projekt =====
===== Projekt =====
===== Weblinks =====
===== Weblinks =====
Zeile 165: Zeile 170:
# https://www.howtoforge.de/anleitung/linux-ln-befehl-tutorial-fuer-anfaenger-5-beispiele/
# https://www.howtoforge.de/anleitung/linux-ln-befehl-tutorial-fuer-anfaenger-5-beispiele/
# https://wiki.archlinux.de/title/Ln
# https://wiki.archlinux.de/title/Ln
<noinclude>


[[Kategorie:Linux/Datei/Link]]
[[Kategorie:Linux/Datei/Link]]

Version vom 27. September 2024, 16:11 Uhr

ln (link) - Verknüpfungen erstellen

Beschreibung

Erzeugt links zwischen Dateien

Verfügbarkeit

ln ist Teil der GNU_Core_Utilities, 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) 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'''
 '''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