Каждый файл представляет собой область данных на жестком диске компьютера или на другом носителе информации, которую можно найти по имени. В файловой системе Linux содержимое файла связывается с его именем при помощи жестких ссылок. Создание файла с помощью любой программы означает, что будет создана жесткая ссылка - имя файла, и открыта новая область данных на диске. Причем количество ссылок на одну и ту же область данных (файл) не ограничено, т. е. у файла может быть несколько имен.
Пользователь Linux может добавить файлу еще одно имя (создать еще одну жесткую ссылку на файл) при помощи утилиты ln
(от англ. ”link” - ”соединять, связывать”). Первый параметр - это имя файла, на который нужно создать ссылку, второй - имя новой ссылки. По умолчанию ссылка будет создана в текущем каталоге:
[ivan@localhost ivan]$ ln examples/text text-hardlink
[ivan@localhost ivan]$ ls -lR
./:
. . .
drwxr-xr-x 3 ivan ivan 4096 Окт 16 04:45 examples
-rw-r--r-- 2 ivan ivan 653 Окт 6 10:31 text-hardlink
./examples:
итого 92
-rw-r--r-- 1 ivan ivan 84718 Окт 6 10:31 -filename-with-
-rw-r--r-- 2 ivan ivan 653 Окт 6 10:31 text
Иван создал в своем домашнем каталоге жесткую ссылку с именем text-hardlink
на файл text
, который находится в подкаталоге examples
. Выведя подробный список файлов текущего каталога и его подкаталогов (ls -lR
), Иван обратил внимание, что у файлов text
и text-hardlink
совпадают и размер (” 653 “), и время создания. Это его совершенно не удивило, поскольку он знает, что теперь /home/ivan/text-hardlink
и /home/ivan/examples/text
- это два имени одного и того же файла.
В подробном описании, выведенном командой ls -l
, Ивану остались непонятны только два первых поля. Как объяснил Гончаров, первое “слово”, состоящее из знаков -drwx
, - это обозначение прав доступа к файлу, о которых речь пойдет в лекции 6. А следующее за ним число - количество жестких ссылок на данный файл или каталог. У text
и text-hardlink
стоит число ”2” - у этого файла два имени.
Доступ к одному и тому же файлу при помощи нескольких имен может понадобиться в следующих случаях:
Копирование и перемещение файлов | Индексные дескрипторы |