Как найти общее дисковое пространство, занимаемое определенным пользователем, скажем, расположенное в /home/Mary?Какая функция доступна в Perl, чтобы знать это?
/home/Mary
Perl имеет Filesys::DiskUsage для этого.Есть только один недостаток, он не учитывает размер каталогов при подсчете.Только размер файлов.
Filesys::DiskUsage
use Filesys::DiskUsage qw/du/; $size = du ( { 'sector-size' => 1024 } , { 'human-readable' => 1 } , qw%/home/Mary% ); print "Total size: $size\n";
если Perl не обязателен, вы можете использовать команды оболочки
find /home -user "Mary" -type f -printf "%s\n" | awk '{sum+=$1}END{print sum" bytes"}'