Scroll to navigation

ln(1) 2007-10-27-16:31 ln(1)

НАЗВА

ln - створює посилання на інший файл.

СИНОПСИС

ln [опції] джерело [місце_призначення]

ln [опції] джерело(a)... [каталог]

POSIX опції: [-f] [--]

GNU опції (коротка форма): [-bdfinsvF] [-S СУФІКС] [-V {numbered,existing,simple}] [--help] [--version] [--]

ОПИС

Існує дві концепції про посилання у Юніксах відомі як жорсткі і і символічні посилання. Жорстке посилання є всього лиш іншим іменем для того самого файла (файл може мати декілька різних імен і буде повністю видаленими з диску лише коли останню з його назв видалено). Кількість імен файла можна взнати за допомогою ls(1). Не існує такого поняття як "оригінальна назва", всі назви файла мають той самий статус. Як правило, хоча не обов'язково, всі імена файла знаходяться на тій самій файловій системі що утримує його дані.

Символічне (м'яке) посилання є зовсім іншим створінням, - це невеликий спеціальний файл що утримує шлях до іншого файла. Таким чином, символічні посилання можуть вказувати на файли що знаходяться на інших файлових системах (навіть NFS монтованих з інших машин). Символічні посилання можуть навіть вказувати на неіснуючий файл. Під час доступу до символічного посилання (за допомогою open(2) або stat(2) системних викликів), ядро операційної системи заміняє його на вказаний там шлях до дійсного файла. (Але у випадку rm(1) або unlink(2), видаляється лише посилання а не файл на який воно вказує). Існують спеціальні системні виклики, такі як lstat(2) і readlink(2), які зчитують статус символічного посилання і файла на яке воно вказує. Щодо інших системних викликів, вони різняться в залежності від операційної системи у тому чи відносяться їхня дія до посилання, чи до дійсного файла.)

ln створює посилання між файлами. За замовчуванням - жорсткі, якщо надати -s опцію - символічні.

Якщо аргументом є лише один файл, ln створить посилання до цього файла у поточній директорії (за умови що ви і файл знаходитесь у різних директоріях). Назва посилання у такому випадку буде співпадати із назвою оригінального файла. (Це являється GNU розширенням.) У іншому випадку, якщо останнім аргументом команди є існуючий каталог, ln створить посилання на кожний файл вказаний як джерело(а) у вказаному каталозі. Назви посилань також будуть співпадати з назвами оригінальних файлів файлів (подивіться також опис --no-dereference опції нижче). У випадку ж коли дві назви файлів надано як аргумент, це повинно створити файл-посилання (місце_призначення) на вже існуюче джерело. Вам видасть помилку у випадку якщо останнім аргументом не є каталог і більше ніж дві назви файлів надано як аргумент.

За замовчуванням ln не вилучає вже існуючих файлів або символічних посилань. (Це може використовуватись для блокувальних цілей, команда матиме успіх лише якщо місце_призначення з таким іменем ще не існує.) Але можна заставити її це здійснити завдяки опції -f.

На сучасних втіленнях, якщо і є можливим створити жорстке посилання на каталог, це може здійснити лише root користувач. POSIX забороняє системному виклику link(2) і знаряддю ln створювати жорсткі посилання на каталоги (зате не згадує про жорсткі посилання поза межами файлової системи.)

POSIX ОПЦІЇ

Видалити, якщо файл (місце_призначення) з таким ім'ям вже існує.

--
Завершити список опцій.

GNU ОПЦІЇ

-d

    ,
    
-F
,
--directory

Дозволити root користувачеві створити жорстке посилання на каталог.

-f

    ,
    
--force

Видалити, якщо файл (місце_призначення) з таким ім'ям вже існує.

-i

    ,
    
--interactive

Спитати чи видаляти вже існуючі файли з таким ім'ям.

-n

    ,
    
--no-dereference

Якщо останнім аргументом є вже існуюче символічне посилання на якийсь каталог, ln із -n опцією віднесеться до цього посилання як до звичайного файла (надає можливість перенаправляти символічні посилання на каталоги на щось інше).

Якщо останній аргумент є дійсним каталогом (не символічним посиланням на каталог), матиме місце стандартне поводження, коли посилання створюватимуться у цьому каталозі. Лише у випадку коли останнім аргументом стоїть символічне посилання на каталог існують дві можливості інтерпретувати наміри користувача. ln може сприйняти місце призначення за звичайний каталог і створити всередині посилання, або цей аргумент розглядатиметься не як каталог а як звичайний файл. (В останньому випадку, ln видалить або зробить резервну копію файла-символічного посилання перед тим як створити нове символічне посилання.) За замовчуванням місце призначення у вигляді символічного посилання на каталог розглядається як каталог.

-s

    ,
    
--symbolic

Утворити символічне посилання замість жорсткого. Ця опція призведе до повідомлення про помилку на системах що не підтримують символічних посилань.

-v

    ,
    
--verbose

Видрукувати назву кожного файлу перед створенням посилань.

GNU ОПЦІЇ РЕЗЕРВНОГО КОПІЮВАННЯ

GNU версії таких програм як cp(1), mv(1), ln, install(1) і patch(1) можуть робити резервну копію файла що буде перезаписано, змінено або видалено. Створення копій вказується -b (--backup) опцією. Їхня назва вказується за допомогою -V опції. У випадку якщо бажане співпадання з назвами оригіналів, лише було додано суфікс, вживається -S опція.

Створити резервну копію файлів що будуть перезаписані або видалені.

Додати СУФІКС до кожного резервного файла. Якщо ця опція не вказана, буде вжите значення змінної середовища SIMPLE_BACKUP_SUFFIX. І якщо SIMPLE_BACKUP_SUFFIX змінна не встановлена, вживатиметься стандартне `~'.

Вказує методу за якою відбуватиметься іменування резервних копій. МЕТОДА аргумент може бути `numbered' (або `t'), `existing' (або `nil'), або ж `never' (або `simple'). Якщо ця опція не вказана, вживатиметься значення змінної середовища VERSION_CONTROL. У випадку не встановленої VERSION_CONTROL змінної, методою іменування за замовчуванням є `existing'.

Ця опція співпадає з Emacs змінною `version-control'. Чинними методами є (можна використовувати також абревіатури):

Завжди створювати нумеровані копії.

Створювати нумеровані копії файлів що вже мають копії і звичайні копії для решти.

Завжди створювати прості копії.

GNU СТАНДАРТНІ ОПЦІЇ

Надрукувати поміч по використанню програми на стандартний вивід і вийти з успішним статусом завершення.

Надрукувати інформацію про версію програми на стандартний пристрій виводу і вийти з успішним статусом завершення.

--
Завершити список опцій.

СЕРЕДОВИЩЕ

Змінні LANG, LC_ALL, LC_TYPE та LC_MESSAGES залишаються чинними.

УЗГОДЖЕННЯ З СТАНДАРТАМИ

POSIX 1003.2. Тим не менш, POSIX 1003.2 (1996) не розглядає символічні посилання. Символічні посилання були привнесені BSD і не зустрічаються у System V 3-го релізу (і старших) системах.

<seealso> Man:man1/ls.1|ls(1) Man:man1/rm.1|rm(1) man:man2/link.2|link(2) man:man2/lstat.2|lstat(2) man:man2/open.2|open(2) man:man2/readlink.2|readlink(2) man:man2/stat.2|stat(2) man:man2/unlink.2|unlink(2) </seealso>

КОМЕНТАР

Ця сторінка описує ln що постачається з пакетом fileutils-4.0; інші версії можуть трохи відрізнятись. Поправки і доповнення висилайте на aeb@cwi.nl. Доповіді про вади програми - на fileutils-bugs@gnu.ai.mit.edu.

---- Переклав українською Віталій Цибуляк <vi@uatech.atspace.com>

2007-10-27-16:31 © 2005-2007 DLOU, GNU FDL