Ln (Unix) — Вікіпедія
ln - Unix програма для створення жорстких або символічних посилань на файли або директорії у файловій системі.
Синтаксис[ред. | ред. код]
ln [опції] [файл|директорія] [посилання] ln [опції] [файл1] [файл2] .. [посилання]
POSIX опції[ред. | ред. код]
-f
видалити, якщо посилання з таким ім’ям вже існує.--
завершити список опцій.
GNU опції[ред. | ред. код]
−d, −F, −−directory
дозволити root користувачеві створити жорстке посилання на каталог.−f, −−force
перезаписати існуюче посилання.−i, −−interactive
спитати чи видаляти вже існуючі посилання з таким ім’ям.−n, −−no−dereference
якщо останнім аргументом є вже існуюче символічне посилання на якийсь каталог, ln із −n опцією віднесеться до цього посилання як до звичайного файла (надає можливість перенаправляти символічні посилання на каталоги на щось інше). Якщо останній аргумент є дійсним каталогом (не символічним посиланням на каталог), матиме місце стандартне поводження, коли посилання створюватимуться у цьому каталозі. Лише у випадку коли останнім аргументом стоїть символічне посилання на каталог існують дві можливості інтерпретувати наміри користувача. ln може сприйняти місце призначення за звичайний каталог і створити всередині посилання, або цей аргумент розглядатиметься не як каталог а як звичайний файл. (В останньому випадку, ln видалить або зробить резервну копію файла−символічного посилання перед тим як створити нове символічне посилання.) За замовчуванням місце призначення у вигляді символічного посилання на каталог розглядається як каталог.−s, −−symbolic
створити символічне посилання замість жорсткого. Ця опція призведе до повідомлення про помилку на системах що не підтримують символічних посилань.−v, −−verbose
надрукувати назву кожного файлу перед створенням посилань.
Приклад[ред. | ред. код]
$ ln data.txt slink.txt
Створює жорстке посилання slink.txt
на файл data.txt
Створення та видалення символічного посилання[ред. | ред. код]
Нижче показано створення символічного посилання 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 [Архівовано 9 квітня 2017 у Wayback Machine.]
- Специфікація з єдиної специфікації Unix [Архівовано 16 грудня 2009 у Wayback Machine.]
- Simple guide to ln [Архівовано 27 грудня 2020 у Wayback Machine.]
|