удаление каталога с большим количеством файлов с помощью rsync -a delete

Имя пользователя в Linux уникально, как и uid, поэтому, на мой взгляд, проверка имени пользователя так же безопасна, как и проверка uid.

1
31.08.2018, 07:59
1 ответ

согласно веб-архиву linuxnote.net является rsync -aP –delete empty/./dirсамым быстрым способом удаления больших каталогов, примерно в три раза быстрее, чем с rm -rfv./dirили сfind b/ -type f -delete

так как это может занять некоторое время, удобен подробный вывод с помощью -Pили вы постоянно смотрите на пустую строку подсказки...

и чтобы избежать бесконечной прокрутки, я перенаправил STDOUT на awkдля отображения вывода в одной строке (со счетчиком строк )вот так:

rsync -aP --delete./emptyDir/./dir/ | awk ' { printf ( "\r #%4d: %-200s", NR, $0 ) } '

для пропуска строк Отказано в доступе , используйте sudo:

sudo rsync -aP --delete./emptyDir/./dir/ | awk'{printf("\r #%4d: %-200s",NR,$0)}'

объяснение :awk, потому что printfсам по себе не перехватывает STDOUT, \rдля установки курсора в начале выходной строки, NRдля строки #счетчик и %4dвправо -дополняет строки #и %-200sдля выходной строки из 200 символов, дополненной справа, которая перезаписывает предыдущую строку (200, если окно терминала имеет по крайней мере эту ширину)

1
29.03.2021, 08:53

Теги

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