LINUX.ORG.RU

Как посчитать размер дерева подкаталогов? du -sh не катит, надо не занимаемое место посчитать а размер.


0

1

приветствую, о многоуважаемый Олл!

Встала задача - посчитать размер всех файлов в дереве подкаталогов.

Про утилиту du знаю, но скажем на файловой системе zfs с включенной упаковкой она считает честно место занимаемое файлами а не размер файлов. Скажем при упаковке gzip:

# /usr/bin/time dd if=/dev/zero of=10Gb.dat bs=1048576 count=10240
10240+0 записей считано
10240+0 записей написано
скопировано 10737418240 байт (11 GB), 32,3851 c, 332 MB/c

#df -h
zfs/SubVol-gzip 37G 0 37G 0% /mnt/SubVol-gzip

Чтение этих 10Gb нулей дает:
# dd if=10Gb.dat of=/dev/null bs=1048576
10240+0 записей считано
10240+0 записей написано
скопировано 10737418240 байт (11 GB), 2,97288 c, 3,6 GB/c

При этом:
# du -h 10Gb.dat
512 10Gb.dat

т.е. Этот файл честно занимает 512 байт.
Соответственно #du не посчитает размер деерва каталогов, посему сейчас это делаю лишь с помощью mc

Кто знает какой командой можно посчитать размер всего дерева подкаталогов?

всех благ,
0лег.

★★★

Соответственно #du не посчитает размер деерва каталогов

du -hs /path/to/dir, не ?

+

 --apparent-size      печатать действительные размеры, а не занимаемое на
                           диске  место; хотя действительный размер обычно
                           меньше, иногда он может быть больше из-за дыр в
                           («прореженных» sparse) файлах, внутренней фрагментации,
                           косвенных блоков и тому подобного

dhampire ★★★
()
Последнее исправление: dhampire (всего исправлений: 1)
Ответ на: комментарий от dhampire

О! Чудо!

--apparent-size

Спасибо! О гуру.
Удивился что просмотрел, позвал $man du
Там нет этой опции (Wheezy) удивился про то откуда оно взялость
и О! чудо, это есть в самом начале $du --help|less

всех благ, 0лег.

n0mad ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.