Главная > Управление файлами и каталогами > 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`.

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