'\" t .\" Title: hardlink .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-05-18 .\" Manual: Användarkommandon .\" Source: util-linux 2.42.1 .\" Language: English .\" .TH "HARDLINK" "1" "2026-05-18" "util\-linux 2.42.1" "Användarkommandon" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "NAMN" hardlink \- länka flera kopior av en fil .SH "SYNOPSIS" .sp \fBhardlink\fP [flaggor] \fIkatalog\fP|\fIfil\fP.\|.\|. .SH "BESKRIVNING" .sp \fBhardlink\fP är ett verktyg som ersätter kopior av en fil med antingen hardlinks eller copy\-on\-write\-kloner, vilket sparar utrymme. .sp \fBhardlink\fP 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 \fBmemcmp\fP 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. .sp 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. .SH "FLAGGOR" .sp \fB\-c\fP, \fB\-\-content\fP .RS 4 Beakta endast filinnehållet, inte attributen, när du avgör om två filer är likvärdiga. Samma som \fB\-pot\fP. .RE .sp \fB\-b\fP, \fB\-\-io\-size\fP \fIstorlek\fP .RS 4 Storleken på \fBread\fP(2) eller \fBsendfile\fP(2)\-bufferten som används vid jämförelse av filinnehåll. Argumentet \fIstorlek\fP kan följas av de multiplikativa suffixen KiB, MiB, etc. "iB" är valfritt, t.ex. har "K" samma betydelse som "KiB". Standardvärdet är 8KiB för memcmp\-metoden och 1MiB för de andra metoderna. Den enda memcmp\-metoden använder processminne för bufferten, andra metoder använder zero\-copy och I/O\-operationen görs i kärnan. Storleken kan ändras i farten för att passa ett antal kontrollsummor för cachat innehåll. .RE .sp \fB\-d\fP, \fB\-\-respect\-dir\fP .RS 4 Försök bara länka filer med samma katalognamn. Katalogen på översta nivån (som anges på kommandoraden för \fBhardlink\fP) ignoreras. Till exempel kommer \fBhardlink \-\-respect\-dir /foo /bar\fP att länka \fI/foo/some/file\fP med \fI/bar/some/file\fP, men inte \fI/bar/other/file\fP. Om den kombineras med \fB\-\-respect\-name\fP jämförs hela sökvägar (utom toppnivåkatalogen). .RE .sp \fB\-f\fP, \fB\-\-respect\-name\fP .RS 4 Försök bara att länka filer med samma (bas)namn. Det rekommenderas starkt att använda långa flaggor i stället för \fB\-f\fP, som tolkas på ett annat sätt av andra \fBhardlink\fP\-implementeringar. .RE .sp \fB\-F\fP, \fB\-\-prioritize\-trees\fP .RS 4 Behåller filer som finns i den tidigast angivna toppnivåkatalogen om det finns flera identiska filer i olika träd. Exempelvis kommer \fBhardlink foo/ bar/\fP att länka filer i bar/ till likvärdiga filer i foo/\-katalogen. .RE .sp \fB\-i\fP, \fB\-\-include\fP \fIregex\fP .RS 4 Ett reguljärt uttryck för att inkludera filer. Om flaggan \fB\-\-exclude\fP har angetts, återinkluderar denna flagga filer som annars skulle ha uteslutits. Om flaggan används utan \fB\-\-exclude\fP inkluderas endast filer som matchas av mönstret. .RE .sp \fB\-l\fP, \fB\-\-list\-duplicates\fP .RS 4 Länka ingenting, utan lista den absoluta sökvägen till varje duplicerad fil, en per rad, föregången av en unik 16\-bytes diskriminator och en tabb. .RE .sp \fB\-m\fP, \fB\-\-maximize\fP .RS 4 Bland likvärdiga filer behåller du filen med det högsta länkantalet. .RE .sp \fB\-M\fP, \fB\-\-minimize\fP .RS 4 Bland likvärdiga filer behåller du filen med lägst länkantal. .RE .sp \fB\-\-mount\fP .RS 4 Genomkorsa inte kataloger på olika filsystem (håll dig inom samma filsystem). .RE .sp \fB\-n\fP, \fB\-\-dry\-run\fP .RS 4 Inte agera, bara skriva ut vad som skulle hända. .RE .sp \fB\-o\fP, \fB\-\-ignore\-owner\fP .RS 4 Länka och jämför filer även om deras ägarinformation (användare och grupp) skiljer sig åt. Resultaten kan vara oförutsägbara. .RE .sp \fB\-O\fP, \fB\-\-keep\-oldest\fP .RS 4 Bland lika många filer behålls den äldsta filen (senaste ändringstid). Som standard behålls den nyaste filen. Om \fB\-\-maximize\fP eller \fB\-\-minimize\fP anges har länkantalet högre prioritet än modifieringstiden. .RE .sp \fB\-p\fP, \fB\-\-ignore\-mode\fP .RS 4 Länka och jämför filer även om deras läge är olika. Resultaten kan vara något oförutsägbara. .RE .sp \fB\-q\fP, \fB\-\-quiet\fP .RS 4 Tyst läge, skriv inte ut något. .RE .sp \fB\-r\fP, \fB\-\-cache\-size\fP \fIstorlek\fP .RS 4 Storleken på cacheminnet för innehållskontrollsummor. Alla icke\-memcmp\-metoder beräknar kontrollsumma för varje filinnehållsblock (se \fB\-\-io\-size\fP), dessa kontrollsummor cachas för nästa jämförelse. Storleken är viktig för stora filer eller stora uppsättningar av filer med samma storlek. Standardvärdet är 10MiB. .RE .sp \fB\-\-reflink\fP[\fB=\fP\fInär\fP] .RS 4 Create copy\-on\-write clones (aka reflinks) rather than hardlinks. The reflinked files share only on\-disk data, but the file mode and owner can be different. It\(cqs recommended to use this option together with the \fB\-\-ignore\-owner\fP and \fB\-\-ignore\-mode\fP options. This option implies \fB\-\-skip\-reflinks\fP to ignore already cloned files. .sp The optional argument \fIwhen\fP can be \fBnever\fP, \fBalways\fP, or \fBauto\fP. If the \fIwhen\fP argument is omitted, it defaults to \fBauto\fP, which means that \fBhardlink\fP 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 \fBalways\fP disables filesystem\-type detection and the fallback to hardlinks, which means that only reflinks are allowed. .RE .sp \fB\-\-skip\-reflinks\fP .RS 4 Ignorera redan klonade filer. Denna flagga kan användas utan \fB\-\-reflink\fP när du skapar klassiska hårddisklänkar. .RE .sp \fB\-s\fP, \fB\-\-minimum\-size\fP \fIstorlek\fP .RS 4 Den minsta storlek som ska beaktas. Som standard är detta 1, så tomma filer länkas inte. Argumentet \fIstorlek\fP kan följas av de multiplikativa suffixen KiB (=1024), MiB (=1024*1024) och så vidare för GiB, TiB, PiB, EiB, ZiB och YiB ("iB" är valfritt, t.ex. har "K" samma betydelse som "KiB"). .RE .sp \fB\-S\fP, \fB\-\-maximum\-size\fP \fIstorlek\fP .RS 4 Den maximala storlek som ska beaktas. Som standard är detta 0 och 0 har den speciella betydelsen obegränsad. Argumentet \fIstorlek\fP kan följas av de multiplikativa suffixen KiB (=1024), MiB (=1024*1024) och så vidare för GiB, TiB, PiB, EiB, ZiB och YiB ("iB" är valfritt, t.ex. har "K" samma betydelse som "KiB"). .RE .sp \fB\-t\fP, \fB\-\-ignore\-time\fP .RS 4 Länka och jämföra filer även om de har ändrats vid olika tidpunkter. Detta är vanligtvis ett bra val. .RE .sp \fB\-v\fP, \fB\-\-verbose\fP .RS 4 Utförlig utdata, förklarar för användaren vad som görs. Om detta anges en gång visas varje hårdlänkad fil. Om det anges två gånger visas även varje jämförelse. .RE .sp \fB\-x\fP, \fB\-\-exclude\fP \fIregex\fP .RS 4 Ett reguljärt uttryck som utesluter filer från att jämföras och länkas. Denna flagga kan användas flera gånger. .RE .sp \fB\-\-exclude\-subtree\fP \fIregex\fP .RS 4 Ett reguljärt uttryck som utesluter hela kataloger från att jämföras och länkas. Denna flagga kan också användas flera gånger. .RE .sp \fB\-X\fP, \fB\-\-respect\-xattrs\fP .RS 4 Försök bara att länka filer med samma utökade attribut. .RE .sp \fB\-y\fP, \fB\-\-method\fP \fInamn\fP .RS 4 Set the file content comparison method. The currently supported methods are \fBsha256\fP, \fBsha1\fP, \fBcrc32c\fP, and \fBmemcmp\fP. The default is \fBsha256\fP, or \fBmemcmp\fP if the Linux Crypto API is not available. The methods based on checksums are implemented in a zero\-copy way, which means that file contents are not copied to userspace and all calculation is done in the kernel. .RE .sp \fB\-z\fP, \fB\-\-zero\fP .RS 4 Separate lines with a NUL byte instead of a newline (for \fB\-l\fP). .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 Visa hjälptext och avsluta. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 Visa version och avsluta. .RE .SH "ARGUMENT" .sp \fBhardlink\fP tar en eller flera kataloger som ska genomsökas efter filer som ska länkas. .SH "MILJÖ" .sp \fBULFILEEQ_DEBUG\fP=all .RS 4 Aktiverar felsökningsutmatning för filjämförelser. .RE .SH "KÄNDA PROBLEM" .sp Den ursprungliga \fBhardlink\fP\-implementeringen använder flaggan \fB\-f\fP 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 \fBhardlink\fP. .sp \fBhardlink\fP 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 \fBhardlink\fP 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 \fBhardlink\fP på ett träd som är under förändring eller på ett träd som kontrolleras av en annan användare. .SH "FÖRFATTARE" .sp Det finns flera \fBhardlink\fP\-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. .SH "FELRAPPORTERING" .sp För felrapporter, använd \c .URL "https://github.com/util\-linux/util\-linux/issues" "felhanteraren" "." .SH "TILLGÄNGLIGHET" .sp Kommandot \fBhardlink\fP ingår i paketet util\-linux som kan hämtas från \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "Linux Kernel Archive" "."