find / -type f 2>/dev/null | xargs du 2>/dev/null | sort -n | tail -n 10 | cut -f 2 | xargs -n 1 du -h
Эта команда выполняет поиск 10 самых больших файлов на диске.
— find / -type f
ищет все обычные файлы (не директории и не символьные ссылки) в корневой директории /
.
— 2>/dev/null
отводит сообщения об ошибках (stderr) в никуда, чтобы они не отображались в выводе.
— xargs du 2>/dev/null
передаёт список найденных файлов команде du
, которая вычисляет размер каждого файла в байтах.
— sort -n
сортирует размеры файлов по возрастанию.
— tail -n 10
выбирает последние 10 строк (т.е. самые большие файлы).
— cut -f 2
выделяет второе поле (имя файла) из каждой строки.
— xargs -n 1 du -h
передаёт каждое имя файла команде du -h
, которая выводит размер файла в более удобочитаемом формате (с использованием единиц измерения, таких как КБ, МБ, ГБ).
Альтернативы:
— Вместо find / -type f
, можно указать конкретную директорию, в которой выполняется поиск.
— Вместо xargs du
, можно использовать find -exec du -h {} +
, чтобы избежать использования конвейера (|
) и команды xargs
.