Каталог с более чем 4096 байтами

505
musbach

Файл каталога обычно имеет размер 4096 байт. Однако у меня есть несколько файлов каталогов, которые имеют размер более 4096 байтов, например, 28672, 12288, 20480, 16384 (для ext4). Я прочитал эту статью, и там говорится: «Первоначальное распределение равно размеру одного сектора, но при необходимости может вырасти выше этого. После распределения пространство не освобождается, если файлы удаляются, чтобы уменьшить фрагментацию ». В этой статье не указано, как решить проблему. Копирование во второй каталог и удаление старого каталога может помочь. Но я ищу простую команду, которая очищает файлы каталогов.


Я нашел ответ здесь :

e2fsck -f 

Опция -D может быть опущена.

-2
Сначала я подумал, что вы на самом деле не хотите этого делать именно по той причине, о которой говорилось в вашей статье. неконфликтность, скорее всего, вызовет большую медлительность, чем файл каталога, занимающий несколько блоков. Frank Thomas 6 лет назад 0
Возможный дубликат [Почему размер каталога всегда равен 4096 байтам в Unix?] (Https://superuser.com/questions/142893/why-is-the-size-of-a-directory-always-4096-bytes -в-Unix) harrymc 6 лет назад 0
Пожалуйста, прочитайте справочную страницу e2fsck для опции -D. musbach 6 лет назад 0

1 ответ на вопрос

1
mtak

В зависимости от используемой файловой системы вы можете переместить все файлы в другой каталог, удалить исходный каталог, воссоздать его и переместить файлы обратно.

На практике; Вы действительно собираетесь беспокоиться обо всем этом для 20 КБ дискового пространства?

Я не беспокоюсь о дисковом пространстве, но я беспокоюсь о возможном повреждении или медлительности. musbach 6 лет назад 0

Похожие вопросы