Главная > Управление файлами и каталогами > link

link: Создание жесткой ссылки на файл

Команда link используется для создания жесткой ссылки на существующий файл. Жесткая ссылка разделяет тот же inode с исходным файлом и действует как другое имя, указывающее на те же данные в файловой системе. Если исходный файл удален, но жесткая ссылка остается, данные будут сохранены.

Обзор

Команда `link` создает жесткую ссылку, используя два указанных пути к файлам. Первый аргумент — это путь к существующему файлу, а второй — путь к новой жесткой ссылке. Эта команда похожа на функцию создания жесткой ссылки команды `ln`, но предоставляет только эту функциональность без дополнительных опций.

Основные характеристики

  • Создание жесткой ссылки на существующий файл
  • Разделение того же inode с исходным файлом
  • Работает только в пределах одной файловой системы
  • Невозможность создания жесткой ссылки на каталог

Примеры использования

Ниже приведены несколько примеров использования команды `link`.

Создание базовой жесткой ссылки

echo "Hello, World!" > original.txt
link original.txt hardlink.txt
ls -li original.txt hardlink.txt

Создает жесткую ссылку с именем `hardlink.txt` на файл `original.txt`.

Проверка ссылки после удаления исходного файла

echo "This is a test." > file_to_link.txt
link file_to_link.txt linked_file.txt
rm file_to_link.txt
cat linked_file.txt

Демонстрирует, что данные доступны через жесткую ссылку, даже если исходный файл удален.

Советы и предостережения

Полезные советы и моменты, на которые следует обратить внимание при использовании команды `link`.

Понимание жестких ссылок

  • Разделение inode: Жесткие ссылки имеют тот же номер inode, что и исходный файл. Это означает, что оба имени указывают на одни и те же фактические данные. Файловая система отслеживает счетчик ссылок (link count) для inode, и фактические данные не удаляются до тех пор, пока этот счетчик не станет равным 0.
  • Границы файловой системы: Жесткие ссылки могут быть созданы только в пределах одной файловой системы. Невозможно создать жесткую ссылку на файл, находящийся на другом разделе или смонтированном диске. В таких случаях следует использовать символическую ссылку (symlink).
  • Запрет ссылок на каталоги: Команда link не может создавать жесткие ссылки на каталоги. Жесткие ссылки на каталоги обычно не допускаются, поскольку они могут нарушить целостность файловой системы.

Различия между link и ln

  • Функциональность: Команда link создает только жесткие ссылки. Команда ln, напротив, может создавать символические ссылки с помощью опции -s, а также предоставляет больше опций, таких как -f (принудительная перезапись) и -v (подробный вывод).
  • Удобство использования: В большинстве случаев команда ln более гибкая и удобная, поэтому она широко используется. link — это более простой утилитарный инструмент, предоставляющий только функциональность создания жестких ссылок команды ln.


Те же команды в категории