Berapa banyak direktori yang bisa disarangkan?

13

Saya ingin tahu, berapa banyak folder yang bisa disarangkan, dan mengapa? Apakah ada batasannya?

Yang saya maksud dengan nested adalah ketika folder berada dalam struktur ini:

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

Tidak seperti ini:

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

Jika ada batasan, apakah ditetapkan oleh sistem operasi, atau oleh sistem file?

Aaron Esau
sumber

Jawaban:

20

Batasnya adalah jumlah inodes pada partisi Anda karena direktori, seperti file biasa, masing-masing mengambil inode.

Tidak ada yang akan menghentikan Anda dari membuat direktori di dalam direktori di dalam direktori lain dan seterusnya sampai Anda kehabisan inode.

Perhatikan bahwa baris perintah shell memang memiliki panjang maksimum yang dapat menyebabkan masalah dengan jalur yang sangat panjang, tetapi masih mungkin untuk secara cdprogresif menuju file target.

Julie Pelletier
sumber
2
Memang, dengan bereksperimen inilah yang mkdir -pdilakukan dan dibiarkan melebihi MAX_PATH. File seperti itu tidak dapat dibuka oleh jalur kanonik mereka, tetapi orang dapat membuatnya tanpa masalah.
DepressedDaniel
1
Sebenarnya cukup logis. Jalur relatif dimulai pada direktori kerja saat ini, sebuah inode. Inode tidak diatur secara hierarkis: tidak ada perbedaan dalam hal ini antara direktori yang terhubung jauh di hierachy nama dan direktori root sistem file.
Johan Myréen
3
@JuliePelletier API POSIX (dan Linux) mendefinisikan PATH_MAX maksimum (4096 di Linux), yang jauh lebih pendek daripada panjang maksimum baris perintah. Dan saat kita melakukan nitpicking: baris perintah maksimum sebenarnya bukan pembatasan shell. Batas dikenakan oleh panjang vektor argumen untuk execvepanggilan sistem, dan karenanya berlaku untuk program apa pun.
Johan Myréen
1
@ JohanMyréen: Itu adalah pengamatan yang baik tetapi poin saya adalah bahwa itu masih dapat diakses secara relatif, tidak peduli seberapa dalam.
Julie Pelletier
2
@Arin Coba df -i.
Johan Myréen