- Поиск больших файлов в Linux
- Найдите большие файлы с помощью команды find
- Найдите большие файлы и каталоги с помощью команды du
- Выводы
- Поиск больших файлов Linux
- Поиск больших файлов Linux
- 1. GDMap
- 2. Утилита ncdu
- 3. Утилита du
- 4. Утилита find
- Выводы
- Поиск больших файлов и директорий в Linux
- Поиск больших файлов командой find
- Простой поиск
- Вывод подробной информации
- Поиск больших файлов и директорий командой du
- Найти большие файлы в Linux
- Find Large Files in Linux
- Это руководство объясняет, как найти большие файлы и каталоги в системах Linux с использованием find и du команд.
- Найти большие файлы с помощью find команды
- Найти большие файлы и каталоги с помощью du команды
- Вывод
Поиск больших файлов в 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 выполните:
sudo apt install gdmap
Затем запустите утилиту из главного меню. По умолчанию она отображает домашнюю папку. Здесь можно оценить, какие файлы самые увесистые.
2. Утилита ncdu
Это псевдографическая утилита, которая работает в терминале Linux. Она отображает список файлов и директорий по объёму и, что самое интересное, тут же позволяет удалять ненужные файлы. Для установки утилиты выполните:
sudo apt install ncdu
Затем запустите утилиту, передав ей в качестве параметра папку, которую надо просканировать. Можно проверить ту же домашнюю папку:
У утилиты очень простое управление. Для перемещения по списку используйте кнопки со стрелками вверх и вниз, для открытия папки — клавишу Enter, а для удаления файла — кнопку d. Также можно использовать для перемещения кнопки в Vim стиле — h, j, k, l.
3. Утилита du
Если у вас нет возможности устанавливать новые утилиты, может помочь установленная по умолчанию во всех дистрибутивах утилита du. С помощью следующей команды вы можете вывести 20 самых больших файлов и папок в нужной папке, для примера снова возьмём домашнюю папку:
sudo du -a /home/ | sort -n -r | head -n 20
Мы не можем использовать опцию -h для вывода размера в читабельном формате, потому что тогда не будет работать сортировка.
4. Утилита find
С помощью команды find вы тоже можете искать большие файлы Linux. Для этого используйте опцию -size. Например, давайте найдём файлы, которые больше 500 мегабайтов в той же домашней папке:
sudo find /home -xdev -type f -size +500M
Можно пойти ещё дальше — вывести размер этих файлов и отсортировать их по размеру:
find / -xdev -type f -size +100M -exec du -sh <> ‘;’ | sort -rh
Самые большие файлы Linux будут сверху, а более мелкие — ниже.
Выводы
В этой небольшой статье мы разобрались, как выполняется поиск больших файлов Linux. После того, как вы их нашли, остаётся выбрать ненужные и удалить, если подобное происходит на сервере, то, обычно, это логи различных сервисов или кэш. Обратите внимание, что после удаления файлов место в файловой системе может и не освободится. Для полного освобождения места следует перезагрузить компьютер. Это довольно частая проблема на серверах и VPS.
Источник
Поиск больших файлов и директорий в 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
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 .
Источник