Практическое задание

Эта задача — шаг 10 курса «Диски, ссылки и свободное место»

Суммарный размер файлов

средне~5 мин

Посчитай суммарный размер в байтах всех обычных файлов в каталоге /srv/logs (рекурсивно, вместе с подкаталогами) и запиши число в /root/total.txt.

Что потренируешь:
  • find -printf
  • %s размер
  • awk суммирование
  • агрегат
  • рекурсия

Разбор темы

find -printf ФОРМАТ выводит для каждого найденного объекта заданные поля: %s — размер в байтах, %p — полный путь, %f — имя, %m — права восьмерично, %u/%g — владелец/группа. Поток чисел легко агрегировать в awk: {s+=$1} END{print s} накапливает сумму по всем строкам и печатает её один раз в конце. Это универсальный приём подсчёта итогов по колонке.

Что проверяется

  1. верная сумма
  2. совпадает с расчётом по всем файлам

Как это выглядит