Der ln-Befehl wird verwendet, um einen Link zu einer Datei zu erstellen. Das Verknüpfen ermöglicht es einem Dateinamen in einem Verzeichnis (dem Link), auf eine Datei in einem anderen Verzeichnis (dem Ziel) zu verweisen. Ein Link enthält keine eigenen Daten, sondern nur einen Verweis auf die Zieldatei. Alle Änderungen am Link werden in der Zieldatei wiedergegeben. Wenn Sie den Linknamen nicht angeben, erstellt der Befehl ln den Link in Ihrem aktuellen Arbeitsverzeichnis.
Syntax
Die Syntax des ln-Befehls lautet:
# ln [options] {target name} [link name]
ln-Befehlsoptionen
Der ln-Befehl hat verschiedene Optionen. Einige der häufig verwendeten Optionen sind in der folgenden Tabelle aufgeführt.
Option | Früher |
---|---|
–Sicherung | Vorhandene Zieldateien sichern. |
-f | Vorhandene Zieldateien entfernen. |
-s | Erstellen Sie symbolische Links anstelle von harten Links. -i Aufforderung zum Entfernen von Zieldateien. |
-v | Den Namen einer Datei vor dem Verknüpfen ausgeben. |
Arten von Links
Mit dem Befehl ln können Sie zwei Arten von Links erstellen:harte und symbolische (weiche). Feste und symbolische Links sind ein Merkmal des Dateisystems und in den meisten von Linux unterstützten Dateisystemen üblich. Die Dateisysteme ext2, ext3, ext4 und XFS unterstützen alle feste und symbolische Links.
Harte Links
Ein harter Link ist ein Verweis auf eine andere Datei; Dadurch können die Daten der Datei mehr als einen Namen an verschiedenen Orten im selben Dateisystem haben. Anwendungen behandeln einen festen Link als echte Datei. Wenn die Originaldatei gelöscht wird, nachdem ein fester Link erstellt wurde, sind alle Inhalte weiterhin in der verknüpften Datei verfügbar. Dies liegt daran, dass der Inode eines Hardlinks mit seinem Ziel identisch ist; mit anderen Worten, es zeigt auf dasselbe Objekt im Dateisystem. Harte Links können nicht zwischen zwei Verzeichnissen erstellt werden, noch können sie zwischen zwei Dateien in unterschiedlichen Dateisystemen erstellt werden.
Soft Links (Symbolische Links)
Ein symbolischer Link ist ein Verweis auf eine Datei oder ein Verzeichnis, das sich über mehrere Dateisysteme erstrecken kann. Wenn die ursprüngliche Datei oder das ursprüngliche Verzeichnis gelöscht wird, nachdem ein symbolischer Link erstellt wurde, geht der ursprüngliche Inhalt verloren. Dies liegt daran, dass sich der Inode eines symbolischen Links von seinem Ziel unterscheidet; mit anderen Worten, es zeigt auf ein anderes Objekt im Dateisystem. Ein symbolischer Link wird auch als Softlink bezeichnet.
Beispiele für Links
Das Folgende ist ein Beispiel für die Erstellung eines Hardlinks mit dem Befehl ln, wobei /backup/backup-report das Ziel des Links und ~/backup-report der Link selbst ist:
$ ln /backup/backup-report ~/backup-report
Das Folgende ist ein Beispiel dafür, aber es wird ein symbolischer Link anstelle eines harten Links erstellt:
$ ln -s /backup/backup-report ~/backup-report
ln-Befehlsbeispiele
1. So erstellen Sie einen Link zu einer bestehenden Datei:
# ln file.txt file.ln
2. So erstellen Sie einen Softlink für die vorhandene Datei:
# ln -s file.txt file.ln
3. So erstellen Sie eine Sicherungskopie jeder Zieldatei:
# ln --backup file.txt file.bk
4. So erlauben Sie dem Superuser, fest verknüpfte Verzeichnisse zu erstellen:
# ln -d
5. So erstellen Sie die Verknüpfungen, indem Sie die vorhandenen Zieldateien entfernen:
# ln -f # ln --force
6. Um abzufragen, ob die Zieldatei entfernt werden soll:
# ln -i # ln --interactive
7. So erstellen Sie feste Links zu symbolischen Linkreferenzen:
# ln -L # ln --logical
8. Um das Ziel-Symlink-Verzeichnis als Datei zu behandeln:
# ln -n # ln --no-dereference
9. So erstellen Sie feste Links direkt zu symbolischen Links:
# ln -P # ln --physical
10. So erstellen Sie symbolische Links anstelle von harten Links:
# ln -s
11. Um das übliche Backup-Suffix zu überschreiben:
# ln -S # ln --suffix=SUFFIX
12. So geben Sie das Verzeichnis an, in dem das Verzeichnis erstellt werden soll:
# ln -t # ln --target-directory=DIRECTORY
13. Um den Linknamen als normale Datei zu behandeln:
# ln -T # ln --no-target-directory
14. So drucken Sie den Namen jeder verknüpften Datei:
# ln -v # ln --verbose
15. Um die Hilfe für ln zu erhalten:
# ln --help
16. So erhalten Sie die Versionsinformationen:
# ln --version