- Как найти самые большие папки и файлы в Linux
- Узнать самые большие директории / папки с помощью du
- Поиск самых больших файлов с помощью утилиты ls
- 🐧 Список всех каталогов и сортировка по размеру на Linux
- Как вывести список 10 самых больших каталогов
- Bash-скрипт для перечисления каталогов по размеру
- Поиск больших файлов в Linux
- Найдите большие файлы с помощью команды find
- Найдите большие файлы и каталоги с помощью команды du
- Выводы
- linux-notes.org
- Поиск больших папок/файлов linux
- Поиск больших файлов в Linux
- 1. Обнаружение больших каталогов и файлов в Linux
- 2. Нахождение топ крупнейших каталогов в Linux
- 3. Нахождение топ самых больших файлов в Linux
- Нахождение самых больших файлов с определенным расширением в Linux
Как найти самые большие папки и файлы в Linux
Когда кончается место на жестком диске, возникает закономерный вопрос: на что же оно было потрачено, какие файлы разрослись больше положенного?
Сегодня мы займёмся поиском «толстяков» на файловой системе. И сделаем это аж двумя разными способами. В принципе, мы можем обойтись и одним. Но двумя абсолютно разными всё же интереснее!
Узнать самые большие директории / папки с помощью du
Во многих Unix системах (а среди них, например, Linux, MacOS, FreeBSD) присутствует утилита du, которая так и расшифровывается — dusk usage — использование диска. Её и логичнее всего запустить для поиска больших директорий или, если вам привычнее, папок.
Где ключи «-sh» означают: только директории в указанной, а также — в человеко-читаемом виде. То есть просим рассказать о размерах директорий только на 1 уровень вглубь. Это удобно, когда мы хотим примерно представить, где у нас обирают самые большие файлы. Можно и убрать ключ «s» и увидеть информацию по всем папкам, но листинг будет довольно большим.
Дальше, если вы приметили, в какой директории хотите конкретно покопаться:
С ключом «a» du выведет информацию и о файлах, и о папках. Всё это можно чуть-чуть улучшить. Например, вывести топ-10 самых больших папок (дабы не рыться в списке):
du нам отдаст список всех директорий с их размером, sort отсортирует всё в обратном порядке (от большого к малому) с учётом, что 1Gb больше 10Mb, ну а head отдаст 10 верхних записей — то есть как раз наши топ-10 файлов по размеру.
Аналогично можно поменять ключ «s» на «a» — будет список вперемешку: файлы и папки.
Поиск самых больших файлов с помощью утилиты ls
Второй способ, возможно, покажется кому-то менее интуитивным. но у команды ls есть ключ -l , который выводит подробную информацию по всем файлам, переданным ей в виде аргументов, либо же просто текущей директории.
Так что нам осталось только подготовить список файлов, среди которых мы будем искать самые большие. Для этого используем команду find, которая и умеет искать рекурсивно файлы на нашей файловой системе. Особо требований у нас нет — просто файлы (без директорий/блоковых устройств/сокетов и прочих файлов в общем смысле Unix).
И вот у нас есть уже список всех файлов, которые можно найти из текущей директории. Теперь нужно их передать на вход ls с помощью команды xargs, а результат отсортировать по 5-му столбцу (где и указан размер файла). Ну и head для того, чтобы листинг не был громоздким:
Вот так, комбинируя различные команды Unix, мы получили довольно занятные «программы» для поиска самых больших файлов на нашем жёстком диске.
Источник
🐧 Список всех каталогов и сортировка по размеру на Linux
Когда дело доходит до очистки жесткого диска в системах Linux, чтобы освободить место или стать более организованным, полезно определить, какие каталоги занимают больше всего места на диске.
В этом руководстве мы покажем вам, как составить список всех каталогов и отсортировать их по их общему размеру в Linux с помощью примеров командной строки или скрипта Bash.
Как вывести список каталогов по размеру с помощью командной строки
Утилиты командной строки df и du – два лучших инструмента, которые у нас есть для измерения потребления диска в системах Linux.
Для проверки использования диска по папкам особенно полезна команда du.
При запуске du без каких-либо дополнительных параметров имейте в виду, что он будет проверять общее использование диска в каждом подкаталоге индивидуально.
В зависимости от того, насколько глубока ваша структура папок, это может быть огромное количество каталогов, и ваш терминал будет засыпан большим количеством спама.
В следующем примере мы запустим du в каталоге, полном ISO-файлов Linux, но это только один каталог по глубине.
Мы добавим параметр -h (удобочитаемый), чтобы было легче увидеть, сколько пространства занимают эти каталоги.
Мы видим, что папка AlmaLinux использует 11 ГБ, а папка Debian – только 349 МБ.
Общий объем всех этих папок составляет 44 ГБ, как указано в последней строке.
Посмотрим, что произойдет, если у нас будет более глубокая структура папок.
Как видите, каталоги «Debian-based» и «RHEL-based» имеют два и три подкаталога соответственно.
Вывод дает нам довольно подробный взгляд на то, сколько места использует каждый подкаталог.
Если у вас есть глубокая структура, мы можем использовать флаг –max-depth = N, чтобы указать du, сколько подкаталогов он должен пройти.
Чтобы отсортировать эти каталоги по размеру и упростить определение того, какие из них занимают больше всего места, мы можем передать нашу команду du утилите sort.
Если вы используете параметр -h для du, убедитесь, что вы также используете его для sort.
Или, чтобы ограничить количество рекурсивно просматриваемых каталогов:
В этих примерах мы запускали du из текущего рабочего каталога.
Имейте в виду, что вы можете указать любой каталог с помощью рассматриваемой команды – вам не обязательно находиться в каталоге, который вы проверяете.
Если вы попытаетесь запустить du в рутовом каталоге, чтобы увидеть пространство для хранения на всем диске, имейте в виду, что вам нужно выполнить эту команду с правами root, и вам следует перенаправить stderr в /dev/null, поскольку вы получите в вашем выводе много спама типа “permission denied”.
Как вывести список 10 самых больших каталогов
Используя приведенные выше команды, даже небольшие каталоги будут перечислены в выходных данных команды du.
Однако во многих случаях вас могут интересовать только 10 крупнейших каталогов или какое-то их количество.
В этом случае мы можем передать наш вывод команде head, чтобы показать только самые большие каталоги.
Обратите внимание, что мы также используем команду tail, чтобы не выводить размер родительского каталога, который в данном случае не имеет значения.
Bash-скрипт для перечисления каталогов по размеру
Команд du и sort, а также параметров, которые мы рассмотрели, должно быть достаточно, чтобы помочь вам легко проверить использование диска по папкам.
Вместо того, чтобы запоминать эти различные параметры команд и вводить их каждый раз, мы можем немного облегчить себе жизнь, поместив все это в скрипт.
Следующий скрипт принимает 2 аргумента.
Первым аргументом будет имя каталога, в котором мы начнем поиск, а вторым аргументом будет количество каталогов, которые скрипт должен вывести.
А вот пример выполнения сценария скрипта из командной строки:
Источник
Поиск больших файлов в 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-notes.org
Поиск больших папок/файлов linux
Как то столкнулся с проблемой поиска больших папок на Linux на хостинге. Мне нужно было найти большие папки чтобы потом почистить их, я погуглив определенное время и нашел несколько решений и сейчас я в своей статье «поиск больших папок linux» покажу несколько примеров поиска больших папок в Linux.
1. Поиск больших папок в текущей папке, с помощью команды что ниже:
Ключ «r» указывает утилите ls, чтобы она выводила все большие файлы в конце.
2. Можно искать большие файлы по ихним разрешением, допустим нужно найти большие файлы MP3/MPEG, чтобы это сделать, выполните:
3. Вот еще один способ найти самые большие папки:
du — утилита суммирует статистику для каждого файла с каталогами.
Ключи:
-s — показывать уже итог для каждого аргумента;
-c — выводит сумарный итог;
-k — использовать блоки размером 4K (синоним —block-size=4K);
-h — Выводить все размеры в удобном для чтения и понимания (для примера, 4K 2M 8G);
sort — утилита для сортировки и вывода файлов на экран.
Ключи:
-r — (reverse) — обратить результаты сравнения;
-n — сортировать по размеру.
head — утилита которая выведет первые 10 строк для каждого файла.
Ключи:
-n — вывести N строк для каждого файла, но не первые 10 строк.
Приведу еще полезные варианты:
Найти 10 самых больших фалов, начиная с ‘/’ (корня)
Найти 10 самых больших фалов, начиная с ‘/home’
Тема «поиск больших папок linux» завершена.
Источник
Поиск больших файлов в Linux
1. Обнаружение больших каталогов и файлов в Linux
Во-первых, мы посмотрим на то, как мы можем найти самые большие файлы и каталоги в Linux, выполнив следующую команду, чтобы найти топ-10 больших каталогов и файлов на сервере Linux:
Вывод должен показать вам самые большие каталоги и файлы:
2. Нахождение топ крупнейших каталогов в Linux
Эта команда может быть очень полезна, когда вам необходимо проверить размер каталогов в корневом разделе, чтобы получить представление о том, как используется распределяется пространство на сервере, с помощью следующей команды вы можете найти топ 10 крупнейших каталогов в корневом разделе:
Вывод должен показать вам самые большие каталоги:
Кроме того, можно использовать следующую команду, чтобы проверить размер подкаталогов данного каталога, в данном случае мы будем использовать каталог «var»:
Вывод должен перечислить поддиректории каталога «var»:
3. Нахождение топ самых больших файлов в Linux
Иногда вы можете искать большие файлы, особенно большие лог-файлы, которые могут довольно быстро заполнить ваш сервер, с помощью следующей команды вы можете найти топ 10 самых больших файлов на сервере:
Вывод должен показать вам самые большие файлы:
Нахождение самых больших файлов с определенным расширением в Linux
Если вы ищете большие файлы с определенным расширением, вы можете найти топ 10 самых больших файлов по их расширению с помощью следующей команды, мы будем использовать расширение «deb» в этом случае:
Вывод должен показать вам самые большие файлы, содержащие указанное расширение:
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник