Жесткие ссылки (hard links)

Каждый файл представляет собой область данных на жестком диске компьютера или на другом носителе информации, которую можно найти по имени. В файловой системе Unix содержимое файла связывается с его именем при помощи жестких ссылок. Создание файла с помощью любой программы означает, что будет создана жесткая ссылка – имя файла, и открыта новая область данных на диске. Причем количество ссылок на одну и ту же область данных (файл) не ограничено, т. е. у файла может быть несколько имен.

Пользователь Unix может добавить файлу еще одно имя (создать еще одну жесткую ссылку на файл) при помощи команды ln (от англ. link - соединять, связывать). Первый параметр этой команды – это имя файла, на который нужно создать ссылку, второй – имя новой ссылки. По умолчанию ссылка будет создана в текущем каталоге.

Пример создания жесткой ссылки с именем hard_link в текущем каталоге на файл /home/peter/docs/1.doc:

ln /home/peter/docs/1.doc hard_link

При создании жестких ссылок у файлов и ссылок на них совпадают размер и время создания. Также, и файлу, и ссылке на него соответствует один индексный дескриптор. Все операции с файловой системой – создание, удаление и перемещение файлов – производятся на самом деле над индексными дескрипторами, а имена нужны только для того, чтобы пользователь мог легко ориентироваться в файловой системе. Более того, имя (или имена) файла в его индексном дескрипторе не указаны. При этом жесткая ссылка представляет собой запись вида имя файла + номер индексного дескриптора в каталоге. По сути, жесткая ссылка задает еще одно имя для файла.

Доступ к одному и тому же файлу при помощи нескольких имен может понадобиться в следующих случаях:

1) Одна и та же программа известна под несколькими именами.

2) Доступ пользователей к некоторым каталогам в системе может быть ограничен из соображений безопасности. Однако если все же нужно организовать доступ пользователей к файлу, который находится в таком каталоге, можно создать жесткую ссылку на этот файл в другом каталоге.

3) Современные файловые системы даже на домашних персональных компьютерах могут насчитывать до нескольких десятков тысяч файлов и тысячи каталогов. Обычно у таких файловых систем сложная многоуровневая иерархическая организация - в результате пути ко многим файлам становятся очень длинными. Чтобы организовать более удобный доступ к файлу, который находится очень «глубоко» в иерархии каталогов, также можно использовать жесткую ссылку в более доступном каталоге.

4) Полное имя некоторых программ может быть весьма длинным (например, i586-alt-linux-gcc-3.3), к таким программам удобнее обращаться при помощи сокращенного имени (жесткой ссылки) - gcc-3.3.


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



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