Wie viele Verzeichnisse können verschachtelt werden?


13

Ich bin neugierig, wie viele Ordner können verschachtelt werden und warum? Gibt es ein Limit?

Was ich mit verschachtelt meine, ist, wenn Ordner in dieser Struktur sind:

folder
 |_ folder
     |_ folder
         |_ folder
             |_ ...

So nicht:

folder
 |_ folder
 |_ folder
 |_ folder
 |_ ...

Wenn es ein Limit gibt, wird es vom Betriebssystem oder vom Dateisystem festgelegt?

Antworten:


20

Das Limit ist die Anzahl der inodes auf Ihrer Partition, da Verzeichnisse wie normale Dateien jeweils eine Inode haben.

Nichts hindert Sie daran, ein Verzeichnis innerhalb eines Verzeichnisses innerhalb eines anderen Verzeichnisses usw. zu erstellen, bis Sie keine inodes mehr haben.

Beachten Sie, dass die Befehlszeile der Shell eine maximale Länge hat, die Probleme mit sehr langen Pfaden verursachen kann. Es ist jedoch weiterhin möglich, cdschrittweise auf die Zieldatei zuzugreifen.


2
In der Tat, experimentell ist dies das, was mkdir -pes erlaubt, zu übertreffen MAX_PATH. Solche Dateien können nicht über ihren kanonischen Pfad geöffnet werden, aber man kann sie problemlos erstellen.
DepressedDaniel

1
Eigentlich ist es ziemlich logisch. Ein relativer Pfad beginnt am aktuellen Arbeitsverzeichnis, einer Inode. Inodes sind nicht hierarchisch angeordnet: In dieser Hinsicht besteht kein Unterschied zwischen einem Verzeichnis, das tief in der Namenshierarchie verknüpft ist, und dem Stammverzeichnis des Dateisystems.
Johan Myréen

3
@JuliePelletier Die POSIX- (und Linux-) API definiert einen maximalen PATH_MAX-Wert (4096 unter Linux), der viel kürzer als die maximale Länge der Befehlszeile ist. Und während wir nicht auswählen: Die maximale Befehlszeile ist nicht wirklich eine Shell-Einschränkung. Die Begrenzung wird durch das Argument vector length für den execveSystemaufruf festgelegt und gilt daher für alle Programme.
Johan Myréen

1
@ JohanMyréen: Das sind gute Beobachtungen, aber mein Punkt war, dass es noch relativ zugänglich wäre, egal wie tief es geht.
Julie Pelletier

2
@Arin Versuchen df -i.
Johan Myréen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.