Со временем ваш диск может быть загроможден большим количеством ненужных файлов, занимающих много места на диске. Обычно в системах Linux не хватает места на диске из-за больших файлов журналов или резервных копий.
В этом руководстве объясняется, как найти самые большие файлы и каталоги в системах Linux с помощью команд find
и .du
Найти большие файлы с помощью find
команды
Команда find
является одним из самых мощных инструментов в арсенале системных администраторов Linux. Это позволяет вам искать файлы и каталоги на основе различных критериев, включая размер файла.
Например, чтобы найти файлы размером более 100 МБ в текущем рабочем каталоге , выполните следующую команду:
sudo find . -xdev -type f -size +100M
На выходе будет показан список файлов без какой-либо дополнительной информации.
Команду find
также можно использовать в сочетании с другими инструментами, такими как ls
или sort
для выполнения операций с этими файлами.
В приведенном ниже примере мы передаем вывод find
команды, ls
которая будет печатать размер каждого найденного файла, а затем передаем этот вывод sort
команде для сортировки на основе 5-го столбца, который является размером файла.
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r
Если вывод содержит много строк информации, вы можете использовать head
команду для печати только первых 10 строк:
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head
Разберем команду:
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 . | sort -rh | head -5
Первый столбец включает размер файла, а второй — имя файла.
Объяснение команды:
du -ahx .
: оценка использования дискового пространства в текущем рабочем каталоге (.
), подсчет файлов и каталогов (a
), печать размеров в удобочитаемом формате (h
) и пропуск каталогов в разных файловых системах (x
).sort -rh
: сортировать строки путем сравнения значений в удобочитаемом формате (-h
) и инвертировать результат (-r
).head -5
: печатает только первые пять строк передаваемого вывода.
Команда du
имеет много других параметров, которые можно использовать для уточнения вывода об использовании дискового пространства.
0 комментариев