Командная строка Linux: как искать файлы по размеру

Для поиска файлов в Linux по их размеру вы можете использовать различные инструменты и методы командной строки. Вот несколько методов и примеры кода:

Способ 1: использование команды find

find /path/to/directory -type f -size +100M

Эта команда будет искать файлы размером более 100 мегабайт в указанном каталоге (/path/to/directory).

Метод 2: использование команды du в сочетании с find

find /path/to/directory -type f -exec du -sh {} + | awk '$1 ~ /^[0-9.]+[MG]$/ && $1 > 100 {print}'

Эта команда использует findдля поиска файлов, а затем использует du(использование диска) для вычисления размера каждого файла. Команда awkфильтрует выходные данные для отображения файлов размером более 100 мегабайт.

Метод 3. Использование команды ls с командами sort и awk

ls -lhS /path/to/directory | awk 'NR>1 && $5 > 100000000 {print $5, $9}'

Эта команда выводит список файлов в указанном каталоге в удобочитаемом формате (-lh) и сортирует их по размеру файла (-S). Команда awkфильтрует выходные данные для отображения файлов размером более 100 мегабайт.

Метод 4. Использование команды дерева

tree -h /path/to/directory -P "*.{jpg,png}" -s -f | awk '$1 ~ /^[0-9.]+[MG]$/ && $1 > 100 {print $4}'

Эта команда использует команду treeдля отображения рекурсивного списка каталогов и его фильтрации на основе расширений файлов (в данном случае файлов JPG и PNG). Команда awkфильтрует выходные данные для отображения файлов размером более 100 мегабайт.

Способ 5: использование команды ncdu (требуется установка)

ncdu /path/to/directory

Эта команда запускает утилиту Ncdu, которая предоставляет интерактивный интерфейс для изучения использования диска. Он отображает каталоги и файлы, отсортированные по размеру, что позволяет легко перемещаться и идентифицировать большие файлы.