Линукс самые большие папки

Блог Александра Башкирова

Этот сайт в основном посвящен тому, что мне интересно вне работы. Ведется в порядке хобби.
Все изложенное на сайте — мое частное оценочное мнение и не может быть истолковано иначе.
Со всеми вытекающими из этого последствиями.

Linux: как найти самые большие папки

Немного прикладного шаманства или как в linux найти самые большие папки:

du -skh * | sort -h | tail -10 | grep G # команда выводит 10 самых больших папок, еcли размер их больше гигабайта

В принципе все просто: ловим вывод du (disk usage), сортируем его (-h — с использованием человекоподобной сортировки, то есть корректно работа с гингабайтами, килобайтами и т.д.). Далее берем последние 10 строк и выводим только те, которые «весят» больше гигабайта.

Результат получается достаточно наглядный.

du -sk * | sort -rn #отображает размер и имена файлов и директорий, с соритровкой по размеру

Большое ПС — запускать имеет смысл в домашней директории и от текущего пользователя. Потому что можно конечно и с корня через sudo — но в этом случае вы увидите размер «хомяка» и, например, /usr . и все равно придется разбираться с /home. Ну и — если есть желание смотреть за хомяками всех пользователей, то для этого есть другие средства. Приведенная команда — «чисто, чтобы понять, где у меня скопилась куча мусора».

Еще записи по теме

Источник

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

Пользователи компьютеров обычно знают, по какой причине у них заканчивается место на диске — скачено слишком много файлов с помощью Torrent, слишком много фотографий накопилось за последние годы, слишком большой видеоархив с последних событий и так далее. Но иногда ситуации не такие тривиальные — место может закончится на системной диске или на удалённом веб-сервере. В этой статье мы рассмотрим способы, которые позволят найти самые большие папки, которые заняли слишком много места на диске.

Описанные варианты ориентированы на командную строку — специально чтобы быть применимыми одновременно и для пользователей с настольными компьютерами, и для администраторов веб-серверов.

1. ncdu для очистки папок

Программа ncdu является одним из самых удобных вариантов — она просто отлично справляется со своими задачами. У неё Ncurses интерфейс, то есть для обычных пользователей это будет просто очень удобно, а для администраторов, обслуживающих удалённые веб-сервера без графического интерфейса она также подойдёт, поскольку Ncurses не требует графического окружения рабочего стола.

Читайте также:  Net ads info команда linux

Программа очень интуитивная и проста в использовании, достаточно запустить её:

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

2. Как с помощью du найти самые большие папки

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

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

# Для пользователей с американской локалью sudo du -Phx | grep '[0-9\.]\+G' # Для других: sudo du -Phx | grep '[0-9\,]\+G'

Вместо нужно вписать директорию в системе, например, если мы хотим начать с корневой директории:

Эта команда покажет только папки, размер которых измеряется гигабайтами.

Следующая команда делает нечто похожее, но сортирует папки по возрастанию размера и показывает только 10 самые тяжёлые:

sudo du -Phx | sort -hr | head

Пример для анализа всей корневой файловой системы:

sudo du -Phx / | sort -hr | head

  • опция -P говорит не следовать по символическим ссылкам (это может привести к тому, что файлы будут посчитаны дважды)
  • опция -x означает оставаться на одной файловой системе (очень полезно, не будут посчитаны смонтированные диски, а также диски с виртуальной файловой системой)
  • опция -h печатает размер файлов в простом для восприятия человеком формате
  • sudo для повышения привилегий — позволяет команде считать размер всех директорий и не выводить множество ошибок из-за недостатка прав на чтения папок

Чтобы указать корневую директорию, используйте /, чтобы указать текущую директорию, используйте . (точка). В любой из перечисленных выше команд вы можете указывать определённую папку, чтобы начать сбор информации с неё. Например, когда вы нашли папку с большим размером и хотите узнать больше подробностей о ней, укажите её в одной из команд.

3. Как найти большие файлы

Если есть основания думать, что нехватка места на диске заключается в том, что его заняли какие-то большие файлы (например, файлы логов какого-то приложения) а не множество маленьких файлов, то с помощью команды find можно выполнить поиск файлов, размер которого больше определённого, например:

Эта команда найдёт все файлы, размер которых больше 10 мегабайт.

В этой команде вместо / (означает искать начиная с корневой директории) вы можете указать любую другую директорию. А вместо +10M вы можете указать любое значение и другой префикс, например вместо M (мегабайты) указать G (гигабайты).

Читайте также:  Alpine linux add user to group

Источник

Найти большие файлы и директории в Linux

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

Наиболее популярная утилита для получения размера файлов и папок в Linux – это ncdu. По умолчанию она не установлена, но присутствует во всех стандартных репозиториях популярных дистрибутивов Linux.

Для установки ncdu в Ubuntu или Debian, выполните команду:

В Orace/Rocky Linux/CentOS/RHEL:

Чтобы получить размер всех файлов и элементов в указанном каталоге, выполните команду:

Перед вами появится список файлов, каталогов и их размер. Утилита ncdu позволяет перемешаться по списку объектов ( стрелки вверх и вниз ). Чтобы открыть определенный каталог, нажмите Enter . Для удаления файла/директории, нажмите d .

ncdu поиск больших файлов в linux

Если на вашем хосте установлен файловый менеджер MC (Midnight Commander), вы можете показать размер каталога, нажав клавишу Ctrl + Пробел .

midnight commander показать размер директории

Если на сервере отсутствуют другие утилиты, вы можете использовать встроенную команду du для получения размер файлов на диске.

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

$ sudo du -ahx . | sort -rh | head -10

В первом столбце указан размер объекта файловой системы, во втором имя.

du - показать самые большие файлы и папки

  • . – выполнить расчет в текущем каталоге
  • a – учитывать размер файлов и директорий
  • h – преобразовать размер в удобный формат
  • x – пропускать каталоги в разных файловых системах
  • sort -rh – выполнить сортировку рузультатов
  • head -10 – вывести только первые 10 строк

Чтобы получить размер объектов в указанной директории:

$ du -ahx /var | sort -rh | head -10

Если нужно просканировать только объекты с уровнем вложенности не более 1, выполните:

$ du /var/* —max-depth=1 -ahx |sort -hr

Утилита ncdu работает значительно быстрее, чем du. Поэтому на серверах с большим количеством объектов, сканирование размера директорий с помощью du может занять значительное время.

Источник

Поиск больших файлов и директорий в Linux

Поиск больших файлов в Linux

Дисковое пространство не вечно. Рано или поздно приходит момент, когда его катастрофически не хватает. Эффективный способ это исправить — найти файлы и директории, которые занимают больше всего места.

Рассмотрим, как это сделать в Linux с использованием команд find и du .

Поиск больших файлов командой find

Простой поиск

Команда find имеет опцию -size , которая позволяет указать размер файлов для поиска.

Найдем файлы, которые занимают больше 1Gb:

find . -mount -type f -size +1G 2>/dev/null
  • Символ точка . после самой команды find, означает, что поиск нужно вести в текущей директории. Вместо точки вы можете указать, например, корневой раздел / или путь до любой другой директории.
  • -mount означает, что в процессе поиска не нужно переходить на другие файловые системы.
  • -type f означает, что мы ищем файлы.
  • -size +1G означает, что нужно найти файлы, размер которых превышает 1Gb. Размер можно указать в различных форматах:
    • b — блоки размером 512 байт. Числом указывается количество блоков.
    • c — в байтах. Например: -size +128с
    • w — в двухбайтовых словах
    • k — в килобайтах
    • M — в мегабайтах
    • G — в гигабайтах

    Команда find

    В результате выполнения команды будет выведен список файлов без какой-либо дополнительной информации.

    Вывод подробной информации

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

    find . -mount -type f -size +512M -print 2>/dev/null | xargs -r -d '\n' ls -lh | sort -k5,5 -h -r

    команда find xargs

    Данная команда состоит из трех частей:

    • Команда find ищет файлы, которые имеют размер больше 512 мегабайт.
    • Результирующий список файлов передается команде xargs , которая, в свою очередь, запускает команду ls -lh над этим списком файлов. В результате получается таблица с файлами и информацией о файлах. Опция -r , команды xarg, используется для того, чтобы не запускать команду ls, если команда find вернула пустой результат (не нашла файлов). Вместо -r можно использовать длинную запись — опцию —no-run-if-empty
      Опция -d ’\n’ используется, чтобы разделять список файлов только по символу новой строки (по \n ). А у нас так и есть — каждый файл на новой строке. Иначе неправильно будут обработаны файлы, в названии которых содержится пробел, так как по умолчанию команда xarg в качестве разделителя использует одновременно пробел, табуляцию или символ новой строки. Примечание: Для BSD-систем вместо -d ’\n’ нужно использовать опцию −0 , а у команды find вместо -print использовать -print0 . Пример: find . -mount -type f -size +512M -print0 2>/dev/null | xargs -0 ls -lh | sort -k5,5 -h -r
    • Затем результат команды ls передается команде sort , которая выполняет сортировку списка (таблицы) по пятой колонке — 5-я колонка содержит размеры файлов.
      Ключ -h означает, что результат нужно вывести в удобно-читаемом виде (human-readable).
      Ключ -r означает, что сортировку нужно выполнять по убыванию (reverse).

    Поиск больших файлов и директорий командой du

    Команда du используется для вывода размеров файлов и директорий в Linux. Ее можно использовать для поиска больших файлов и директорий. Для этого выполняется команда du и результат сортируется по размеру. Таким образом можно увидеть, кто занимает больше всего места на диске.

    Найдем пять самых больших файлов и директорий:

    команда du размеры файлов и директорий

    • Символ . указывает путь и означает текущую директорию. Для поиска в другой директории укажите вместо точки ее путь.
    • Опции -ahx означают:
      a — искать и файлы и директории;
      h — выводить информацию в удобно-читаемом формате;
      x — не выполнять поиск на других файловых системах.
    • sort -rh выполняет сортировку результата.
    • head −5 выводит только пять первых результатов.

    Источник

Оцените статью
Adblock
detector