Ln (Unix)
Зовнішній вигляд
ln - Unix програма використовується для створення жорстких посилань і символічних.
Використання
ln [опції] джерело місце_призначення
ln [опції] джерело(a)... [каталог]
- джерело — файл або файли, до яких створюється зв'язок
- місце_призначення — Ім'я файлу, якщо метою є ім'я файлу, буде створена для конкретної посилання - ім'я.
POSIX опції
- -f — Видалити, якщо файл (місце_призначення) з таким ім’ям вже існує.
- -- — Завершити список опцій.
GNU опції
- −d, −F, −−directory — Дозволити root користувачеві створити жорстке посилання на каталог.
- −f, −−force — Видалити, якщо файл (місце_призначення) з таким ім’ям вже існує.
- −i, −−interactive — Спитати чи видаляти вже існуючі файли з таким ім’ям.
- −n, −−no−dereference — Якщо останнім аргументом є вже існуюче символічне посилання на якийсь каталог, ln із −n опцією віднесеться до цього посилання як до звичайного файла (надає можливість перенаправляти символічні посилання на каталоги на щось інше). Якщо останній аргумент є дійсним каталогом (не символічним посиланням на каталог), матиме місце стандартне поводження, коли посилання створюватимуться у цьому каталозі. Лише у випадку коли останнім аргументом стоїть символічне посилання на каталог існують дві можливості інтерпретувати наміри користувача. ln може сприйняти місце призначення за звичайний каталог і створити всередині посилання, або цей аргумент розглядатиметься не як каталог а як звичайний файл. (В останньому випадку, ln видалить або зробить резервну копію файла−символічного посилання перед тим як створити нове символічне посилання.) За замовчуванням місце призначення у вигляді символічного посилання на каталог розглядається як каталог.
- −s, −−symbolic — Утворити символічне посилання замість жорсткого. Ця опція призведе до повідомлення про помилку на системах що не підтримують символічних посилань.
- −v, −−verbose — Видрукувати назву кожного файлу перед створенням посилань.
Приклад
$ ln abc def
Створює жорстке посилання def на файл abs
Створення та видалення символічного посилання
Нижче показано створення символічного посилання slink.txt:
$ ln -s data.txt slink.txt
$ ls -li
969768 -rw-r--r-- 1 alex alex 10 Dec 9 09:11 data.txt
969817 lrwxrwxrwx 1 alex alex 8 Dec 9 09:11 slink.txt -> data.txt
Символічна (м'яка) посилання розміщене в відмінному індексному дескрипторі ніж текстовий файл (969817). Інформація, що зберігається в data.txt доступна через slink.txt:
$ file slink.txt
slink.txt: symbolic link to `data.txt'
$ cat slink.txt
деякі дані
Якщо видалити текстовий файл data.txt, то slink.txt становится непроцюючої посиланням і наші дані будуть втрачені.
$ rm data.txt
$ ls -li
969817 lrwxrwxrwx 1 alex alex 8 Dec 9 09:11 slink.txt -> data.txt
$ file slink.txt
slink.txt: broken symbolic link to `data.txt'
$ cat slink.txt
cat: slink.txt: No such file or directory
Жорстке посилання
Якщо hlink.txt був жорстким посиланням, наші дані залишаються доступними через hlink.txt. Крім того, якщо ви видалите оригінальний файл, копія жорсткої посилання залишиться.
$ ln data.txt hlink.txt
$ ls -li
104690 -rw-r--r-- 2 sc69876 support 10 Aug 29 18:13 data.txt
104690 -rw-r--r-- 2 sc69876 support 10 Aug 29 18:13 hlink.txt
$ rm data.txt
$ ls -li
104690 -rw-r--r-- 1 sc69876 support 10 Aug 29 18:13 hlink.txt
$ cat hlink.txt
деякі дані
Посилання
- ln - довідка ln
- ln — Спеціфікація з єдиної спеціфікації Unix
- Simple guide to ln