Команда Linux для поиска в основном используемого дискового пространства файла. Мне нужно перечислить все файлы в порядке размера

3 ответа3

2
du -k | sort -rn | head -n 50

Куда:

  • Утилита du отображает использование блока файловой системы для каждого аргумента файла и для каждого каталога в файловой иерархии с корнем в каждом аргументе каталога. Если файл не указан, отображается использование блока иерархии с корнем в текущем каталоге. -k будет отображать количество блоков в блоках по 1024 байта (1 кбайт).

  • sort не требует пояснений. -r инвертирует результат сравнений, помещая самое высокое значение в список. -n сравнивает в соответствии с числовым значением строки.

  • head показывает только верхние n рядов. 50 в этом случае.

1

Всегда держите что-то подобное в псевдониме:

find / -type f | xargs ls -s | sort -rn | awk '{size=$1/1024; printf("%dMb %s\n", size,$2);}' | head
1

Ну вот.

Для устройства / и только для этого устройства печатается 500 самых больших файлов с размером в мегабайтах. Опустите "head -n 500", и он напечатает все файлы с размерами, отсортированными по величине в первую очередь.

find / -xdev -type f -printf "%s %h/%f\n" | sort -rn -k1 | head -n 500 | awk '{ print $1/1048576 "MB" " " $2}'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .