table of contents
- trixie 2.41-5
- testing 2.41.3-4
- unstable 2.41.3-4
- experimental 2.42~rc1-1
| HARDLINK(1) | Dienstprogramme für Benutzer | HARDLINK(1) |
BEZEICHNUNG¶
hardlink - mehrere Kopien einer Datei verlinken
ÜBERSICHT¶
hardlink [Optionen] Verzeichnis|Datei …
BESCHREIBUNG¶
hardlink ist ein Werkzeug, das Kopien einer Datei durch harte Links oder Kopieren-beim-Schreiben-Clones (copy-on-write clones) ersetzt und dadurch Platz spart.
hardlink erstellt zunächst einen Binärbaum aus Dateigrößen und vergleicht anschließend den Inhalt von Dateien gleicher Größe. Es gibt zwei grundlegende Methoden zum Vergleichen der Inhalte. Die memcmp-Methode liest Datenblöcke direkt aus den Dateien und vergleicht sie. Die andere Methode basiert auf Checksummen (wie SHA256); in diesem Fall wird für jeden Datenblock die Checksumme mit Hilfe der Crypto-API des Linux-Kernels errechnet und diese Checksumme im Anwenderbereich gespeichert und für Dateivergleiche verwendet.
Für jede Datei wird auch ein »intro«-Puffer (32 bytes) zwischengespeichert. Dieser Puffer wird unabhängig von der Vergleichsmethode und angeforderten »cache-size« und »io-size« verwendet. Der »intro«-Puffer reduziert Operationen mit Dateninhalten erheblich, da Dateien am Anfang oft sehr unterschiedlich sind.
OPTIONEN¶
-c, --content
-b, --io-size Größe
-d, --respect-dir
-f, --respect-name
-F, --prioritize-trees
-i, --include regulärer-Ausdruck
-l, --list-duplicates
-m, --maximize
-M, --minimize
--mount
-n, --dry-run
-o, --ignore-owner
-O, --keep-oldest
-p, --ignore-mode
-q, --quiet
-r, --cache-size Größe
--reflink[=wann]
The optional argument when can be never, always, or auto. If the when argument is omitted, it defaults to auto, which means that hardlink checks the filesystem type and uses reflinks on BTRFS, XFS and ZFS only, and falls back to hardlinks when creating a reflink is impossible. The argument always disables filesystem-type detection and the fallback to hardlinks, which means that only reflinks are allowed.
--skip-reflinks
-s, --minimum-size Größe
-S, --maximum-size Größe
-t, --ignore-time
-v, --verbose
-x, --exclude regulärer-Ausdruck
--exclude-subtree regulärer-Ausdruck
-X, --respect-xattrs
-y, --method Name
-z, --zero
-h, --help
-V, --version
ARGUMENTE¶
hardlink akzeptiert ein oder mehrere Verzeichnisse, die nach zu verlinkenden Dateien durchsucht werden sollen.
UMGEBUNGSVARIABLEN¶
ULFILEEQ_DEBUG=all
FEHLER¶
Die ursprüngliche hardlink-Implementierung verwendet die Option -f, um die Erzeugung harter Links über Dateisystemgrenzen hinweg zu erzwingen. Diese kaum sinnvoll nutzbare Funktion wird vom aktuellen hardlink nicht mehr unterstützt.
hardlink geht davon aus, dass sich die Verzeichnisbäume, in denen es agiert, während der Programmausführung nicht verändern. Falls dies dennoch geschieht, ist das Ergebnis nicht definiert und potenziell gefährlich. Wenn beispielsweise eine reguläre Datei durch eine Gerätedatei ersetzt wird, könnte hardlink damit beginnen, von diesem Gerät zu lesen. Falls eine Pfadkomponente durch einen symbolischen Link ersetzt wird oder sich Dateizugriffsrechte ändern, könnte die Sicherheit beeinträchtigt werden. Führen Sie hardlink niemals in einem sich ändernden Verzeichnisbaum aus oder in einem, über den ein anderer Benutzer die Kontrolle hat.
AUTOR¶
Es gibt mehrere hardlink-Implementierungen. Die allererste Implementierung stammt von Jakub Jelinek für die Fedora-Distribution; diese Implementierung wurde in Util-linux von den Versionen 2.34 bis 2.36 genutzt. Die gegenwärtige Implementierung basiert auf der Debian-Version von Julian Andres Klode.
FEHLER MELDEN¶
Nutzen Sie zum Melden von Fehlern das Fehlererfassungssystem <https://github.com/util-linux/util-linux/issues>.
VERFÜGBARKEIT¶
Der Befehl hardlink ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann.
| 2026-02-28 | util-linux 2.42-rc1 |