Инсталляция Linux и первые шаги

         

Жесткие связи


Команда ln используется для создания множества связей для

одного файла. Например, скажем, что у вас есть файл foo.

Используя ls -i можно посмотреть индекс этого файла.

# ls -i foo

22192 foo

#

Здесь файл foo имеет в файловой системе индекс 22192. Мы

можем создать новую связь для этого файла под именем bar:

# ln foo bar

С помощью ls -i можно убедиться, что оба файла имеют один и

тот же индекс.

# ls -i foo bar

22192 bar 22192 foo

#

Теперь, обращаясь к foo или bar мы фактически обратимся к

одном у тому же файлу. Поэтому, если мы меняем что-то в файле



foo, эти же самые изменения произойдут в файле bar.

Эти связи известны, как жесткие связи (hard links),

поскольку они

реализуются прямой ссылкой на индекс файла. Обратите внимание,

что в рамках одной файловой системы вы можете организовать только

жесткие связи; символические связи (смотрите ниже) не имеют этого

ограничения.

Когда вы удаляете файл командой rm, на самом деле вы

удаляете только одну ссылку на файл. Если вы введете команду

# rm foo

Удаляется только связь, имеющая имя foo; bar будет как и

прежде существовать. Файл только тогда действительно удаляется,

когда на него больше нет связей. Обычно файлы имеют только одну

связь, так что команда rm действительно приведет к удалению

файла. Однако, если файл имеет много ссылок, применение rm

приведет только к удалению одной связи; для того, чтобы удалить

файл, вы должны удалить все связи на этот файл.

Команда ls -l покажет число ссылок на файл (кроме прочей

информации)

# ls -l foo bar

-rw-r--r-- 2 root root 12 Aug 5 16:51 bar

-rw-r--r-- 2 root root 12 Aug 5 16:50 foo

#

Вторая колонка с цифрой ``2'' показывает число связей файла.

Самом деле оказывается, что каталоги представляют из

себя справочник типа "имена-индексы". Кроме прочего, каждый

каталог имеет минимум две жесткие ссылки: ``.'' (ссылка,

указывающая на самого себя) и ``..'' (ссылка, указывающая на

родительский каталог). В корневом каталоге (/) ссылка

``..'' указывает на сам же каталог /.



Содержание раздела