Man page - hardlink(1)
Packages contains this manual
- getopt(1)
- x86_64(8)
- zramctl(8)
- findfs(8)
- blockdev(8)
- ipcmk(1)
- linux64(8)
- ldattach(8)
- findmnt(8)
- unshare(1)
- uclampset(1)
- partx(8)
- lscpu(1)
- flock(1)
- fallocate(1)
- setterm(1)
- terminal-colors.d(5)
- setsid(1)
- setarch(8)
- lsns(8)
- adjtime_config(5)
- chcpu(8)
- runuser(1)
- rtcwake(8)
- rev(1)
- lsipc(1)
- blkdiscard(8)
- nsenter(1)
- whereis(1)
- dmesg(1)
- fsck(8)
- blkid(8)
- ipcs(1)
- mcookie(1)
- lsblk(8)
- readprofile(8)
- switch_root(8)
- wdctl(8)
- mountpoint(1)
- lsmem(1)
- fsfreeze(8)
- i386(8)
- pivot_root(8)
- swaplabel(8)
- scols-filter(5)
- getty(8)
- chmem(8)
- chrt(1)
- agetty(8)
- blkzone(8)
- more(1)
- choom(1)
- mkswap(8)
- wipefs(8)
- taskset(1)
- lslocks(8)
- linux32(8)
- ionice(1)
- isosize(8)
- su(1)
- rename.ul(1)
- prlimit(1)
- namei(1)
- lslogins(1)
- ipcrm(1)
- fstrim(8)
- mkfs(8)
- hardlink(1)
- sulogin(8)
- setpriv(1)
apt-get install util-linux
Available languages:
en pl uk ro sr deManual
HARDLINK
НАЗВАКОРОТКИЙ ОПИС
ОПИС
ПАРАМЕТРИ
АРГУМЕНТИ
ВАДИ
АВТОР
ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ
ДОСТУП ДО ПРОГРАМИ
НАЗВА
hardlink - пов'язування посиланнями декількох копій файла
КОРОТКИЙ ОПИС
hardlink [параметри] каталог | файл ...
ОПИС
hardlink - інструмент, який заміняє копії файла їхніми жорсткими посиланнями або клонами копіювання-при-записі, які надають змогу заощадити місце на диску.
Спочатку, hardlink створює бінарне дерево розмірів файлів, а потім порівнює вміст файлів, які мають однаковий розмір. Передбачено два базових методів порівняння вмісту. При використанні методу memcmp програма безпосередньо читає блоки даних з файлів і порівнює її. Інший метод засновано на контрольних сумах (подібних до SHA256); у цьому випадку для кожного з блоків даних буде обчислено контрольну суму за допомогою програмного інтерфейсу шифрування ядра Linux, і цю контрольну суму буде збережено у просторі користувача і використано для порівняння.
Для кожного файла також буде кешовано «вступний» буфер (32 байти). Цей буфер буде використано незалежно від методу порівняння і запитаного розміру кешу та розміру введення-виведення. «Вступний» буфер значно зменшує потребу у діях із даними, оскільки файли дуже часто відрізняються уже початковим вмістом.
ПАРАМЕТРИ
-c , --content
Брати до уваги лише вміст файлів, а не атрибути, при визначенні того, чи є файли однаковими Те саме, що -pot .
-b , --io-size розмір
Розмір буфера read (2) або sendfile (2), який буде використано для порівняння вмісту файлів. Після аргументу розмір може бути вказано суфікси розмірностей - KiB, MiB тощо. Частина рядка «iB» є необов’язковою, наприклад, «K» є тим самим, що і «KiB». Типовим є розмір 8 КіБ для методу memcmp і 1 МіБ для інших методів. Пам’ять процесів для буфера використовує лише метод memcmp, інші методи використовують нуль-копіювання, а дію з введення-виведення виконує ядро. Розмір може бути змінено на льоту так, щоб він відповідав кількості контрольних сум кешованих даних.
-d , --respect-dir
Only try to link files with the same directory name. The top-level directory (as specified on the hardlink command line) is ignored. For example, hardlink --respect-dir /foo /bar will link /foo/some/file with /bar/some/file , but not /bar/other/file . If combined with --respect-name , then entire paths (except the top-level directory) are compared.
-f , --respect-name
Намагатися створити посилання лише для файлів з однаковою (основною) назвою. Наполегливо рекомендуємо використовувати довгі версії запису параметрів, а не -f , який може бути оброблено у різний спосіб іншими реалізаціями hardlink .
-F , --prioritize-trees
Keep files found in the earliest specified top-level directory if there are multiple identical files in different trees. For example, hardlink foo/ bar/ will link files in bar/ to equal files in the foo/ directory.
-i , --include формальний_вираз
Формальний вираз для включення файлів. Якщо було вказано параметр --exclude , цей параметр повторно включає файли, які інакше було б виключено. Якщо параметр використано без --exclude , буде включено лише файли, які відповідають взірцю.
-m , --maximize
Серед однакових файлів зберігати файл із найвищою кількістю посилань.
-M , --minimize
Серед однакових файлів зберігати файл із найнижчою кількістю посилань.
-n , --dry-run
Не виконувати дій, лише вивести дані щодо того, що буде зроблено.
-l , --list-duplicates
Don’t link anything, but list the absolute path of every duplicate file, one per line, preceded by a unique 16-byte discriminator and a tab.
-z , --zero
Separate lines with a NUL instead of a newline in -l mode.
-o , --ignore-owner
Створити посилання і порівняти файли, навіть якщо дані щодо власника (користувача і групи) є різними. Результати можуть бути непередбачуваними.
-O , --keep-oldest
Серед однакових файлів зберегти найдавніший файл (файл із найдавнішим часом внесення змін). Типово, буде збережено найновіший файл. Якщо вказано --maximize або --minimize , кількість посилань матиме вищий пріоритет за час внесення змін.
-p , --ignore-mode
Створити посилання і порівняти файли, навіть якщо режим доступу до файлів є різним. Результати можуть бути дещо непередбачуваними.
-q , --quiet
Режим без повідомлень - нічого не виводити.
-r , --cache-size розмір
Розмір кешу для контрольних сум даних. Для усіх методи, окрім memcmp, контрольну суму буде обчислено для кожного блоку даних файла (див. --io-size ), ці контрольні суми буде кешовано для наступного порівняння. Розмір є важливим для великих файлів або великих наборів файлів однакового розміру. Типовим є розмір у 10 МіБ.
-s , --minimum-size розмір
Мінімальний розмір, який слід розглядати. Типовим є 1, посилання на порожні файли не створюватимуться. За аргументом розмір можна вказати одиницю виміру: KiB (=124), MiB (=1024*1024) тощо для GiB, TiB, PiB, EiB, ZiB та YiB (частина «iB» є необов’язковою, наприклад «K» є тим самим, що і «KiB»)
-S , --maximum-size розмір
Максимальний розмір, який слід розглядати. Типовим є 0, тобто «без обмежень». За аргументом розмір можна вказати одиницю виміру: KiB (=1024), MiB (=1024*1024) тощо для GiB, TiB, PiB, EiB, ZiB та YiB (частина «iB» є необов’язковою, наприклад «K» є тим самим, що і «KiB»).
-t , --ignore-time
Створити посилання і порівняти файли, навіть якщо час внесення змін до файлів є різним. Зазвичай, варто цим скористатися.
-v , --verbose
Вивести докладніші повідомлення із поясненням користувачеві того, які дії виконуються. Якщо вказано один раз, буде показано кожен файл із жорсткими посиланнями; якщо вказано двічі, також показує усі порівняння.
-x , --exclude формальний_вираз
Формальний вираз, який виключає файли із порівняння і створення посилань. Цей параметр можна вказати декілька разів в одній команді.
--exclude-subtree формальний-вираз
Формальний вираз, який виключає цілі каталоги із порівняння і створення посилань. Цей параметр також можна вказати декілька разів в одній команді.
--mount
Do not traverse directories on different filesystems (remain within the same filesystem).
-X , --respect-xattrs
Намагатися пов’язати посиланням файли, лише якщо у них однакові розширені атрибути.
-y , --method назва
Встановити метод порівняння файлів. Серед методів, підтримку яких передбачено у програмі, sha256, sha1, crc32c і memcmp. Типовим є sha256 або memcmp, якщо програмний інтерфейс Linux є недоступним. Методи, засновані на контрольних сумах, реалізовано у спосіб нуль-копіювання. У цьому випадку вміст файла не буде скопійовано до простору користувача, а усі обчислення буде виконано в ядрі.
--reflink [ = умова ]
Створити клони з копіюванням-при-запису, а не жорсткі посилання. Спільними для файлів-клонів є лише дані на диску, а режим доступу до файлів та власник можуть бути різними. Рекомендуємо використовувати його з параметрами --ignore-owner і --ignore-mode . Цей параметр неявним чином встановлює --skip-reflinks для ігнорування вже клонованих файлів.
Значенням необов’язкового аргументу умова може бути never , always або auto . Якщо аргумент умова пропущено, типовим значенням є auto . У цьому випадку hardlink перевіряє тип файлової системи і використовує клони лише у BTRFS і XFS, а резервне повернення до жорстких посилань, якщо створення клону є неможливим. Значення аргументу always призводить до вимикання виявлення типу файлової системи і повернення до жорстких посилань; у цьому випадку дозволеними будуть лише клони.
--skip-reflinks
Ігнорувати вже клоновані файли. Цим параметром можна скористатися без --reflink при створенні класичних жорстких посилань.
-h , --help
Вивести текст довідки і завершити роботу.
-V , --version
Показати дані щодо версії і завершити роботу.
АРГУМЕНТИ
hardlink приймає один або декілька записів каталогів, у яких відбуватиметься пошук файлів для створення посилань.
ВАДИ
У початковій реалізації hardlink використано параметр -f для примусового створення жорстких посилань між файловими системами. Підтримки цієї рідкісної у використанні можливості у поточній версії hardlink не передбачено.
При створенні hardlink було зроблено припущення, що ієрархії файлової системи, з якими працює програма, не змінюються під час її роботи. Якщо в ієрархії відбуваються зміни, результат роботи може бути невизначеним або потенційно небезпечним для даних. Наприклад, якщо звичайний файл буде замінено файлом пристрою, hardlink може розпочати читання з пристрою. Якщо компонент шляху буде замінено символічним посиланням або змінено права доступу до файла, може постраждати захист системи. Не запускайте hardlink для ієрархії файлів, у якій відбуваються зміни, або ієрархії файлів, яку контролює інший користувач.
АВТОР
Існує декілька реалізацій hardlink . Найпершу було створено Jakub Jelinek для дистрибутиву Fedora. Цю реалізацію було використано в util-linux між версіями 2.34 і 2.36. Поточну реалізацію засновано на версії для Debian, автором якої є Julian Andres Klode.
ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ
Для звітування щодо вад скористайтеся системою стеження за вадами <https://github.com/util-linux/util-linux/issues>
ДОСТУП ДО ПРОГРАМИ
Програма hardlink є частиною пакунка util-linux, який можна отримати з архіву ядра Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.