ln – Hard- und Soft-Links erstellen

Inhaltsverzeichnis

Du solltest Links kennen, um Speicherplatz effizient zu nutzen, Dateizugriffe zu organisieren und Backups oder Systemwartung zu optimieren, ohne unnötige Duplikate zu erzeugen. Hard-Links eignen sich für identische Dateiinhalte auf demselben Dateisystem (z.B. Logs mit mehreren Zugriffspunkten), Soft-Links für flexible Pfadverweise auch über Dateisystemgrenzen (z.B. Konfigurationsdateien bei Migrationen), Kopien (cp) für unabhängige Duplikate (z.B. Backups).

Links können anhand ihrer markierung vor den Berechtigungen mit ls -l erkannt werden. l steht wie man erahnen kann für Links. Wenn man die Inodes einsehen will geht das mit der Option -i.

$ ls -l
lrwxrwxrwx. 1 andy andy   11 18. Dez 10:19  linkname -> /etc/passwd

# Einsehen der Inodes
$ ls -li
2092875 lrwxrwxrwx. 1 andy andy   11 18. Dez 10:19  linkname -> /etc/passwd

Hard Links verweisen direkt auf denselben Inode – Änderungen der Links ändern die verlinkte Datei. Diese Funktionsweise versteht man wenn man weiß, dass Verzeichnisse Dateien sind welche Name der enthaltenen Dateien in führen, die wiederum Inodes zugeordnet sind. Somit können mehrere Namen auf einen Inode zeigen. Da eine Inode-Nummer auf verschieden Partitionen vorkommen kann, kann keine eindeutige Zuordnung erfolgen, was wie oben erwähnt dazu führt, dass nicht über Dateisysteme mit Hard-Links verknüpft werden kann.

  • ln datei hardlink erstellt einen Hard Link; beide teilen Inode, Größe und Inhalt – prüfe mit ls -li.
ln datei.txt hardlink.txt
ls -li datei.txt hardlink.txt

Verwende sie für Speicherspareffizienz bei großen, unveränderlichen Daten wie Binärdateien.

Soft Links sind Verknüpfungen zu Pfaden, die ungültig werden, wenn das Ziel fehlt.

  • ln -s ziel softlink erstellt einen symbolischen Link; ideal für Verzeichnisse oder Pfadänderungen.
ln -s /etc/passwd symlink.txt
# Wenn ein Link bereits existiert kann im Force-Mode mit -f der Link überschrieben werden
ln -sf /etc/passwd symlink.txt

ls -l symlink.txt

Nutze sie für flexible Strukturen wie NFS-Mounts oder Paket-Upgrades.

MethodeSpeicherbedarfVerhalten bei ÄnderungGrenzen
Hard LinkKein ExtraSynchronGleiches Dateisystem
Soft LinkMinimalKann brechenÜber FS-Grenzen möglich
Kopie (cp)VollständigUnabhängigKeine

Nutze Hard Links für Daten-Duplikate, Soft Links für Umleitungen und cp für Isolation.

Link-Farmen mit cp-Optionen anlegen

Mit dem Kommando cp -l kannst du eine sogenannte Link-Farm erstellen, bei der die angegebenen Dateien nicht tatsächlich kopiert werden, sondern stattdessen harte Links auf die Originaldateien angelegt werden. Das bedeutet, dass alle Dateien physisch nur einmal auf der Festplatte gespeichert bleiben und somit nur einen einzigen Platzverbrauch haben, was besonders bei großen Dateihierarchien vorteilhaft ist.

In Analogie zu cp -l erstellt cp -s Link-Farmen mit symbolischen Links, die jedoch nicht so effizient sind wie harte Links, da sie Pfadabhängigkeiten haben und bei gelöschten Originalen ungültig werden. cp -a kopiert komplette Dateihierarchien erhalten, inklusive symbolischer Links als solche, was für genaue Abbilder ideal ist. Mit cp -L werden symbolische Links beim Kopieren durch die tatsächlichen Zieldateien ersetzt, während cp -P genau das verhindert und die Links beibehält.

cp -l /pfad/zur/original/datei /ziel/linkfarm/
cp -s /pfad/zur/original/datei /ziel/symlinkfarm/
cp -a /quelle/ /ziel/  # Archivkopie mit Links
cp -L /quelle/ /ziel/  # Dereferenzierte Kopie
cp -P /quelle/ /ziel/  # Links dereferenzieren verhindern

Zusammenfassung

Lerne ln definitiv um Hard- und Soft-Links zu beherschen. Sie sind sowohl im RHCSA als auch im LPIC-1 prüfungsrelevant. Hard Links teilen Inodes (speichersparend), Soft Links Pfade (flexibel). Wähle je nach Einsatz: Effizienz oder Unabhängigkeit.

Link-Farmen mit cp -l sparen Platz bei identischen Dateien, eignen sich super für datierte Backups, erfordern aber Vorsicht bei Änderungen, da harte Links zum Original verweisen – kopiere oder nutze smarte Editoren. Symbolische Varianten via cp -s sind flexibler, aber weniger robust, und Optionen wie cp -a, -L oder -P passen das Kopieren von Hierarchien präzise an deine Bedürfnisse an.

Fediverse reactions

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Andreas Moor
Andreas Moor
@blog@andreas-moor.de

Hallo Fediverse, ich bin Andy!

Hier und auf meiner Website findest du mein akkumuliertes Linux-Sysadmin-Wissen, meine kleinen und größeren Projekte und die Tools, die ich nutze.

Viel Spaß beim stöbern, lesen und lernen! 🧑‍💻

236 Beiträge
16 Folgende