Чому цей порожній каталог 3,5 Мб?


16

Я щойно прочитав це питання: Що означає розмір каталогу у виведенні команди 'ls -l'?

... що не зовсім відповідає на моє запитання. В основному я переміщу файли в NAS. Папки, які я вже перемістив, повністю порожні, без прихованих файлів і нічого, і все duще повідомляють про їх розмір у 3,5 Мб. Правда, раніше вони містили велику кількість файлів із довгими іменами.

Це розмір просто через кількість та довжину імен файлів, які знаходились у цьому каталозі? Чому розмір не зменшився, коли папки порожні (файлова система ext4)?


1
du схильний мислити інакше, ніж люди, він дає звіт на основі деяких налаштувань файлової системи. ви можете перевірити "--apparent-size" тут: gnu.org/software/coreutils/manual/html_node/du-invocation.html .
Hermann Ingjaldsson

Коли ви копіюєте новостворені порожні каталоги в NAS, про що вони повідомляють про їх розміри? Також у вас є доступ до NAS, де ви можете запустити tune2fs, наприклад?
slm

Ви рахували знімки?
mdpc

@slm - вони виходять у нормальному розмірі 4096 (байт?).
shearn89

@mdpc - знімки?
shearn89

Відповіді:


16

Коли ви видаляєте всі файли з каталогу, для більшості файлових систем каталог залишається однакового розміру.

Якщо каталог порожній,

rmdir ./directory_name; mkdir ./directory

Отриманий новий каталог буде меншим. Але в міру додавання файлів він буде зростати. Не турбуйтеся про розмір файлу каталогів стільки, скільки кількість файлів в одному каталозі. Величезна кількість файлів у одному каталозі негативно впливає на пошук файлів. Навіть при достатньому кешуванні inode.


4
Велика кількість файлів в 1 каталозі справді має значення лише для файлових систем ext. Такі, як xfs, btrfs, reiser тощо, не мають тієї ж проблеми.
Патрік

2
Це правильно. Однак у ufs є проблема, як і у інших. Хоча це питання суворо ext4, проблема є всюдисущою, тому я згадував її.
jim mcnamara

Окрім проблем із продуктивністю, розміщення занадто багато файлів у каталозі може спричинити й інші проблеми - це rm *може призвести до проблем, якщо у вас більше 1024 файлів.
Sean McSomething

@SeanMcSomething Які проблеми ти маєш на увазі?
Хатшепсут

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