Как получить быстрый результат для 10 крупнейших каталогов

У меня была эта проблема в прошлом. Хотя это скорее работа -, чем решение, вы можете инициировать сохранение ваших настроек, выйдя из системы перед перезагрузкой или завершением работы.

После этого вы сможете перезагрузиться как обычно, и все останется по-прежнему.

-1
03.02.2021, 12:46
4 ответа

Вы можете использовать:
ls -ldpShR

-lдля длинной версии
-dпоказывать только каталоги
-pиспользует / в именах каталогов
-Sсортировка по размеру
-hозначает удобочитаемый
-Rозначает рекурсивно

-1
18.03.2021, 22:33
du --max-depth=1 * | sort -nr | head -n 10

Эта команда создаст список с размером папок, упорядоченных от большей к меньшей, и получит первые 10 строк, предполагая, что использовалась duиз GNU coreutils.

0
18.03.2021, 22:33

Если вам нужно точное место на диске, это займет некоторое время, так как ваши каталоги огромны. Если вам приходится делать это часто, лучше настроить задание cron, которое будет запускаться duи создавать этот файл один раз в день (или с любой частотой в соответствии с вашими требованиями и частотой обновления этих каталогов.)

Таким образом, вы можете быстро выполнять операции сортировки этого файла на немного старом снимке.

0
18.03.2021, 22:33

Обновленная версия.

Во-первых, скорость чтения будет отличаться для разных SSD и HDD, а также размер буферизации и кэширования.

Итак, я предполагаю, что у вас есть разрешение на доступ к папкам (цитата «я не могу получить результат несколько раз» , для некоторых папок вам могут потребоваться права доступа, иначе вы может получить это сообщение "du :не может прочитать каталог '/direc/tori/ss' :Отказано в доступе")

На основании вашего

du -hsx * | sort -rh | head -10

h: print sizes in human readable format
s: --summarize you want the total size of directory,(you didn't ask for sub-directory, did you?)
x: you want to "skip directories on different file systems"
sort the result r: reverse and h: human numeric (you need h here because you use it there with du to distigush K,M,G)
head -10 : get the first top 10 of the sorted list

Есть ли другой путь помимо ду? да, один из них использует версию du)

на основе ncdu (curses -

Объяснить:

Изучите время (локально)НА ОСНОВЕ ПРОИЗВОДИТЕЛЬНОСТИ МОЕЙ СИСТЕМЫ

GNU bash, версия 5.1.4

Для жесткого диска 7200 об/мин с объемом данных 132 ГБ. Предполагая правильный каталог:

1- time du -hsx * | sort -rh | head -10
real    0m44.978s
user    0m2.432s
sys     0m13.183s

2 -время du -B 1 --макс -глубина=1 | сортировка -правая | головка -10

real    0m43.823s
user    0m2.269s
sys     0m12.879s

реальное :прошедшее время user и sys :Время обработки ЦП.

Если у вас есть большой файл (, скажем, iso-файл )появится на первом du, а второй покажет вам только каталоги.

В моем случае без использования головы :это размеры с использованием вашей команды файлов и папок 38 г, 22 г, 20 г, 11 г, 9,6 г, 6,9 г, 5,9 г, 3,2 г, 3,2 г, 2,7 г, 781 м, 590 м, 301 м, 132 м, 12 м, 6,9 м, 6,7 м, 3,6 м, 3,5 м, 276 К, 224К, 25К, 4.0К, 4.0К, 4.0К, 512,0

Когда я использую шахту(после преобразования блоков в K, M, G )123GIB, 38GIB, 22GIB, 20GIB, 11GIB, 9.6GIB, 6,99IB, 3.2GIB, 3.2GIB, 781MIB, 590MIB, 301MIB, 132MIB, 12MIB, 6,9MIB, 6,7MIB, 3,6MIB, 3.5mib, 276kib, 224kib, 100kib, 25КиБ, 512Б

Файлы не отображаются.

Я не думаю, что мне нужно доказывать, что SSD намного быстрее, чем HDD.

ncdu 1.15.1 без сортировки

real    0m43.550s
user    0m2.742s
sys     0m13.604s

Также в ncdu есть опция ssh для удаленного подключения, проверьте ее.

Если вы используете другую оболочку, обновите свой вопрос и дайте больше информации на основе ответов и комментариев, которые вы прочитали.

Наконец, Я не думаю, что разница во времени между двумя командами значительна, поэтому вы можете сохранить результат в текстовый файл на ночь и отсортировать это позже.

-1
18.03.2021, 22:33

Теги

Похожие вопросы