Ubuntu не обмежує розмір каталогу, він накладається файловою системою. Кожен файл і каталог - це так званий inode. Ви можете використовувати df -i
для перевірки кількості використовуваних входів та доступних для всіх змонтованих файлових систем.
Щойно я створив 1 мільйон і один файл без проблем, тому що мій інтервал для мого домашнього розділу ext4 розміром 50 Гб (46 Гб) досить великий.
Я використовував розширення оболонки для створення файлів у поєднанні з touch
утилітою:
mkdir test
cd test
touch {0..300000}
touch {300000..600000}
touch {600000..900000}
touch {900000..1000000}
Це створює 1000001 файли, які можна перевірити ls | wc -l
. Чому 300000..600000
і ні 300001..600000
? Тому що я був лінивий ставити цю 1 наприкінці.
df -i
виглядає як:
/dev/sda6 3055616 1133635 1921981 38% /home
Тепер видаліть тестові файли ( cd ..&&rm -f test
зайняло набагато більше часу, тому використовуйте файли rm
):
rm {0..300000}
rm {300000..600000}
rm {600000..900000}
rm {900000..1000000}
cd ..
rmdir f
а кількість використаних входів зменшилася відразу після видалення файлів:
/dev/sda6 3055616 133634 2921982 5% /home
Зауважте, що навіть якщо файлова система дозволяє настільки велику кількість файлів, це жахлива ідея зберігати такі великі файли в одному каталозі. Принаймні використовуйте деякі підкаталоги зі структурою на кшталт f/i/l/e/filename.ext
. Програми часто не очікують такої великої кількості файлів.
ext4
це тип файлової системи, а не розширення файлу. Не можете створити каталог для редагування черги? Я сумніваюся, що ці програми можуть добре працювати з такою великою кількістю файлів.