Использование rm -rf LargeDirectory
для удаления большого каталога может занять много времени в зависимости от размера каталога.
Можно ли получить обновление статуса или каким-либо образом отслеживать ход этого удаления, чтобы получить приблизительную оценку того, где находится команда?
watch -n 5 du -s LargeDirectory
. Смотреть, как оно идет к нулю.brew install watch
или см. Здесь для получения инструкций.Ответы:
из
используйте опцию -v:
источник
Я вижу вопрос старый. Я хочу поделиться тем, что работает для меня, чтобы помочь кому-то еще.
Я получаю индикатор выполнения с помощью
pv
командной строки Pipe ViewerЭто команда
Если вам нужны права root для удаления директории или файла,
rm -rv
:-r
рекурсивно удалять DIR и файлы.-v
подробный список всех файлов и каталогов, которые удаляются.pv -l -s
:-l
считать строки вместо байтов.-s
установить общее количество строк, которые будут удалены.$( du -a <dir_or_file> | wc -l )
:du -a
возвращает список всех файлов и каталогов из указанного каталога.wc -l
возвращает количество строк, выведенныхdu -a
.> /dev/null
: отправить выводrm -rv
в никуда.источник
find {dir} -printf . | wc -c
будет безопаснее (но-printf
является расширением GNU).Вы можете просмотреть ход выполнения любых текущих команд с помощью Coreutils Progress Viewer (
cv
). Это не то же самое, что вводить одну команду, но вы можете видеть, как она выполняется.Я уверен, что кто-то может придумать псевдоним для запуска этой команды. Это также работает с
cp, mv, dd, tar, gzip/gunzip, cat, etc.
. Более подробную информацию об этом можно найти наgitthub Xfennec / прогресс
источник