Размер файлов и каталогов на Mac через терминал отличается от реального размера

На Mac я хочу рассчитать размер папки:

ls -la производит следующий вывод:

PC:aggregations user$ ls -la
total 16
drwxr-xr-x   4 user  staff   136 Dec  6 14:33 .
drwxr-xr-x  23 user  staff   782 Dec  6 11:29 ..
-rw-r--r--@  1 user  staff  1954 Dec  6 14:33 test_agg_1.csv
-rw-r--r--@  1 user  staff  1954 Dec  4 11:00 test_agg_2.csv

Почему размер текущего каталога (.) только 136 байт, в то время как файлы CSV суммируют до ~4000 байты?

Более того, du -s производит:

PC:aggregations user$ du -s *
8   test_agg_1.csv
8   test_agg_2.csv
PC:aggregations user$ du -s
16  .

Может кто-нибудь дать объяснение и предложить, как я могу рассчитать фактический размер каталога?

2 ответа

Использовать -c флаг в du для общего итога.

Согласно man du страница,

-c      Display a grand total.

Итак, предполагая содержимое ниже в моей текущей папке.

dudeOnMac:myScripts freddy$ du -ch .
  0B    ./a
4.9M    ./abcd
4.0K    ./b
  0B    ./hello-images/first-black
  0B    ./hello-images/second-atlas
  0B    ./hello-images
  0B    ./temp/a
  0B    ./temp/b
4.0K    ./temp
5.0M    .
5.0M    total

Чтобы получить большую сумму в одиночку.

dudeOnMac:myScripts freddy$ du -ch . | tail -1
5.0M    total

Проверено на MacOS.

du(1) - справочная страница по Linux

название

du - оценить использование файлового пространства

...

Описание

Суммируйте использование диска каждого ФАЙЛА, рекурсивно для каталогов.

Я думаю, что du смотрит на "размер на диске" вместо реального размера после загрузки в память.

С размером блока 8 Кбайт в качестве Кванта, результат 'du' будет иметь смысл в сравнении с первым ('ls -la').

Другие вопросы по тегам