Символические и жесткие ссылки
Символические и жесткие ссылки - это особенность файловой системы Linux, которая позволяет размещать один и тот же файл в нескольких директориях. Это очень похоже на ярлыки в Windows.
https://losst.ru/simvolicheskie-i-zhestkie-ssylki-linux
В Linux существует два типа ссылок на файлы. Это символические и жесткие ссылки Linux. Они очень сильно отличаются и каждый тип имеет очень важное значение. В этой небольшой статье мы рассмотрим чем же отличаются эти ссылки, зачем они нужны, а также как создавать ссылки на файлы в Linux.
Символические ссылки
Символические ссылки более всего похожи на обычные ярлыки. Они содержат адрес нужного файла в вашей файловой системе. Когда вы пытаетесь открыть такую ссылку, то открывается целевой файл или папка. Главное ее отличие от жестких ссылок в том, что при удалении целевого файла ссылка останется, но она будет указывать в никуда, поскольку файла на самом деле больше нет.
Вот основные особенности символических ссылок:
Могут ссылаться на файлы и каталоги;
После удаления, перемещения или переименования файла становятся недействительными;
Права доступа и номер inode отличаются от исходного файла;
При изменении прав доступа для исходного файла, права на ссылку останутся неизменными;
Можно ссылаться на другие разделы диска;
Содержат только имя файла, а не его содержимое.
Теперь давайте рассмотрим жесткие ссылки.
Жесткие ссылки
Этот тип ссылок реализован на более низком уровне файловой системы. Файл размещен только в определенном месте жесткого диска. Но на это место могут ссылаться несколько ссылок из файловой системы. Каждая из ссылок - это отдельный файл, но ведут они к одному участку жесткого диска. Файл можно перемещать между каталогами, и все ссылки останутся рабочими, поскольку для них неважно имя. Рассмотрим особенности:
Работают только в пределах одной файловой системы;
Нельзя ссылаться на каталоги;
Имеют ту же информацию inode и набор разрешений что и у исходного файла;
Разрешения на ссылку изменяться при изменении разрешений файла;
Можно перемещать и переименовывать и даже удалять файл без вреда ссылке.
Использование ссылок в Linux
Теоретические отличия вы знаете, но осталось закрепить все это на практике, поэтому давайте приведем несколько примеров работы со ссылками в Linux. Для создания символических ссылок существует утилита ln. Ее синтаксис очень прост:
$ ln опции файл_источник файл_ссылки
Рассмотрим опции утилиты:
-d - разрешить создавать жесткие ссылки для директорий суперпользователю;
-f - удалять существующие ссылки;
-i - спрашивать нужно ли удалять существующие ссылки;
-P - создать жесткую ссылку;
-r - создать символическую ссылку с относительным путем к файлу;
-s - создать символическую ссылку.
Создание символических ссылок
Создадим символическую ссылку Linux, для этого используется команда ln с опцией -s:
ln -s source softlink
Создание жестких ссылок
Создадим жесткую ссылку Linux. Для этого достаточно вызвать утилиту без параметров:
ln source hardlink
Выводы
Это все, что вам было необходимо знать про символические и жесткие ссылки linux. Надеюсь, вы получили общее представление об этих возможностях файловой системы и сможете использовать их для решения своих задач.
Last updated