Історично перша файлова система Unix створила два записи у кожному каталозі: .
вказівку на саму директорію та ..
вказівку на її батьківську. Це забезпечило простий спосіб перемістити файлову систему як для додатків, так і для самої ОС.
Таким чином, кожен каталог має кількість посилань 2 + n, де n - кількість підкаталогів. Посилання - це запис для цього каталогу у його батьківському, власний .
запис у каталозі та ..
запис у кожному підкаталозі. Наприклад, припустимо, що це вміст піддірення, корінням якого є /parent
всі каталоги:
/parent
/parent/dir
/parent/dir/sub1
/parent/dir/sub2
/parent/dir/sub3
Потім dir
має кількість посилань 5: dir
запис /parent
, .
запис /parent/dir
та три ..
записи у кожному з /parent/dir/sub1
, /parent/dir/sub2
та /parent/dir/sub3
. Оскільки /parent/dir/sub1
немає підкаталогу, кількість його посилань дорівнює 2 ( sub1
запис /parent/dir
та .
запис у /parent/dir/sub1
).
Щоб звести до мінімуму кількість спеціальних кожухів для кореневого каталогу, який не має "належного" батька, кореневий каталог містить ..
запис, що вказує на себе. Таким чином, він також має кількість посилань 2 плюс кількість підкаталогів, 2 є /.
і /..
.
Пізніші файлові системи, як правило, відслідковують батьківські каталоги в пам'яті і зазвичай не потребують .
і ..
існують як фактичні записи; типові сучасні системи Unix трактують .
і ..
як особливі значення як частина файлової системи, незалежної від типу файлової системи. Деякі файлові системи все ще містять .
і ..
записують, або роблять вигляд, що нічого не з'являється на диску.
Більшість файлових систем все ще повідомляють про кількість посилань 2 + n для каталогів незалежно від того, існують .
і ..
записи, але є винятки, наприклад, btrfs цього не робить.