HARDLINK(1) | Polecenia użytkownika | HARDLINK(1) |
NAZWA
hardlink - linkuje wiele kopii pliku
SKŁADNIA
hardlink [opcje] katalog|plik...
OPIS
hardlink jest narzędziem zastępującym kopie pliku dowiązaniami zwykłymi (twardymi) lub klonami typu kopia przy zapisie, oszczędzając miejsce na nośniku.
hardlink najpierw tworzy drzewo binarne z rozmiarami plików, porównując następnie zawartość plików o tym samym rozmiarze. Występują dwie proste metody porównywania zawartości. Metoda memcmp bezpośrednio odczytuje bloki danych z plików i porównuje je. Kolejna metoda opiera się na sumach kontrolnych (np. SHA256); w tym przypadku dla każdego bloku danych obliczana jest suma kontrolna przez kryptograficzny interfejs programistyczny jądra Linux (crypto); suma ta jest przechowywana w przestrzeni użytkownika i używana do porównywania plików.
Buforowane jest też początkowe 32 bajtów każdego pliku. Bufor ten jest używany niezależnie od metody porównywania oraz żądanego rozmiaru bufora i rozmiaru wejścia/wyjścia. Ten bufor początkowy znacznie ogranicza operacje na zawartości plików, ponieważ pliki bardzo często różnią się od samego początku.
OPCJE
-c, --content
-b, --io-size rozmiar
-d, --respect-dir
-f, --respect-name
-F, --prioritize-trees
-i, --include wyrażenie-regularne
-m, --maximize
-M, --minimize
-n, --dry-run
-l, --list-duplicates
-z, --zero
-o, --ignore-owner
-O, --keep-oldest
-p, --ignore-mode
-q, --quiet
-r, --cache-size rozmiar
-s, --minimum-size rozmiar
-S, --maximum-size rozmiar
-t, --ignore-time
-v, --verbose
-x, --exclude wyrażenie-regularne
--exclude-subtree wyrażenie-regularne
--mount
-X, --respect-xattrs
-y, --method nazwa
--reflink[=kiedy]
Opcjonalnym argumentem kiedy może być never, always lub auto. Jeśli nie poda się argumentu kiedy, przyjmie domyślną wartość auto; wówczas hardlink sprawdza typ systemu plików i używa reflinków tylko na BTRFS i XFS, korzystając z dowiązań zwykłych tam, gdzie tworzenie reflinków jest niemożliwe. Argument always wyłącza sprawdzanie typu systemów plików i tworzenie dowiązań zwykłych - wówczas dozwolone są tylko reflinki.
--skip-reflinks
-h, --help
-V, --version
ARGUMENTY
hardlink przyjmuje jeden lub więcej katalogów, które zostaną przeszukane pod kątem plików do zlinkowania.
USTERKI
Pierwotna implementacja hardlink używała opcji -f*do wymuszenia tworzenia dowiązań zwykłych pomiędzy systemami plików. Ta niezwykle rzadko użyteczna opcja nie jest już obsługiwana przez niniejszy program *hardlink.
hardlink zakłada, że drzewo na którym działa nie zmienia się podczas przebiegu programu. Jeśli drzewo ulegnie zmianie, rezultaty są niezdefiniowane i potencjalnie niebezpieczne. Na przykład jeśli zwykły plik zostanie zastąpiony przez urządzenie, hardlink może zacząć odczytywać z urządzenia. Jeśli składowa ścieżki zostanie zastąpiona przez dowiązanie symboliczne lub zmienią się uprawnienia pliku, może dojść do naruszenia bezpieczeństwa systemu. Nie należy uruchamiać hardlink na zmieniającym się drzewie ani drzewie, które kontroluje inny użytkownik.
AUTOR
Istnieje wiele implementacji hardlink. Pierwotna pochodzi od Jakuba Jelinka z dystrybucji Fedora; była używana w util-linux pomiędzy wersjami v2.34 i v2.36. Bieżąca implementacja powstała w oparciu o wersję z Debiana, autorstwa Juliana Andresa Klode’a.
ZGŁASZANIE BŁĘDÓW
Problemy należy zgłaszać w systemie śledzenia błędów https://github.com/util-linux/util-linux/issues.
DOSTĘPNOŚĆ
Polecenie hardlink jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux https://www.kernel.org/pub/linux/utils/util-linux/.
2025-03-29 | util-linux 2.41 |