HARDLINK(1)

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

УВОД

hardlink [опције] директоријум|датотека...

ОПИС

hardlink је алат који замењује умношке датотека или чврстим везама или клоновима „умножи-при-писању“, штедећи простор тако.

hardlink прво ствара бинарно стабло величина датотека а затим пореди садржај датотека које имају исту величину. Постоје две основне методе поређења садржаја. memcmp метода директно чита блокове података из датотека и пореди их. Друга метода се заснива на сумама провере (као SHA256) у том случају за сваки блок података суму провере израчунава крипто АПИ Линукс кернела, и та сума провере се смешта у корисников простор и користи за поређење датотека.

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

ОПЦИЈЕ

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

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

-d, --respect-dir
    Само покушава да повеже датотеке са истим називом директоријума. Директоријум највишег нивоа (као што је наведено у командној линији за hardlink) се занемарује. На пример, hardlink --respect-dir /foo /bar ће повезати /foo/нека/датотека са /bar/нека/датотека, али не и /bar/друга/датотека. Ако се комбинује са --respect-name, онда се упоређују читаве путање (осим директоријума највишег нивоа).

-f, --respect-name
    Само покушава да повеже датотеке са истим називом(основе). Строго се препоручује коришћење дугих опција уместо -f која се тумачи на други начин од стране других hardlink примена.

-F, --prioritize-trees
    Задржава датотеке пронађене у раније наведеном директоријуму највишег нивоа ако има више истоветних датотека у разним стаблима. На пример, hardlink foo/ bar/ ће свезати датотеке у „bar/“ са истим датотекама у директоријуму „foo/“.

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

-l, --list-duplicates
    Не свезује ништа, али исписује апсолутну путању сваке удвостручене датотеке, једну у реду, испред које иде јединствени 16-битни дискриминатор и табулатор.

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

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

--mount
    Не прелази директоријуме на различитим системима датотека (остаје у истом систему датотека).

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

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

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

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

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

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

--reflink[=када]
    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’s recommended to use this option together with the --ignore-owner and --ignore-mode options. This option implies --skip-reflinks to ignore already cloned files.

    The optional argument when can be never, always, or auto. If the when argument is omitted, it defaults to auto, which means that hardlink 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 always disables filesystem-type detection and the fallback to hardlinks, which means that only reflinks are allowed.

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

-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 рег_израз
    Регуларни израз који искључује датотеке из упоређивања и повезивања. Ова опција се може користити више пута.

--exclude-subtree регизраз
    Регуларни израз који искључује читаве директоријуме из упоређивања и повезивања. Ова опција се такође може користити више пута.

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

-y, --method назив
    Set the file content comparison method. The currently supported methods are sha256, sha1, crc32c, and memcmp. The default is sha256, or memcmp 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.

-z, --zero
    Separate lines with a NUL byte instead of a newline (for -l).

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

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

АРГУМЕНТИ

hardlink узима један или више директоријума у којима ће се тражити датотеке за повезивање.

ОКРУЖЕЊЕ

ULFILEEQ_DEBUG=all
    Укључује излаз прочишћавања за поређење датотека.

ГРЕШКЕ

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

hardlink претпоставља да се стабло над којим ради не мења за време радње. Ако се стабло измени, резултат је недефинисан и потенцијално опасан. На пример, ако се редовна датотека замени уређајем, hardlink може почети да чита са уређаја. Ако се састојак путање замени симболичком везом или се измене овлашћења датотеке, безбедност може бити доведена у питање. Не покрећите hardlink на измењивом стаблу или на стаблу које контролише други корисник.

АУТОР

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

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

За пријављивање грешака, користите „https://github.com/util-linux/util-linux/issues[issue tracker]“.

ДОСТУПНОСТ

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