Статьи от создателей этого сайта

Unix, FreeBSD, объём файлов в каталоге в байтах

Сегодня я был на одном сервере под FreeBSD, и понадобилось мне посчитать размер каталога в байтах. Понадобилось потому, что mc не показывает в байтах размер каталогов большого объёма (вроде, до 1 ГБ только показывает). Попробовал du, поспрашивал поисковики, спросил друга. Предложенными решениями доволен не остался, т.к. они работали криво или вообще не работали. Не желая отступать, искал и думал несколько часов.

Сократив повествование о том, как много ушло сил и нервов, сообщаю, что в Unix и FreeBSD размер всех в файлов в каталоге (и субкаталогах, т.е. рекурсивно) (именно, кстати, тот объём, который кто-то в Интернет метко обозвал effective space a file occupies) можно измерить в байтах, находясь в исследуемом каталоге, так:

find . -type f -exec ls -l {} \; | awk '{ s+=$5 } END { print s }'

// Сделано мной путём удаления нескольких символов из этого:
// You can use something like this to find the size (in bytes) of all files in the current directory modified within last 30 days:
// find . -type f -mtime -30 -exec ls -l {} \; | awk '{ s+=$5 } END { print s }'
// - взято здесь: http://www.unix.com/unix-dummies-questions-answers/68326-find-total-size-some-files.html


размещено на http://vrubon.ru [ 27 Сентября 2010 г. ]


[ все материалы ]