Гид по технологиям

Как найти самые большие файлы в Linux — быстро и безопасно

• 7 min read • Linux • Обновлено 29 Nov 2025
Найти большие файлы в Linux — быстро и безопасно
Найти большие файлы в Linux — быстро и безопасно

Оглавление

  • Использование ls
  • Использование find
  • Использование du
  • Поиск больших неиспользуемых файлов
  • GUI-приложения для поиска больших файлов
  • Удаление крупных файлов
  • Шпаргалка и чек-листы
  • Решающее дерево для выбора метода
  • Часто задаваемые вопросы

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

Использование ls

Команда ls обычно выводит список файлов и папок. Она также может показывать размеры и сортировать вывод. Ниже — практичные приёмы для поиска больших файлов в каталоге.

  • Просмотреть подробный список с правами и датой:
ls -l

Просмотр списка файлов и прав

  • Показать размеры в блоках вместе с подробной информацией:
ls -ls

Размеры файлов в блоках

  • Просмотреть рекурсивно все вложенные файлы и папки:
ls -lR

Рекурсивный просмотр содержимого папок

  • Отсортировать по размеру в порядке убывания (встроенный ключ ls):
ls -lS

Сортировка ls по размеру

  • Обратный порядок (меньшие сверху):
ls -lSr

Обратная сортировка

  • Использовать sort для числовой сортировки по размеру (полезно при нестандартном выводе):
ls -ls | sort -nr

Пайп в sort для числовой сортировки

  • Посмотреть содержимое конкретной точки в файловой системе (например, корня) и отобрать крупные элементы:
sudo ls -lS /

Список корневого каталога, отсортированный по размеру

Примечание: ls удобен для быстрой проверки конкретных директорий. Для поиска по всей системе чаще используют find и du.

Использование find

Команда find гибкая для поиска файлов по критериям: размер, дата изменения, имя и т. п. Ниже — типовые команды.

  • Найти все файлы в текущем каталоге:
find . -type f

Результат поиска файлов в каталоге

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

Поиск файлов больше 100 МБ

  • Поиск в указанной папке (пример — папка test):
find ./test -type f -size +100M
  • Искать по всему корню, но не заходить на другие смонтированные файловые системы:
sudo find / -xdev -type f -size +100M

Параметр -xdev запрещает спускаться в каталоги, расположенные на других файловых системах. Без -xdev команда просканирует все смонтированные тома:

sudo find / -type f -size +100M
  • Комбинировать поиск по времени изменения (например, не изменялись более 30 дней) и по размеру:
find / -xdev -type f -mtime +30 -size +100M

Это полезно для выявления большого количества старых и редко используемых файлов на сервере.

Использование du

du оценивает занимаемое пространство. В сочетании с sort и head оно выводит самые «тяжёлые» объекты.

  • Список всех файлов и папок с размерами (в блоках):
du -a

Вывод du без форматирования

  • Читаемые размеры (KB/MB/GB):
du -ah

Читаемые размеры du с флагом -h

  • Зафиксировать блоки в мегабайтах (полезно для точного сравнения):
du -a -B M

du с блоками в мегабайтах

  • Отсортировать и взять топ‑5 по размеру:
du -a -B M | sort -nr | head -n 5

Топ 5 по du

  • Топ‑10 по всей файловой системе:
du / -a -B M | sort -nr | head -n 10

du удобен для оценок занимаемого места по каталогам и быстро показывает, где «уходит» диск.

Поиск больших неиспользуемых файлов

Чтобы найти крупные файлы, которые давно не менялись, используйте сочетание find с опцией -mtime. Пример — файлы старше 30 дней и больше 100 МБ:

find / -xdev -type f -mtime +30 -size +100M

Так вы получите кандидатов для безопасного удаления или архивации.

GUI-приложения для поиска крупных файлов

Если вы работаете на рабочем столе, графический интерфейс поможет быстро обнаружить «тяжёлые» папки.

Disk Usage Analyzer (Baobab)

Disk Usage Analyzer предустановлен в среде Gnome и показывает наглядную диаграмму использования места.

  • Установить в Debian/Ubuntu:
sudo apt update
sudo apt install baobab
  • Установить в Fedora и RHEL-подобных:
sudo dnf install baobab
  1. Откройте приложение и выберите файловую систему или папку для сканирования.
  2. Подождите несколько секунд — приложение просканирует выбранную область.
  3. Перейдите по визуализации, чтобы найти крупные папки и файлы. Двойной клик откроет директорию.

Интерфейс Disk Usage Analyzer с диаграммой использования диска

Другие GUI‑утилиты:

  • Filelight
  • QDirStat
  • Duc
  • JDiskReport

GUI удобен для интерактивного исследования, но на сервере предпочтительнее CLI.

Удаление крупных файлов

После того как вы нашли файл, убедитесь, что он не нужен, и только потом удаляйте.

  • Удаление файла по пути:
rm /путь/к/файлу
  • Удаление непустой директории рекурсивно и принудительно:
rm -rf ~/Downloads

Важно: rm -rf удаляет безвозвратно. Проверьте путь и права. Лучше сначала переместить файл в карантинную папку или создать резервную копию.

Шпаргалка команд (cheat sheet)

  • Показать подробный список: ls -l
  • Показать и сортировать по размеру: ls -lS
  • Найти файлы > 100M в каталоге: find . -type f -size +100M
  • Найти файлы > 1G в корне, без других томов: sudo find / -xdev -type f -size +1G
  • Топ 10 элементов по месту на диске: du / -a -B M | sort -nr | head -n 10
  • Старые и большие файлы: find / -xdev -type f -mtime +30 -size +100M

Ролевые чек-листы

Системный администратор:

  • Проверить использование диска по разделам: df -h
  • Запустить du по подозреваемой директории
  • Найти файлы, не модифицированные более 30 дней
  • Согласовать с владельцами перед удалением
  • При необходимости — архивировать и переместить на бэкап

Пользователь рабочего стола:

  • Открыть Disk Usage Analyzer или Filelight
  • Найти большие папки в домашней директории
  • Очистить папку загрузок и временные файлы
  • Очистить кеш приложений и браузера

Решающее дерево для выбора метода

Mermaid-диаграмма ниже поможет выбрать инструмент в зависимости от ситуации.

flowchart TD
  A[Что вы хотите сделать?] --> B{Где искать}
  B --> |Локальная папка| C[ls или du]
  B --> |Вся система| D[find + du]
  B --> |GUI| E[Disk Usage Analyzer]
  C --> F[Если нужно топ‑N: du | sort | head]
  D --> G[Добавить -xdev или искать по дате]
  E --> H[Навигация, затем rm из терминала]

Когда методы не сработают — типичные случаи и обходные пути

  • Проблема: файл открыт, но удалился — место не освобождается. Решение: посмотрите открытые дескрипторы через lsof + grep deleted, перезапустите процесс, который держит файл.

  • Проблема: смонтированные сетевые тома содержат большие файлы, но find с -xdev их не видит. Решение: убрать -xdev или запустить find на конкретном монт-пойнте.

  • Проблема: файловой системой руководит программа резервного копирования, появляются «виртуальные» большие объекты. Решение: проверить настройки бэкапа, архивы, дедупликацию.

Риск‑матрица и рекомендации по смягчению

  • Неправильное удаление системного файла — высокий риск. Смягчение: проверять владельца и путь, делать бэкап.
  • Удаление пользовательских данных по ошибке — средний риск. Смягчение: переместить в карантин и уведомить владельца.
  • Автоматическое скриптовое удаление по размеру — средний/высокий риск. Смягчение: тестовый прогон, dry-run, журнал действий.

Критерии приёмки

  • Все найденные кандидаты на удаление имеют идентифицированного владельца или назначение.
  • Для критичных файлов созданы резервные копии или подтверждена их избыточность.
  • После удаления восстановлено ожидаемое свободное место на диске.

Короткая галерея исключений и подводных камней

  • Файлы логов, которые активно пишутся — будут расти снова. Рассмотрите лог-rotate.
  • Файлы в /tmp могут быть нужны текущим процессам — проверьте время доступа и владельца.
  • Снимки виртуальных машин и образы дисков занимают много места; удаляйте только после проверки целостности и бэкапов.

Глоссарий (1 строка — термины)

  • du: утилита оценки занимаемого пространства на диске.
  • find: утилита поиска файлов по критериям.
  • ls: утилита для вывода списка файлов и директорий.
  • -xdev: флаг find, запрещающий переход на другие файловые системы.
  • -mtime: критерий find для времени последней модификации.

Тесты и приемка

  • Тест 1: выполнить du / -a -B M | sort -nr | head -n 5 и подтвердить, что вывод содержит ожидаемые крупные каталоги.
  • Тест 2: найти файлы старше 30 дней и >100M, переименовать один файл в карантин и проверить, что сервисы работают.
  • Критерий приёмки: диск освободил внутри ожидаемого диапазона после удаления/архивации.

Часто задаваемые вопросы

Почему появляется ошибка «permission denied»?

Если вы выходите за пределы домашнего каталога, вам нужны права root. Используйте sudo перед командой для повышения привилегий, но будьте осторожны.

Как найти файлы больше 1 ГБ?

Команда:

sudo find / -xdev -type f -size +1G

Как узнать размер конкретной папки?

Можно использовать du на папке:

du -sh /путь/к/папке

Или открыть свойства папки в файловом менеджере.

Итог и рекомендации

  • На рабочих станциях начните с GUI и затем уточняйте командой du или ls.
  • На серверах используйте find и du с сортировкой, фильтрами по дате и по размеру.
  • Всегда проверяйте владельца и назначение файла перед удалением.
  • Настройте ротацию логов и бэкап, чтобы избежать повторного накопления больших файлов.

Источник изображений: Unsplash. Скриншоты интерфейсов: Hrishikesh Pathak.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро