Ядро поддерживает уникальный номер, известный как
struct stat для двух имен файлов указывают, что оба эти номера одни и те же, можно быть уверенным, что они на самом деле ссылаются на один и тот же файл.Как упоминалось ранее, программы уровня пользователя помещают структуры индексов и другие вспомогательные данные на раздел диска, создавая тем самым файловую систему. Эти самые программы создают для файловой системы начальный корневой каталог. Таким образом, нам придется провести различие между «корневым каталогом, названным /
/ является также «корневым каталогом» «корневой файловой системы».По причинам, описанным на врезке, у корневого каталога файловой системы номер индекса
..' в корне смонтированной файловой системы ссылается на родительский каталог точки монтирования.На рис. 8.1 показаны две файловые системы: одна для корневого каталога, а другая для /usr
/usr смонтирована. На рис. 8.2 показана ситуация после монтирования /usr.Рис. 8.1
. Отдельные файловые системы до монтированияРис. 8.2
. Отдельные файловые системы после монтированияКаталог /
/. и /.. ссылаются на один и тот же каталог; это неверно для любого другого каталога в системе. (Таким образом, после команды типа 'cd /../../../..' вы все еще будете в /.) Это поведение реализуется простым способом: как /., так и /.. являются прямыми ссылками на корневой каталог файловой системы. (Вы можете видеть это как на рис. 8.1, так и 8.2.) Каждая файловая система работает таким способом, но ядро рассматривает / особым образом и не рассматривает как особый случай каталог '..' для файловой системы, смонтированной в /.