- Поиск больших файлов и директорий в Linux
- Поиск больших файлов командой find
- Простой поиск
- Вывод подробной информации
- Поиск больших файлов и директорий командой du
- Поиск больших файлов в Linux
- 1. Обнаружение больших каталогов и файлов в Linux
- 2. Нахождение топ крупнейших каталогов в Linux
- 3. Нахождение топ самых больших файлов в Linux
- Нахождение самых больших файлов с определенным расширением в Linux
- Как найти самые большие папки и файлы в Linux
- Узнать самые большие директории / папки с помощью du
- Поиск самых больших файлов с помощью утилиты ls
- Как найти файлы и папки занимающие больше всего места в Linux
- 1. ncdu для очистки папок
- 2. Как с помощью du найти самые большие папки
- 3. Как найти большие файлы
- Поиск больших файлов в Linux
- Найдите большие файлы с помощью команды find
- Найдите большие файлы и каталоги с помощью команды du
- Выводы
Поиск больших файлов и директорий в 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
Ключ -h означает, что результат нужно вывести в удобно-читаемом виде (human-readable).
Ключ -r означает, что сортировку нужно выполнять по убыванию (reverse).
Поиск больших файлов и директорий командой du
Команда du используется для вывода размеров файлов и директорий в Linux. Ее можно использовать для поиска больших файлов и директорий. Для этого выполняется команда du и результат сортируется по размеру. Таким образом можно увидеть, кто занимает больше всего места на диске.
Найдем пять самых больших файлов и директорий:
- Символ . указывает путь и означает текущую директорию. Для поиска в другой директории укажите вместо точки ее путь.
- Опции -ahx означают:
a — искать и файлы и директории;
h — выводить информацию в удобно-читаемом формате;
x — не выполнять поиск на других файловых системах. - sort -rh выполняет сортировку результата.
- head −5 выводит только пять первых результатов.
Источник
Поиск больших файлов в Linux
1. Обнаружение больших каталогов и файлов в Linux
Во-первых, мы посмотрим на то, как мы можем найти самые большие файлы и каталоги в Linux, выполнив следующую команду, чтобы найти топ-10 больших каталогов и файлов на сервере Linux:
Вывод должен показать вам самые большие каталоги и файлы:
2. Нахождение топ крупнейших каталогов в Linux
Эта команда может быть очень полезна, когда вам необходимо проверить размер каталогов в корневом разделе, чтобы получить представление о том, как используется распределяется пространство на сервере, с помощью следующей команды вы можете найти топ 10 крупнейших каталогов в корневом разделе:
Вывод должен показать вам самые большие каталоги:
Кроме того, можно использовать следующую команду, чтобы проверить размер подкаталогов данного каталога, в данном случае мы будем использовать каталог «var»:
Вывод должен перечислить поддиректории каталога «var»:
3. Нахождение топ самых больших файлов в Linux
Иногда вы можете искать большие файлы, особенно большие лог-файлы, которые могут довольно быстро заполнить ваш сервер, с помощью следующей команды вы можете найти топ 10 самых больших файлов на сервере:
Вывод должен показать вам самые большие файлы:
Нахождение самых больших файлов с определенным расширением в Linux
Если вы ищете большие файлы с определенным расширением, вы можете найти топ 10 самых больших файлов по их расширению с помощью следующей команды, мы будем использовать расширение «deb» в этом случае:
Вывод должен показать вам самые большие файлы, содержащие указанное расширение:
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Как найти самые большие папки и файлы в 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
Пользователи компьютеров обычно знают, по какой причине у них заканчивается место на диске — скачено слишком много файлов с помощью Torrent, слишком много фотографий накопилось за последние годы, слишком большой видеоархив с последних событий и так далее. Но иногда ситуации не такие тривиальные — место может закончится на системной диске или на удалённом веб-сервере. В этой статье мы рассмотрим способы, которые позволят найти самые большие папки, которые заняли слишком много места на диске.
Описанные варианты ориентированы на командную строку — специально чтобы быть применимыми одновременно и для пользователей с настольными компьютерами, и для администраторов веб-серверов.
1. ncdu для очистки папок
Программа ncdu является одним из самых удобных вариантов — она просто отлично справляется со своими задачами. У неё Ncurses интерфейс, то есть для обычных пользователей это будет просто очень удобно, а для администраторов, обслуживающих удалённые веб-сервера без графического интерфейса она также подойдёт, поскольку Ncurses не требует графического окружения рабочего стола.
Программа очень интуитивная и проста в использовании, достаточно запустить её:
При этом у программы большое количество возможностей и дополнительных функций и оптимизаций, с которыми вы можете познакомиться в статье «ncdu: графический интерфейс du чтобы быстро узнать, какие файлы и папки израсходовали место на диске».
2. Как с помощью du найти самые большие папки
Теперь рассмотрим приёмы использования утилит командной строки, обычно уже имеющихся на машинах даже с минимальным количеством установленных программ.
Нужна начать с того, чтобы сориентироваться, среди каких директорий нужно искать те, которые израсходовали слишком много место в системе. Начать можно примерно со следующих команд:
Вместо нужно вписать директорию в системе, например, если мы хотим начать с корневой директории:
Эта команда покажет только папки, размер которых измеряется гигабайтами.
Следующая команда делает нечто похожее, но сортирует папки по возрастанию размера и показывает только 10 самые тяжёлые:
Пример для анализа всей корневой файловой системы:
В этих командах:
- опция -P говорит не следовать по символическим ссылкам (это может привести к тому, что файлы будут посчитаны дважды)
- опция -x означает оставаться на одной файловой системе (очень полезно, не будут посчитаны смонтированные диски, а также диски с виртуальной файловой системой)
- опция -h печатает размер файлов в простом для восприятия человеком формате
- sudo для повышения привилегий — позволяет команде считать размер всех директорий и не выводить множество ошибок из-за недостатка прав на чтения папок
Чтобы указать корневую директорию, используйте /, чтобы указать текущую директорию, используйте . (точка). В любой из перечисленных выше команд вы можете указывать определённую папку, чтобы начать сбор информации с неё. Например, когда вы нашли папку с большим размером и хотите узнать больше подробностей о ней, укажите её в одной из команд.
3. Как найти большие файлы
Если есть основания думать, что нехватка места на диске заключается в том, что его заняли какие-то большие файлы (например, файлы логов какого-то приложения) а не множество маленьких файлов, то с помощью команды find можно выполнить поиск файлов, размер которого больше определённого, например:
Эта команда найдёт все файлы, размер которых больше 10 мегабайт.
В этой команде вместо / (означает искать начиная с корневой директории) вы можете указать любую другую директорию. А вместо +10M вы можете указать любое значение и другой префикс, например вместо M (мегабайты) указать G (гигабайты).
Источник
Поиск больших файлов в 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 .
Если у вас есть вопросы или замечания, пожалуйста, оставьте комментарий ниже.
Источник