Создание жестких и символьных ссылок

Имя файла является атрибутом файловой системы, а не набора некоторых данных на диске, который не имеет имени как такового. Каждый файл имеет связанные с ним метаданные (хранящиеся в индексных дескрипторах или узлах - inode), содержащие все характеристики файла. Именно метаданные содержат указатели на дисковые блоки хранения данных файла. Имя файла в файловой системе Unix/Linux хранится только в каталоге, содержащим этот файл, там же содержится указатель на метаданные этого файла. Метаданные не содержат указателя на имя файла.

Такая архитектура позволяет одному файлу иметь несколько имен в файловой системе. Имена жестко связаны с метаданными и, соответственно, с данными файла, в то время как сам файл существует независимо от того, как его называют в файловой системе. Такая связь имени файла с его данными называется жесткой связью (hard link).

Жесткие связи абсолютно равноправны. Все атрибуты таких файлов будут абсолютно одинаковыми (кроме имен). С точки зрения пользователя - это разные файлы. Изменения, внесенные в любой из этих файлов, затронут и другой, поскольку они ссылаются на одни и те же данные файла на диске. Можно переместить один из файлов в другой каталог - все равно эти имена будут связаны жесткой связью с данными файла. Удаление одного из файлов, связанных жесткой ссылкой, не приведет к удалению самого файла, т. е. его метаданных и данных. Эти ссылки используются, например, для того, чтобы хранить под разными именами одну и ту же команду (выполняемый файл) командного интерпретатора. Так, выполняемый файл текстового редактора vi может вызываться по именами: ex, edit, view, vedit.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: