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надрукувати назву кожного файлу перед створенням посилань.

Приклад

[ред.|ред. код]
$lndata.txtslink.txt

Створює жорстке посиланняslink.txtна файлdata.txt

Створення та видалення символічного посилання

[ред.|ред. код]

Нижче показано створення символічного посиланняslink.txt:

$ln-sdata.txtslink.txt
$ls-li
969768-rw-r--r--1alexalex10Dec909:11data.txt
969817lrwxrwxrwx1alexalex8Dec909:11slink.txt->data.txt

З наведеного прикладу видно, що символічне (м'яке) посилання розміщене в іншому індексному дескрипторі ніж текстовий файл (969817). Інформація, що зберігається вdata.txtдоступна черезslink.txt:

$fileslink.txt
slink.txt:symboliclinkto`data.txt'
$catslink.txt
...деякідані...

Якщо видалити текстовий файлdata.txt,тоslink.txtзалишиться, але дані будуть втрачені.

$rmdata.txt
$ls-li
969817lrwxrwxrwx1alexalex8Dec909:11slink.txt->data.txt
$fileslink.txt
slink.txt:brokensymboliclinkto`data.txt'
$catslink.txt
cat:slink.txt:Nosuchfileordirectory

Жорстке посилання

[ред.|ред. код]

Якщоhlink.txtбув жорстким посиланням, наші дані залишаються доступними черезhlink.txt. Крім того, якщо Ви видалите оригінальний файл, копія жорсткого посилання залишиться.

$lndata.txthlink.txt

$ls-li
104690-rw-r--r--2sc69876support10Aug2918:13data.txt
104690-rw-r--r--2sc69876support10Aug2918:13hlink.txt

$rmdata.txt

$ls-li
104690-rw-r--r--1sc69876support10Aug2918:13hlink.txt

$cathlink.txt
деякідані

Посилання

[ред.|ред. код]