Как найти топ 20 самых больших файлов (более 1 МБ) рекурсивно и отсортировать их в удобочитаемом формате

find . -mount -type f -printf "%k %p\n" | sort -rg | cut -d \ -f 2- | xargs -I {} du -sh {} | less


Данная команда ищет файлы (не папки) в текущей директории и всех её поддиректориях, размер которых больше 1 МБ. Затем она сортирует найденные файлы по убыванию размера (от самого большого к самому маленькому).

Аргументы команды:
-mount: ограничивает поиск файлов только в текущей файловой системе, игнорируя другие монтируемые устройства.
-type f: ищет только файлы, исключая папки.
-printf "%k %p\n": печатает размер каждого файла в килобайтах и его полный путь.
| sort -rg: сортирует вывод по размеру в обратном порядке (от большего к меньшему).
| cut -d \ -f 2-: удаляет размер файла, оставляя только путь.
| xargs -I {} du -sh {}: выводит размер каждого файла с использованием команды du.
| less: позволяет просматривать список файлов постранично с помощью программы less.

Альтернативные варианты:
— Вместо less можно использовать другие программы для просмотра списка, например more или head.
— Можно изменить размер, чтобы найти файлы больше или меньше заданного значения.
— Можно изменить начальную директорию, указав путь к другой папке вместо ..

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *