table of contents
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-04-09 | util-linux 2.41 |