Tek bir dizinde kaç dosya olabilir?


21

Bu soru ile ilgilidir bu bir .

Genellikle tek bir dizinde depolanan LOT dosya üreten (+/- 1,000,000) animasyon ile çalışıyorum. Mac Os X'te bazı hatalar +/- 30.000'den fazla dosyayla geldi, bu yüzden animasyonu çeşitli dizinlere böldüm.

Ubuntu'da, tek bir dizinin tutabileceği dosya sayısı için bir sınır var mı?

Yanıtlar:


32

Ubuntu bir dizinin boyutunu sınırlamaz, dosya sistemi tarafından empoze edilir. Her dosya ve dizin sözde bir inode'dur. Sen kullanabilirsiniz df -itüm dosya sistemlerini monte için kullanımda ve kullanılabilir düğüm sayısını kontrol etmek.

Sorunsuz bir şekilde 1 milyon ve bir dosya oluşturdum çünkü 50 GB'lik ext4 ev bölümüm için inode limitim yeterince büyük.

touchYardımcı programla birlikte dosyaları oluşturmak için kabuk genişletme kullandım :

mkdir test
cd test
touch {0..300000}
touch {300000..600000}
touch {600000..900000}
touch {900000..1000000}

Bu, doğrulanabilecek 1000001 dosya oluşturur ls | wc -l. Neden 300000..600000ve değil 300001..600000? Çünkü sonunda bu 1'i koymak için çok tembeldim.

df -i benziyor:

/dev/sda6            3055616 1133635 1921981   38% /home

Şimdi test dosyalarını kaldırın ( cd ..&&rm -f testdaha uzun sürdü, bu yüzden rmdosya isimleriyle kullanın ):

rm {0..300000}
rm {300000..600000}
rm {600000..900000}
rm {900000..1000000}
cd ..
rmdir f

ve kullanılan inode sayısı, dosyaların kaldırılmasından hemen sonra azaldı:

/dev/sda6            3055616  133634 2921982    5% /home

Dosya sistemi bu kadar çok sayıda dosyaya izin verse bile, bu kadar büyük dosyaları tek bir dizinde saklamanın korkunç bir fikir olduğunu unutmayın. En azından gibi bir yapıya sahip bazı alt dizinleri kullanın f/i/l/e/filename.ext. Programlar bu kadar büyük miktarda dosya beklememektedir.


1
ext4dosya uzantısı değil bir dosya sistemi türüdür. Düzenlemeleri sıralamak için bir dizin oluşturamıyor musunuz? Bu programların bu kadar büyük dosya miktarlarıyla iyi çalışabileceğinden şüpheliyim.
Lekensteyn

1
Tabii ki yapabilirim. Sadece onlara ulaşmadan sorunları hayal ediyorum. Adobe After Effects hakkında haklısın, kesinlikle çarpışacaksınız, ancak Autodesk adamlarından şüphelenmeyin, harika kod parçaları oluşturuyorlar ... =) bir Ferrari kullanıyor gibi görünüyor. Çarpması çok kolay, çok hızlı ve güçlü çünkü zeminde tıkalı. İnşallah benim ingilizce mantıklı.
H_7

1
Anlıyorum. Yay, tam olarak 17.000 itibar ^^
Lekensteyn

1
Dosyaları silmeden önce, Nautilus'ta bu dizini açmayı deneyin ve ne olduğunu görün;).
Mario

1
@bzero Lütfen bunun için yeni bir soru aç.
Lekensteyn
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.