почему размер кота меньше реальных файлов?

Интересно, что здесь происходит, и действительно ли я правильно объединяю файлы или теряю некоторые из них. Итак, я хочу объединить все файлы (все txt) в папке (называемой de) в один txt-файл. Вот два моих способа:

cat de/* >> de_merged_all
du -h de_merged_all
353M    de_merged_all

Теперь, если я проверю размер папки de, я получу:

 du -h de
 383M   de

Итак, почему эти числа не совпадают?


person user3639557    schedule 23.05.2015    source источник
comment
Неа. ls -d .* говорит, что в папке нет скрытого файла...   -  person user3639557    schedule 23.05.2015
comment
Некоторые несвязанные файлы?: lsof +L1   -  person pasaba por aqui    schedule 23.05.2015
comment
Сколько файлов в каталоге?   -  person pasaba por aqui    schedule 23.05.2015
comment
Много их. Таким образом, я поддерживаю ответ от @Joe   -  person pasaba por aqui    schedule 23.05.2015


Ответы (1)


du измерить использование диска. Поскольку каждый файл округляется вашей файловой системой до большего блока, отдельные небольшие файлы занимают больше места, чем один объединенный файл.

Например:

$ echo >a
$ ls -l a
-rw-r--r-- 1 user group 1 May 23 18:33 a
joe@seashell:/tmp$ du -h a
4.0K    a

Однобайтовый файл занимает на диске 4 КБ.

person Joe    schedule 23.05.2015