Методы расчета размера папки в Bash с примерами кода

Чтобы узнать размер папки в Bash, вы можете использовать различные методы. Вот несколько подходов с примерами кода:

Метод 1: использование команды du

du -sh /path/to/folder

Эта команда отображает общий размер папки в удобочитаемом формате (-h) и предоставляет сводную информацию (-s) о размере.

Метод 2: использование команды lsи цикла

total_size=0
for file in /path/to/folder/*; do
  if [ -f "$file" ]; then
    size=$(du -b "$file" | awk '{print $1}')
    ((total_size+=size))
  fi
done
echo "Total size: $total_size bytes"

Этот метод перебирает все файлы в папке с помощью цикла, проверяет, является ли каждый элемент файлом, и складывает их размеры с помощью du -b(отображает размеры в байтах) и awk, чтобы извлечь размер.

Метод 3: использование команды findи du

find /path/to/folder -type f -exec du -ch {} + | grep total$

Эта команда использует findдля поиска всех файлов (-тип f) в папке и выполняет du -chдля каждого файла. Вывод передается в grepдля извлечения строки, содержащей общий размер.