Historiquement , le premier système de fichiers Unix créait deux entrées dans chaque répertoire: .
pointant sur le répertoire lui-même et ..
sur son parent. Cela fournissait un moyen facile de parcourir le système de fichiers, à la fois pour les applications et pour le système d'exploitation lui-même.
Ainsi, chaque répertoire a un nombre de liens de 2 + n, où n est le nombre de sous-répertoires. Les liens correspondent à l'entrée de ce répertoire dans son parent, à la propre .
entrée du répertoire et à l' ..
entrée de chaque sous-répertoire. Par exemple, supposons qu'il s'agisse du contenu du sous-arbre /parent
dont tous les répertoires sont enracinés :
/parent
/parent/dir
/parent/dir/sub1
/parent/dir/sub2
/parent/dir/sub3
Il y dir
a ensuite un nombre de liens de 5: l’ dir
entrée dans /parent
, l’ .
entrée dans /parent/dir
et les trois ..
entrées dans chacune de /parent/dir/sub1
, /parent/dir/sub2
et /parent/dir/sub3
. Étant donné qu’il /parent/dir/sub1
n’ya pas de sous-répertoire, son nombre de liens est 2 (l’ sub1
entrée /parent/dir
et l’ .
entrée /parent/dir/sub1
).
Pour minimiser le nombre de casse spéciale pour le répertoire racine, qui n'a pas de parent «approprié», le répertoire racine contient une ..
entrée pointant sur elle-même. De cette façon, il a également un nombre de liens de 2 plus le nombre de sous-répertoires, le 2 étant /.
et /..
.
Les systèmes de fichiers ultérieurs ont eu tendance à garder une trace des répertoires parents en mémoire et n’ont généralement pas besoin d’exister .
et ..
doivent exister en tant qu’entrées réelles; Les systèmes Unix modernes typiques traitent .
et ..
comme des valeurs spéciales dans le code du système de fichiers indépendant du type de système de fichiers. Certains systèmes de fichiers sont encore .
et ..
entrées, ou font semblant de même si rien ne semble sur le disque.
La plupart des systèmes de fichiers font encore un nombre de liens de 2 + n pour les répertoires que ce soit .
et les ..
entrées existent, mais il y a des exceptions, par exemple Btrfs ne le fait pas.