Berapa banyak file yang dapat saya miliki di satu direktori?

21

Pertanyaan ini terkait dengan yang ini .

Saya bekerja dengan animasi, yang menghasilkan BANYAK file (+/- 1.000.000) yang biasanya disimpan pada satu direktori. Di Mac Os X, beberapa bug muncul dengan lebih dari +/- 30.000 file, jadi saya biasa memecah animasi menjadi berbagai direktori.

Di Ubuntu, apakah ada batasan jumlah file yang bisa disimpan oleh satu direktori?

H_7
sumber

Jawaban:

32

Ubuntu tidak membatasi ukuran direktori, itu dipaksakan oleh sistem file. Setiap file dan direktori disebut inode. Anda dapat menggunakan df -iuntuk memeriksa jumlah inode yang digunakan dan tersedia untuk semua sistem file yang terpasang.

Saya baru saja membuat 1 juta dan satu file tanpa masalah karena batas inode saya untuk partisi rumah ext4 saya sebesar 50 GB (46 GiB) cukup besar.

Saya menggunakan ekspansi shell untuk membuat file, dikombinasikan dengan touchutilitas:

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

Ini menciptakan 1000001 file yang dapat diverifikasi dengan ls | wc -l. Kenapa 300000..600000dan tidak 300001..600000? Karena saya terlalu malas untuk meletakkannya di akhir.

df -i seperti:

/dev/sda6            3055616 1133635 1921981   38% /home

Sekarang hapus file uji ( cd ..&&rm -f testbutuh waktu lebih lama, jadi gunakan rmdengan nama file):

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

dan jumlah inode yang digunakan berkurang segera setelah penghapusan file:

/dev/sda6            3055616  133634 2921982    5% /home

Perhatikan bahwa walaupun sistem file memungkinkan jumlah file yang besar, itu adalah ide yang mengerikan untuk menyimpan file besar seperti itu dalam satu direktori. Setidaknya gunakan beberapa subdirektori dengan struktur seperti f/i/l/e/filename.ext. Program seringkali tidak mengharapkan file dalam jumlah besar.

Lekensteyn
sumber
1
ext4adalah tipe sistem file, bukan ekstensi file. Tidak bisakah Anda membuat direktori untuk mengantri suntingan? Saya ragu bahwa program-program itu dapat berjalan dengan baik dengan jumlah file yang besar.
Lekensteyn
1
Tentu aku bisa. Saya hanya membayangkan masalah sebelum saya sampai ke mereka. Anda benar tentang Adobe After Effects, pasti macet, tapi jangan ragu Autodesk kawan, mereka membuat potongan kode yang luar biasa ... =) terlihat seperti menggunakan Ferrari. Sangat mudah untuk crash, sangat cepat dan kuat karena terhalang di tanah. Semoga bahasa Inggris saya masuk akal.
H_7
1
Aku mengerti itu. Yay, tepatnya 17.000 reputasi ^^
Lekensteyn
1
Sebelum menghapus file, coba dan buka direktori ini di Nautilus dan lihat apa yang terjadi;).
Mario
1
@ bzero Silakan buka pertanyaan baru untuk itu.
Lekensteyn