<Предыдущая | Содержание: | Следующая>
Создание жестких ссылок
Теперь попробуем несколько ссылок. Сначала жесткие ссылки. Мы создадим несколько ссылок на наш файл данных следующим образом:
[я @ linuxbox детская площадка] $ В развлечении весело [я @ linuxbox детская площадка] $ ln весело dir1 / весело-жесткий [я @ linuxbox детская площадка] $ ln весело dir2 / весело-жесткий
[я @ linuxbox детская площадка] $ В развлечении весело [я @ linuxbox детская площадка] $ ln весело dir1 / весело-жесткий [я @ linuxbox детская площадка] $ ln весело dir2 / весело-жесткий
Итак, теперь у нас есть четыре экземпляра файла fun. Взглянем на наш каталог детских площадок:
[я @ linuxbox детская площадка] $ ls -l
Всего 16
drwxrwxr-х | 2 | me | me | 4096 | 2016-01-14 | 16:17 | dir1 |
drwxrwxr-х | 2 | me | me | 4096 | 2016-01-14 | 16:17 | dir2 |
-rw-r - r-- | 4 | me | me | 1650 | 2016-01-10 | 16:33 | fun |
-rw-r - r-- | 4 | me | me | 1650 | 2016-01-10 | 16:33 | веселый |
Вы заметите, что второе поле в списке для fun и веселый оба содержат «4» - количество жестких ссылок, существующих в данный момент для файла. Вы помните, что файл всегда будет иметь хотя бы одну ссылку, потому что имя файла создается ссылкой. Итак, как мы узнали, что fun и веселый это, по сути, один и тот же файл? В этом случае, ls не очень помогает. Пока мы видим, что fun и веселый оба имеют одинаковый размер (поле 5), наш список не дает возможности быть уверенным. Чтобы решить эту проблему, мы
придется копать немного глубже.
Размышляя о жестких ссылках, полезно представить, что файлы состоят из двух частей: части данных, содержащей содержимое файла, и части имени, которая содержит имя файла. Когда мы создаем жесткие ссылки, мы фактически создаем дополнительные части имени, которые все относятся к одной и той же части данных. Система назначает цепочку дисковых блоков тому, что называется инода, который затем связывается с частью имени. Таким образом, каждая жесткая ссылка относится к определенному inode, содержащему содержимое файла.
Команда ls У команды есть способ раскрыть эту информацию. Он вызывается с параметром «-i»:
[я @ linuxbox детская площадка] $ лс-ли
Всего 16
12353539 | drwxrwxr-х | 2 | me | me | 4096 | 2016-01-14 | 16:17 | dir1 |
12353540 | drwxrwxr-х | 2 | me | me | 4096 | 2016-01-14 | 16:17 | dir2 |
12353538 | -rw-r - r-- | 4 | me | me | 1650 | 2016-01-10 | 16:33 | fun |
12353538 | -rw-r - r-- | 4 | me | me | 1650 | 2016-01-10 | 16:33 | веселый |
В этой версии листинга первое поле - это номер inode и, как мы видим, оба fun и веселый имеют один и тот же номер inode, что подтверждает, что это один и тот же файл.