Мне нравятся другие ответы, и я хотел бы добавить, что часть того, что имеет смысл (по крайней мере, для меня), состоит в том, что каталоги - это, по сути, особые типы файлов. Любой "специальный" тип файла в UNIX имеет обязательные атрибуты, которые делают его соответствующим его "специальной" классификации типов. Без ВСЕХ этих атрибутов система может не распознать его таким, каким он должен быть, или может неправильно его интерпретировать. Вы можете просмотреть каталог как файл, используя, скажем, vim. Например, если вы посмотрите на любой каталог в вашей системе с помощью vim,
$ vim ~
вы увидите, что первая незакомментированная вещь, указанная в этом "файле", - это «../», то есть первая вещь, указанная в этом специальном файле, - это родительский каталог, и, как вы ожидаете, его родитель на один уровень вверх. , Но если вы вместо этого попробуйте
$ vim /
в первой строке без комментариев вы увидите «./» вместо «../». Почему разница и почему она должна быть здесь? «/» должен иметь "родителя" в списке, чтобы соответствовать требованиям распознавания в качестве специального файла типа "каталог". Без этого перечисления вначале было бы так, как если бы в «/» был указан другой родительский элемент (т. Е. Все, что было в начале в специальном файле «/»), и я подозреваю (но не подтвердил), что это приведет к одному из его потомков быть интерпретированным как его родитель, создавая цикличность в файловой системе, т. е. это больше не будет корневая файловая система, а скорее круговая! Другими словами, если система всегда будет интерпретировать первую запись в "файле каталога" как "родитель этого каталога", то «/» должен иметь соответствующий первый список для правильной интерпретации.