| HARDLINK(1) | Användarkommandon | HARDLINK(1) |
NAMN
hardlink - länka flera kopior av en fil
SYNOPSIS
hardlink [flaggor] katalog|fil...
BESKRIVNING
hardlink är ett verktyg som ersätter kopior av en fil med antingen hardlinks eller copy-on-write-kloner, vilket sparar utrymme.
hardlink skapar först ett binärt träd med filstorlekar och jämför sedan innehållet i filer som har samma storlek. Det finns två grundläggande metoder för innehållsjämförelse. Metoden memcmp läser direkt datablock från filer och jämför dem. Den andra metoden baseras på kontrollsummor (som SHA256); i det här fallet beräknas en kontrollsumma för varje datablock av Linux-kärnans krypto-API, och denna kontrollsumma lagras i userspace och används för filjämförelser.
För varje fil cachelagras också en "intro"-buffert (32 byte). Denna buffert används oberoende av jämförelsemetod och begärd cache-size och io-size. "Intro"-bufferten minskar dramatiskt antalet operationer med datainnehåll eftersom filerna ofta är olika redan från början.
FLAGGOR
-c, --content
-b, --io-size storlek
-d, --respect-dir
-f, --respect-name
-F, --prioritize-trees
-i, --include regex
-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 storlek
--reflink[=när]
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 storlek
-S, --maximum-size storlek
-t, --ignore-time
-v, --verbose
-x, --exclude regex
--exclude-subtree regex
-X, --respect-xattrs
-y, --method namn
-z, --zero
-h, --help
-V, --version
ARGUMENT
hardlink tar en eller flera kataloger som ska genomsökas efter filer som ska länkas.
MILJÖ
ULFILEEQ_DEBUG=all
KÄNDA PROBLEM
Den ursprungliga hardlink-implementeringen använder flaggan -f för att tvinga fram skapandet av hårda länkar mellan filsystem. Denna mycket sällan användbara funktion stöds inte längre av den nuvarande hardlink.
hardlink förutsätter att träden som den arbetar med inte ändras under arbetets gång. Om ett träd ändras är resultatet odefinierat och potentiellt farligt. Om t.ex. en vanlig fil ersätts av en enhet kan hardlink börja läsa från enheten. Om en komponent i en sökväg ersätts av en symbolisk länk eller om filbehörigheterna ändras kan säkerheten äventyras. Kör inte hardlink på ett träd som är under förändring eller på ett träd som kontrolleras av en annan användare.
FÖRFATTARE
Det finns flera hardlink-implementeringar. Den allra första implementationen är från Jakub Jelinek för Fedora-distributionen, den här implementationen har använts i util-linux mellan versionerna v2.34 till v2.36. Den nuvarande implementationen är baserad på Debian-versionen från Julian Andres Klode.
FELRAPPORTERING
För felrapporter, använd felhanteraren https://github.com/util-linux/util-linux/issues.
TILLGÄNGLIGHET
Kommandot hardlink ingår i paketet util-linux som kan hämtas från Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux/.
| 2026-05-18 | util-linux 2.42.1 |