HARDLINK(1)

НАЗИВ
hardlink - повезује више примерака датотеке

УВОД

hardlink [options] directory|file...

ОПИС

hardlink is a tool that replaces copies of a file with either hardlinks or copy-on-write clones, thus saving space.

hardlink first creates a binary tree of file sizes and then compares the content of files that have the same size. There are two basic content comparison methods. The memcmp method directly reads data blocks from files and compares them. The other method is based on checksums (like SHA256); in this case for each data block a checksum is calculated by the Linux kernel crypto API, and this checksum is stored in userspace and used for file comparisons.

За сваку датотеку такође се смешта „уводна“ међумеморија (32 бајта). Ова међумеморија се користи независно од методе поређења и захтеване величине оставе и уи-величине. „Уводна“ међумеморија значајно смањује радње са садржајем података јер се датотеке често разликују од почетка.

ОПЦИЈЕ

-h, --help
    Приказује текст помоћи и излази.

-V, --version
    Исписује издање и излази.

-c, --content
    Разматра само садржај датотеке, а не атрибуте, када одређује да ли су две датотеке једнаке. Исто као -pot.

-b, --io-size величина
    Величина read(2) или sendfile(2) међумеморије коришћене приликом поређења садржаја датотека. За аргументом величина могу да следе суфикси множитеља KiB, MiB, итд. „iB“ је изборно, тј., „K“ значи исто што и „KiB“. Основно је 8KiB за „memcmp“ методу и 1MiB за остале методе. Само „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 примена.

-i, --include рег_израз
    Регуларни израз за обухват датотека. Ако је опција --exclude дата, ова опција поново обухвата датотеке које у супротном не би биле обухваћене. Ако је опција коришћена без --exclude, обухваћене су само датотеке поклопљене шаблоном.

-m, --maximize
    Од једнаких датотека, задржава датотеку са већим бројем веза.

-M, --minimize
    Од једнаких датотека, задржава датотеку са мањим бројем веза.

-n, --dry-run
    Не делује, само исписује шта ће се десити.

-o, --ignore-owner
    Повезује и упоређује датотеке чак и ако се подаци њихових власника (корисника и групае) разликују. Резултати могу бити непредвидиви.

-O, --keep-oldest
    Од једнаких датотека, задржава најстарију датотеку (најстарије време измене) По основи, новија датотека се задржава. Ако је наведено --maximize или --minimize, број везе има предност у односу на време измене.

-p, --ignore-mode
    Повезује и упоређује датотеке чак и ако се њихов режим разликује. Резултати могу бити мало непредвидиви.

-q, --quiet
    Тихи режим, не исписује ништа.

-r, --cashe-size величина
    Величина оставе за суме провере садржаја. Све не-„memcmp“ методе израчунавају суму провере за сваки блок садржаја датотеке (видите --io-size), те суме провере се одлажу за следеће поређење. Величина је важна за велике датотеке или велике скупове датотека исте величине. Основно је 10MiB.

-s, --minimum-size величина
    Најмања величина за узимање у обзир. По основи то је 1, тако да празне датотеке неће бити повезане. За аргументом величина може да следи суфикс множитељ KiB (=1024), MiB (=1024*1024), и тако редом за GiB, TiB, PiB, EiB, ZiB и YiB. („iB“ није обавезно, нпр., „K“ има исто значење као „KiB“).

-S, --maximum-size величина
    Најмања величина за узимање у обзир. По основи то је 0, и 0 има посебно значење неограничености. За аргументом величина може да следи суфикс множитељ KiB (=1024), MiB (=1024*1024), и тако редом за GiB, TiB, PiB, EiB, ZiB и YiB. („iB“ није обавезно, нпр., „K“ има исто значење као „KiB“).

-t, --ignore-time
    Повезује и упоређује датотеке чак и ако се њихова времена измене разликују. Ово је обично добар избор.

-v, --verbose
    Опширан излаз, објашњава кориснику шта је урађено, ако до тада није схватио. Ако је наведено једном, свака чврсто свезана датотека се приказује, ако је наведено два пута, такође приказује сваку успоредбу.

-x, --exclude рег_израз
    Регуларни израз који искључује датотеке из упоређивања и повезивања.

-X, --respect-xattrs
    Само покушава да повеже датотеке са истим проширеним атрибутима.

-y, --method назив
    Поставља методу поређења садржаја датотеке. Тренутно подржане методе су „sha256“, „sha1“, „crc32c“ и „memcmp“. Основно је „sha256“, или „memcmp“ ако „Linux Crypto API“ није доступно. Методе засноване на сумама провере се примењују на начин нултог умножавања, у том случају садржаји датотека се не умножавају у кориснички простор а сав прорачун се ради у кернелу.

--reflink[=када]
    Ствара клонове умножене при писању (тј. везе упуте) уместо чврстих веза. Упутно свезане датотеке деле податке само на диску, али режим датотеке и власник могу бити другачији. Препоручује се да се користи са опцијама --ignore-owner и --ignore-mode. Ова опција подразумева --skip-reflinks да би се занемариле већ клониране датотеке.

    Опционални аргумент када може бити never (никада), always (увек), или auto. Ако је аргумент када изостављен, подразумева се auto, у том случају, hardlink проверава врсту система датотека и користи упутне везе само на BTRFS и XFS, и пребацује се на чврсте везе када стварање упутне везе није могуће. Аргумент always искључује откривање врсте система датотека и пребацује се на чврсте везе, у том случају, допуштене су само чврсте везе.

--skip-reflinks
    Занемарује већ клониране датотеке. Ова опција се може користити без --reflink приликом стварања класичних чврстих веза.

АРГУМЕНТИ

hardlink takes one or more directories which will be searched for files to be linked.

ГРЕШКЕ

Изворна примена hardlink-а користи опцију -f да примора стварање чврстих веза између система датотека. Ова врло ретко коришћена функција више није подржана од стране текућег hardlink-а.

hardlink assumes that the trees it operates on do not change during operation. If a tree does change, the result is undefined and potentially dangerous. For example, if a regular file is replaced by a device, hardlink may start reading from the device. If a component of a path is replaced by a symbolic link or file permissions change, security may be compromised. Do not run hardlink on a changing tree or on a tree controlled by another user.

АУТОР

Постоји више примена hardlink-а. Најстарију примену је урадио Јакуб Јелинек за дистрибуцију Федоре, ова примена је коришћена у „util-linux“ између издања v2.34 и v2.36. Текућа примена је заснована на Дебијановом издању које је приредио Жилјан Андре Клод.

ПРИЈАВЉИВАЊЕ ГРЕШАКА

За пријављивање грешака, користите пратиоца грешака на

ДОСТУПНОСТ

Наредба hardlink је део пакета „util-linux“ који се може преузети са