Ln: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(41 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' - Kurzbeschreibung
'''ln''' (link) - Verknüpfungen erstellen
 
== Beschreibung ==
== Beschreibung ==
* ln (link) - erzeugt eine Verknüpfung zu einer Datei oder einem Verzeichnis
Erzeugt Links zwischen [[Linux/Datei|Dateien]]
* ln kann zwei Arten von Links erstellen: Soft- und Hardlinks
 
; Verfügbarkeit
''ln'' ist Teil der [[GNU_Core_Utilities|GNU CoreUtilities]], die auf jedem [[GNU-Betriebssystem]] vorhanden sind
 
; Link-Typen
* [[Softlink]]s (Symlinks)
* [[Hardlink]]s


== Installation ==
== Syntax ==
== Syntax ==
<syntaxhighlight lang="bash" line>
ln [OPTION]… [-T] ZIEL LINKNAME
ln [OPTION]… ZIEL
ln [OPTION]… ZIEL… VERZEICHNIS
ln [OPTION]… -t VERZEICHNIS ZIEL…
</syntaxhighlight>
# Einen Link (Verknüpfung) namens LINKNAME auf ZIEL erstellen
# Einen Link auf ZIEL im aktuellen Verzeichnis erstellen
# und
# 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 ===
=== Optionen ===
{|class="wikitable"
{| class="wikitable sortable options"
!Zeichen !! Beschreibung
|-
|-
| <nowiki>-i</nowiki> || fragt vor dem Überschreiben nach
! Unix !! GNU !! Beschreibung
|-
|-
| <nowiki>-s</nowiki> || erzeugt eine symbolische Verknüpfung anstatt eines Hardlinks
| || --backup[=STEUERUNG] || Eine Sicherungskopie von jeder vorhandenen Zieldatei erstellen
|-
|-
| <nowiki>-r</nowiki> || erzeugt - auch bei Angabe absoluter Pfade - eine Verknüpfung mit relativen Pfaden zueinander (setzt -s voraus)
| -b || || Wie --backup, akzeptiert aber kein Argument
|-
|-
| <nowiki>-f</nowiki> || vorhandene mit dem VERKNÜPFUNGSNAMEn gleichnamige Verknüpfungen oder auch Dateien überschreiben
| -d </br> -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.
 
{| class="wikitable options"
|-
! 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 ===
=== Parameter ===
=== Umgebungsvariablen ===
=== Rückgabewert ===
=== Exit-Status ===
 
== Anwendung ==
== Anwendung ==
<code>ls -l</code> Um Dateien, inklusive Softlinks, zu aufzulisten. Softlinks haben den Buchstaben '''l''' im '''File Mode String'''. Man kann die Nummer an Hardlinks zu einer Datei an der zweiten Spalte sehen.
=== Links auflisten ===
'''$ ls -l PFAD'''
<syntaxhighlight lang="bash" highlight="1" line>
'''l'''rwxrwxrwx 1 user user 8    Okt 15 10:31 SOFTLINK -> ZIEL
ls -l PFAD
-rw-r--r-- '''2''' user user 1049 Okt 15 10:31 HARDLINK
lrwxrwxrwx 1 user user    8 Okt 15 10:31 SOFTLINK -> ZIEL
-rw-r--r-- 2 user user 1049 Okt 15 10:31 HARDLINK
</syntaxhighlight>
 
# Softlinks haben den Buchstaben '''l''' im '''File Mode String'''
# Man kann die Nummer an Hardlinks zu einer Datei an der zweiten Spalte sehen
 
=== Informationen anzeigen ===
<syntaxhighlight lang="bash" highlight="1" line>
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 : -
</syntaxhighlight>


<code>stat DATEI</code> Um Informationen einer Datei anzuzeigen.
<syntaxhighlight lang="bash" highlight="1" line>
'''$ stat HARDLINK'''
stat SOFTLINK
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
  Datei: SOFTLINK -> ZIEL
  Größe: 8             Blöcke: 0         EA Block: 4096   symbolische Verknüpfung
  Größe: 8 Blöcke: 0 EA Block: 4096 symbolische Verknüpfung
  Gerät: 802h/2050d     Inode: 12853741   Verknüpfungen: 1
  Gerät: 802h/2050d Inode: 12853741 Verknüpfungen: 1
  Zugriff: (0777/lrwxrwxrwx) Uid: ( 1000/   user)   Gid: ( 1000/   user)
  Zugriff: (0777/lrwxrwxrwx) Uid: ( 1000/ user) Gid: ( 1000/ user)
  Zugriff   : 2020-11-05 09:51:44.570883691 +0100
  Zugriff : 2020-11-05 09:51:44.570883691 +0100
  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:
Allgemeine Syntax
ln [OPTION]... ZIEL VERKNÜPFUNGSNAME  
<syntaxhighlight lang="bash" line>
ln [OPTION]... ZIEL VERKNÜPFUNGSNAME
</syntaxhighlight>


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


=== Softlink ===
=== Softlink ===
* Symbolische Verknüpfungen werden Symlinks, Softlinks oder oft auch nur Verknüpfungen genannt.
Symbolische Verknüpfungen werden Symlinks, Softlinks oder oft auch nur Verknüpfungen genannt.
* Ein Softlink referenziert über einen Dateisystenpfad.
* Ein Softlink referenziert über einen Dateisystenpfad.
* 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>
Bespiel einer symbolischen Verknüpfung:
  $ '''ln -s Test.txt Verknüpfung_mit_Test.txt'''
  ln -s ./Test.txt ./Verknüpfung_mit_Test.txt
</syntaxhighlight>


=== Hardlink ===
=== Hardlink ===
Zeile 68: Zeile 149:
* 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
$ cp -l Test.txt Verknüpfung_mit_Test.txt
</syntaxhighlight>


Beispiel eines Hardlinks:
<noinclude>
ln Test.txt Verknüpfung_mit_Test.txt
 
cp -l Test.txt Verknüpfung_mit_Test.txt
 
 
=== Fehlerbehebung ===
 
== Konfiguration ==
=== Dateien ===
== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
* [[link]](2)
==== Sicherheit ====
* [[symlink]](2)
==== Dokumentation ====
{{Special:PrefixIndex/ln}}
===== RFC =====
 
=== Dokumentation ===
# https://www.gnu.org/software/coreutils/ln
===== Man-Pages =====
===== Man-Pages =====
# LN(1)
===== Info-Pages =====
===== Info-Pages =====
# info '(coreutils) ln invocation'
==== Links ====
==== Links ====
===== Einzelnachweise =====
<references />
===== Projekt =====
===== Projekt =====
===== Weblinks =====
===== Weblinks =====
Zeile 96: Zeile 174:
# 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>
=== Testfragen ===
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>


[[Kategorie:Linux/Datei/Link]]
[[Kategorie:Linux/Datei/Link]]
Zeile 126: Zeile 181:
{{DEFAULTSORT:ln}}
{{DEFAULTSORT:ln}}
{{DISPLAYTITLE:ln}}
{{DISPLAYTITLE:ln}}
= TMP =
== BEZEICHNUNG ==
ln - Links (Verknüpfungen) zwischen Dateien erstellen
== ÜBERSICHT ==
ln [OPTION]… [-T] ZIEL LINKNAME
ln [OPTION]… ZIEL
ln [OPTION]… ZIEL… VERZEICHNIS
ln [OPTION]… -t VERZEICHNIS ZIEL…
== BESCHREIBUNG ==
In der 1. Form: Einen Link (Verknüpfung) namens LINKNAME auf ZIEL erstellen. In der 2. Form:
Einen Link auf ZIEL im aktuellen Verzeichnis erstellen. In der 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.
Die obligatorischen Argumente für Optionen sind für deren Kurz- und Langform gleich.
--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 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. Mögliche Werte sind:
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.
== SIEHE AUCH ==
# link(2)
# symlink(2)
Vollständige Dokumentation unter: <https://www.gnu.org/software/coreutils/ln>
oder lokal verfügbar mit: info '(coreutils) ln invocation'
# LN(1)


</noinclude>
</noinclude>

Aktuelle Version vom 29. September 2024, 09:15 Uhr

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

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
  1. Softlinks haben den Buchstaben l im File Mode String
  2. Man kann die Nummer an Hardlinks zu einer Datei an der zweiten Spalte sehen

Informationen 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

Allgemeine Syntax

ln [OPTION]... ZIEL VERKNÜPFUNGSNAME

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