Как найти файлы большого размера linux

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

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

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

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

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

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

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

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

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

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

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

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

  • Команда 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 и результат сортируется по размеру. Таким образом можно увидеть, кто занимает больше всего места на диске.

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

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

    Источник

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

    Find Large Files in Linux

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

    Со временем на вашем диске может появиться много ненужных файлов, которые занимают много места на диске. Обычно в системах Linux не хватает места на диске из-за больших файлов журнала или резервных копий.

    Найти большие файлы с помощью find команды

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

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

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

    find Команда также может быть использован в сочетании с другими инструментами , такими , как ls и sort для выполнения операций над этими файлами.

    В приведенном ниже примере мы передаем выходные данные find команды, в ls которой будет напечатан размер каждого найденного файла, а затем передаем эти выходные данные sort команде, чтобы отсортировать ее по 5-му столбцу, который является размером файла.

    Вывод будет выглядеть примерно так:

    Если выходные данные содержат много строк информации, вы можете использовать head команду для печати только первых 10 строк:

    Давайте разберем команду:

    • find . -xdev -type f -size +100M -print — искать только файлы ( -type f ) в текущем рабочем каталоге ( . ), размером более 100 МБ ( -size +100M ), не спускаться в каталоги на других файловых системах ( -xdev ) и печатать полное имя файла в стандартном выводе, за которым следует новая строка ( -print ) ,
    • xargs ls -lh — вывод find команды передается по конвейеру, xargs который выполняет ls -lh команду, которая будет печатать вывод в длинном листинговом удобочитаемом формате.
    • sort -k5,5 -h -r — сортировка строк на основе 5-го столбца ( -k5,5 ), сравнение значений в удобочитаемом формате ( -h ) и обратный результат ( -r ).
    • head : печатает только первые 10 строк конвейерного вывода.

    Команда find поставляется с множеством мощных опций. Например, вы можете искать большие файлы старше x дней, большие файлы с определенным расширением или большие файлы, принадлежащие конкретному пользователю.

    Найти большие файлы и каталоги с помощью du команды

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

    Следующая команда напечатает самые большие файлы и каталоги:

    Первый столбец содержит размер файла, а второй — имя файла:

    • du -ahx . : оцените использование дискового пространства в текущем рабочем каталоге ( . ), подсчитайте как файлы, так и каталоги ( a ), размеры печати в удобочитаемом формате ( h ) и пропустите каталоги в разных файловых системах ( x ).
    • sort -rh : сортировка строк путем сравнения значений в удобочитаемом формате ( -h ) и обратный результат ( -r ).
    • head -5 : печатает только первые 5 строк конвейерного вывода.

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

    Вывод

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

    Источник

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

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

    В этом руководстве объясняется, как найти самые большие файлы и каталоги в системах Linux с помощью команд find и du .

    Найдите большие файлы с помощью команды find

    Команда find — один из самых мощных инструментов в арсенале системных администраторов Linux. Он позволяет искать файлы и каталоги по различным критериям, включая размер файла.

    Например, чтобы найти файлы размером более 100 МБ в текущем рабочем каталоге , вы должны выполнить следующую команду:

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

    Команда find также может использоваться в сочетании с другими инструментами, такими как ls или sort для выполнения операций с этими файлами.

    В приведенном ниже примере мы передаем вывод команды find в ls который распечатывает размер каждого найденного файла, а затем передает этот вывод команде sort для сортировки на основе 5-го столбца, который является размером файла.

    Результат будет выглядеть примерно так:

    Если вывод содержит много строк информации, вы можете использовать команду head для печати только первых 10 строк:

    • find . -xdev -type f -size +100M -print — искать только файлы ( -type f ) в текущем рабочем каталоге ( . ), размер которых превышает 100 МБ ( -size +100M ), не переходить по каталогам в других файловых системах ( -xdev ) и вывести на стандартный вывод полное имя файла с новой строкой ( -print ).
    • xargs ls -lh — вывод команды find xargs по конвейеру в xargs который выполняет команду ls -lh , которая распечатывает вывод в формате длинного списка, удобном для чтения.
    • sort -k5,5 -h -r — отсортировать строки по 5-му столбцу ( -k5,5 ), сравнить значения в удобочитаемом формате ( -h ) и отменить результат ( -r ).
    • head : печатает только первые 10 строк вывода.

    Команда find имеет множество мощных опций. Например, вы можете искать большие файлы старше x дней, большие файлы с определенным расширением или большие файлы, принадлежащие определенному пользователю.

    Найдите большие файлы и каталоги с помощью команды du

    Команда du используется для оценки использования файлового пространства и особенно полезна для поиска каталогов и файлов, занимающих большие объемы дискового пространства.

    Следующая команда распечатает самые большие файлы и каталоги:

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

    • du -ahx . : оценка использования дискового пространства в текущем рабочем каталоге ( . ), подсчет файлов и каталогов ( a ), размеры печати в удобочитаемом формате ( h ) и пропуск каталогов в разных файловых системах ( x ).
    • sort -rh : сортировать строки, сравнивая значения в удобочитаемом формате ( -h ), и отменять результат ( -r ).
    • head -5 : печатает только первые пять строк конвейерного вывода.

    У команды du есть много других опций, которые можно использовать для уточнения вывода об использовании дискового пространства.

    Выводы

    Мы показали вам, как найти самые большие файлы и каталоги с помощью команд find и du .

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

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

    Источник

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

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

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

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

    1. GDMap

    Несмотря на то, что графических утилит есть около десятка, все они мне не очень нравятся. Например в Gnome можно использовать GDMap, а в KDE — fileslight. Обе утилиты сканируют файловую систему и выводят все файлы в виде диаграммы. Размер блока зависит от размера файла. Чем больше файл или папка, тем больше блок. Для установки GDMap в Ubuntu выполните:

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

    2. Утилита ncdu

    Это псевдографическая утилита, которая работает в терминале Linux. Она отображает список файлов и директорий по объёму и, что самое интересное, тут же позволяет удалять ненужные файлы. Для установки утилиты выполните:

    Затем запустите утилиту, передав ей в качестве параметра папку, которую надо просканировать. Можно проверить ту же домашнюю папку:

    У утилиты очень простое управление. Для перемещения по списку используйте кнопки со стрелками вверх и вниз, для открытия папки — клавишу Enter, а для удаления файла — кнопку d. Также можно использовать для перемещения кнопки в Vim стиле — h, j, k, l.

    3. Утилита du

    Если у вас нет возможности устанавливать новые утилиты, может помочь установленная по умолчанию во всех дистрибутивах утилита du. С помощью следующей команды вы можете вывести 20 самых больших файлов и папок в нужной папке, для примера снова возьмём домашнюю папку:

    Мы не можем использовать опцию -h для вывода размера в читабельном формате, потому что тогда не будет работать сортировка.

    4. Утилита find

    С помощью команды find вы тоже можете искать большие файлы Linux. Для этого используйте опцию -size. Например, давайте найдём файлы, которые больше 500 мегабайтов в той же домашней папке:

    Можно пойти ещё дальше — вывести размер этих файлов и отсортировать их по размеру:

    Самые большие файлы Linux будут сверху, а более мелкие — ниже.

    Источник

    Читайте также:  Режим bios устаревший что это значит windows 10
    Оцените статью