Скільки файлів я можу мати в одному каталозі?


21

Це питання пов'язане з цим .

Я працюю з анімацією, яка генерує багато файлів (+/- 1 000 000), які зазвичай зберігаються в одному каталозі. На Mac Os X деякі помилки вивели більше +/- 30 000 файлів, тому я використовував для розбиття анімації на різні каталоги.

Чи існує обмеження на Ubuntu для кількості файлів, які може містити одна директорія?

Відповіді:


32

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. Програми часто не очікують такої великої кількості файлів.


1
ext4це тип файлової системи, а не розширення файлу. Не можете створити каталог для редагування черги? Я сумніваюся, що ці програми можуть добре працювати з такою великою кількістю файлів.
Лекенштейн

1
Звичайно, можу. Я просто уявляю проблеми, перш ніж потрапити до них. Ви маєте рацію щодо Adobe After Effects, безумовно, аварії, але не сумнівайтеся, хлопці Autodesk, вони роблять дивовижні шматочки коду ... =) схоже на використання Ferrari. Дуже легко врізатися, дуже швидко та потужно, тому що заблокований на землі. Сподіваюся, моя англійська має сенс.
H_7

1
Я розумію це. Так, рівно 17 000 репутації ^^
Лекенштейн

1
Перш ніж видалити файли, спробуйте відкрити цей каталог у Nautilus і подивіться, що відбувається;).
Маріо

1
@bzero Будь ласка, відкрийте для цього нове запитання.
Лекенштейн
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.