Анализ использования дискового пространства

LinuxBeginner
Практиковаться сейчас

Введение

Чтобы очистить переполненный жёсткий диск, нужно ответить на два вопроса:

  1. «Где находятся огромные коробки?» — то есть каталоги, занимающие много места.
  2. «Где находятся гигантские предметы?» — то есть большие файлы.

Инструменты:

  • find: металлоискатель — находит файлы по размеру.
  • du: весы — показывает размер каталогов.
  • sort: органайзер — упорядочивает результаты по размеру.

В этой лабораторной работе вы проведёте профессиональную проверку дискового пространства — своего рода «генеральную уборку».

Такой анализ часто выполняют в рабочей среде. Когда файловая система заполняется, обычно важно ответить не на вопрос «Диск заполнен?», а на вопрос «Какие именно файлы или каталоги заняли всё место?».

Поиск больших файлов (find)

Используйте find, чтобы поймать «крупную рыбу» — файлы размером более 100 МБ.

cd ~/project
find . -type f -size +100M

Разбор команды:

  • .: текущий каталог.
  • -type f: искать только файлы.
  • -size +100M: размер файла больше 100 МБ.

Команда find эффективна тем, что выполняет поиск по заданным правилам, а не требует вручную просматривать каталоги. Поэтому она особенно полезна в больших или неструктурированных файловых системах.

Результат:

./storage/backup_v1.iso

Сохраните отчёт в файл:

find . -type f -size +100M > large_files.txt
cat large_files.txt

Команда cat выведет содержимое отчёта. Убедитесь, что в нём отображается найденный большой файл.

Анализ размеров каталогов (du)

Иногда проблема заключается не в одном большом файле, а в «ящике с хламом», где накопилось множество небольших файлов.

С помощью du проверьте размер каталога /var, в котором хранятся изменяемые данные:

sudo du -h --max-depth=1 /var

Разбор команды:

  • -h: выводить размеры в удобном для чтения формате — MB, GB.
  • --max-depth=1: показывать только каталоги первого уровня внутри /var. Это особенно важно, чтобы получить общий обзор.

Результат:

246M    /var/cache
5.5G    /var/lib
...

По выводу видно, что /var/lib — самая тяжёлая «коробка», то есть каталог, занимающий больше всего места среди показанных.

Анализ на уровне каталогов полезен, потому что проблемы с хранилищем часто возникают либо из-за одного огромного файла, либо из-за области файловой системы, где со временем накопилось много данных.

Сортировка каталогов по размеру (sort)

Неупорядоченные списки трудно читать. Используйте sort, чтобы организовать результаты.

Объедините du, sort и head в «золотую комбинацию»:

sudo du -h --max-depth=1 /var | sort -hr | head -n 5 > ~/project/top_var_dirs.txt

Разбор команды:

  • du ...: получить размеры каталогов.
  • sort -hr: отсортировать размеры в удобном для чтения формате (h) в обратном порядке (r) — от большего к меньшему.
  • head -n 5: показать только первые 5 строк.

Проверьте отчёт:

cat ~/project/top_var_dirs.txt

В выводе должны отображаться пять каталогов /var с наибольшим размером. Это стандартный рабочий процесс системного администратора.

Запомните этот порядок действий: найдите область, занимающую много места, отсортируйте результаты, а затем сначала сосредоточьтесь на очистке тех мест, где она даст наибольший эффект.

Итоги

В этой лабораторной работе вы научились быть «детективом» при анализе дискового пространства.

  • find -size: помог найти конкретные большие файлы — «крупную рыбу».
  • du -h --max-depth=1: помог оценить размеры основных каталогов — «тяжёлых коробок».
  • sort -hr: помог упорядочить каталоги и определить приоритеты очистки.

С помощью этих инструментов вы сможете быстро ответить на вопрос «Почему сервер переполнен?» и устранить проблему до того, как она станет серьёзной.