460 ГБ, свободно 14: археология диска разработчика — как найти и удалить скрытые гигабайты

Нехватка места на диске — знакомая боль для каждого разработчика. Когда свободное пространство сжимается до критических значений, а системные утилиты показывают лишь общую картину, начинается самое интересное: археология диска. Именно такому исследованию посвящена недавняя статья на Habr, где автор обнаружил, что из 460 ГБ доступно всего 14 ГБ, и отправился в путешествие по дебрям собственного накопителя. Источник.

В этой статье мы разберём, как провести собственную «археологическую экспедицию» по диску, какие инструменты помогут найти похитителей места и как навсегда избавиться от цифрового мусора. Вы получите готовый чек-лист и примеры команд для Linux, macOS и Windows.

Почему диск заполняется незаметно

Разработчики часто сталкиваются с феноменом «ползучего заполнения»: вроде бы ты не сохранял ничего нового, а места становится всё меньше. В статье на Habr упоминаются типичные виновники: старые версии проектов, кэш сборок, логи отладки, образы Docker и даже забытые виртуальные машины. Автор провёл ревизию и обнаружил, что значительную часть занимали:
- Папка node_modules в старых проектах (даже после удаления проекта остаются в системе)
- Кэш IDE (особенно IntelliJ IDEA и VS Code)
- Неиспользуемые Docker-образы и контейнеры
- Системные дампы памяти
- Логи браузеров и инструментов разработчика

По данным исследования компании Cloudian (2025), средний разработчик теряет до 40 ГБ в год из-за неконтролируемого роста кэша и временных файлов.

Пошаговый гайд по аудиту диска

Шаг 1. Визуализация занятого пространства

Первым делом нужно понять, какая именно директория съедает ресурсы. Универсальный инструмент — утилиты, показывающие дерево папок с размерами.

Для Windows:
- WizTree — молниеносно сканирует NTFS
- WinDirStat — классика, строит карту блоков

Для macOS:
- DaisyDisk — наглядная диаграмма
- GrandPerspective — бесплатный аналог

Для Linux:
- ncdu (NCurses Disk Usage) — консольная утилита с псевдографикой

sudo apt install ncdu
ncdu /
  • du + sort — быстрый поиск самых тяжёлых папок вручную
du -sh /* 2>/dev/null

| sort -rh | head -20
du -sh ~/.* 2>/dev/null

| sort -rh | head -10

Шаг 2. Охота на «слонов» в домашней директории

Разработчики часто хранят файлы в ~/Downloads, ~/Documents и ~/Desktop. Но основные пожиратели — скрытые папки. Примеры команд для поиска:

Linux/macOS:

# Найти все файлы > 1 ГБ в домашней папке
find ~ -type f -size +1G -exec ls -lh {} \; 2>/dev/null
# Проверить размер папки .cache
ncdu ~/.cache

Windows (PowerShell):

Get-ChildItem -Path $env:USERPROFILE -Recurse -ErrorAction SilentlyContinue

| Where-Object { $_.Length -gt 1GB } | Select-Object FullName, Length | Sort-Object Length -Descending

Шаг 3. Разбор папок проектов

Старые проекты — главный кандидат на удаление. Автор статьи на Habr нашёл несколько заброшенных репозиториев, которые вместе занимали более 50 ГБ. Вот как провести ревизию:

  1. Откройте терминал в корневой папке проектов (~/Projects, ~/Dev и т.п.)
  2. Выполните скрипт для поиска папок, к которым не обращались более года:
for d in */; do
  last_commit=$(git -C "$d" log -1 --format="%at" 2>/dev/null)
  if [ -n "$last_commit" ]; then
    age=$(( $(date +%s) - last_commit ))
    if [ $age -gt $((365*24*3600)) ]; then
      du -sh "$d"
    fi
  fi
done

Шаг 4. Очистка кэша пакетных менеджеров

npm:

npm cache clean --force

В статье упоминается, что ~/.npm/_cacache может вырасти до десятков гигабайт. Проверьте размер:

du -sh ~/.npm

pip (Python):

pip cache purge

Maven:

rm -rf ~/.m2/repository/*

Внимание: удаление локального репозитория Maven может потребовать перезагрузки зависимостей для активных проектов.

Docker:

docker system prune -a --volumes

Образы, контейнеры и тома занимают гигантские объёмы — часто именно они являются скрытыми «чемоданами».

Шаг 5. Системные логи и дампы

  • Linux: проверьте /var/log/, особенно старые ротированные логи (*.gz, *.1).
sudo journalctl --vacuum-size=200M
  • macOS: папка ~/Library/Logs/ часто содержит логи отладки Xcode, Simulator и других инструментов.
  • Windows: C:\Windows\Temp и %TEMP% — стандартные места для временных файлов. Не бойтесь удалять содержимое (если файлы не используются).

Автоматизация: как не доводить до критической отметки

Одноразовая чистка — хорошо, но без регулярности проблема вернётся. Предлагаем простой скрипт для Linux/macOS, который можно запускать раз в месяц:

#!/bin/bash
# clean_dev_cache.sh

# 1. Очистка npm-кеша
npm cache clean --force 2>/dev/null

# 2. Очистка pip-кеша
pip cache purge 2>/dev/null

# 3. Docker prune (осторожно: удаляет все неиспользуемые образы)
docker system prune -af --volumes 2>/dev/null

# 4. Удаление логов старше 30 дней
find ~/Library/Logs -type f -name "*.log" -mtime +30 -delete 2>/dev/null
find /var/log -type f -name "*.log.*" -mtime +30 -delete 2>/dev/null

# 5. Удаление файлов из корзины старше 7 дней (macOS)
if [[ "$OSTYPE" == "darwin"* ]]; then
  "/System/Library/CoreServices/Finder.app/Contents/Resources/MySIMBL" 2>/dev/null || true
  osascript -e 'tell app "Finder" to empty trash' 2>/dev/null || true
fi

echo "Очистка завершена."

Что делать с найденными старыми проектами?

Автор статьи применил принцип «археологии»: сначала оценил, какие проекты ещё могут понадобиться, затем упаковал остальные в архив и переместил на внешний диск. Вот алгоритм:

  1. Просмотреть историю коммитов — когда в последний раз вносились изменения.
  2. Если проект не менялся более года и не является текущим, переместить его в ~/Archived_projects/.
  3. Создать резервную копию на облачном хранилище или внешнем носителе.
  4. Удалить исходную папку (через rm -rf или корзину).

Заключение

История с 460 ГБ, из которых свободно только 14, — не анекдот, а реальность многих разработчиков. Проведя «раскопки» один раз и настроив регулярную очистку, вы сможете вернуть десятки гигабайт и избежать сюрпризов в самый неподходящий момент. Главное — не бояться удалять то, что точно не пригодится, но всегда иметь резервную копию для важных данных.

Следите за своим диском, и он отблагодарит вас быстродействием и свободным пространством. А если вы хотите научиться эффективно управлять инфраструктурой и автоматизировать рутинные процессы — изучите возможности ASI Biont для мониторинга ресурсов.

← Все статьи

Комментарии

Читайте также

Как построить выигрышную стратегию ИИ-трансформации: из курса Asibiont по бизнес-трансформации с помощью ИИ

25 июля 2026

Интеграция ProtonMail с AI-агентом: автоматизация зашифрованных email-процессов без кода

25 июля 2026

Как подключить VGA-дисплей на ESP32 к AI-агенту ASI Biont: мониторинг IoT данных в реальном времени

25 июля 2026

Prentis: новая AI-лаборатория Рида Хоффмана и Марка Пинкуса ведёт переговоры о привлечении $100 млн

25 июля 2026

Почему маркетологам пора выйти за рамки атрибуции и принять агентную оптимизацию

25 июля 2026

Speaker & Buzzer + ASI Biont: как AI-агент превращает зуммер в интеллектуальную систему оповещения

25 июля 2026

Автоматизируйте платежные операции: как AI-агент ASI Biont интегрируется с Qiwi API, чтобы сократить время сверки на 80%

24 июля 2026

12 промтов для генерации изображений: от стилей до референсов в Midjourney, DALL·E и Stable Diffusion

24 июля 2026

Vibe coding с OpenAI: новый голосовой режим в ChatGPT Desktop меняет правила игры

24 июля 2026