Kaç dizin iç içe yerleştirilebilir?


13

Merak ediyorum, kaç klasör yuvalanabilir ve neden? Bir sınır var mı?

İç içe olarak kastettiğim, klasörlerin bu yapıda olduğu zaman:

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

Böyle değil:

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

Bir sınır varsa, işletim sistemi veya dosya sistemi tarafından mı ayarlanır?

Yanıtlar:


20

inodeNormal dosyalar gibi dizinlerin her biri bir inode aldığından sınır bölümünüzdeki s sayısı olacaktır .

Hiçbir şey başka bir dizinin içindeki bir dizin içinde bir dizin oluşturmanızı engellemez ve siz inodes bitene kadar devam eder .

Kabuğun komut satırının, gerçekten uzun yollarla ilgili sorunlara neden olabilecek bir maksimum uzunluğa sahip olduğunu, ancak yine de cdhedef dosyaya doğru kademeli olarak mümkün olabileceğini unutmayın .


2
Gerçekten de, deney ile bu ne mkdir -pyapar ve aşmaya izin verir MAX_PATH. Bu dosyalar kanonik yollarıyla açılamaz, ancak sorunsuz bir şekilde oluşturulabilir.
DepressedDaniel

1
Aslında oldukça mantıklı. Geçerli çalışma dizininde göreceli bir yol, bir inode başlar. Kodlar hiyerarşik olarak düzenlenmemiştir: hiyerarşinin derinliklerine bağlanan bir dizin ile dosya sisteminin kök dizini arasında bu açıdan bir fark yoktur.
Johan Myréen

3
@JuliePelletier POSIX (ve Linux) API'si, komut satırının maksimum uzunluğundan çok daha kısa olan bir maksimum PATH_MAX (Linux'ta 4096) tanımlar. Ve nitpick yaparken: maksimum komut satırı gerçekten bir kabuk kısıtlaması değildir. Sınır, execvesistem çağrısına bağımsız değişken vektör uzunluğu tarafından uygulanır ve bu nedenle herhangi bir program için geçerlidir.
Johan Myréen

1
@ JohanMyréen: Bunlar iyi gözlemler ama benim düşüncem, ne kadar derine inerse de, nispeten nispeten erişilebilir olacağıydı.
Julie Pelletier

2
@Arin Deneyin df -i.
Johan Myréen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.