Ubuntu tidak membatasi ukuran direktori, itu dipaksakan oleh sistem file. Setiap file dan direktori disebut inode. Anda dapat menggunakan df -i
untuk 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 touch
utilitas:
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..600000
dan 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 test
butuh waktu lebih lama, jadi gunakan rm
dengan 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.
ext4
adalah 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.