linux terminal

Быстрый способ удалить много файлов в linux

Однажды у меня в папке оказалось неизвестное кол-во миллионов файлов, открывалась такая папка несколько минут, rm зависал и не отвисал. Что делать?

Find Command with -exec

find /test -type f -exec rm {}

Берёт каталог test и применяет к каждому файлу rm, казалось бы это ровно то, что делает непосредственно сама rm, но работает почему-то быстрее.

Find Command with -delete

find /test -type f -delete

Берёт каталог test и применяет к каждому файлу delete, оказалось в 3 раза быстрее rm.

Ультракороткий скрипт на Perl

perl -e 'for(<*>){((stat)[9]<(unlink))}'

Самый быстрый способ в 15 раз быстрее rm, смотрите не промахнитесь с регуляркой, а то снесёте пол системы.

RSYNC with -delete

rsync -a --delete /blanktest test/

Можно просто синхронизировать пустую папку с нашим монстром при помощи rsync.

Добавить комментарий:

Ваш адрес email не будет опубликован. Обязательные поля помечены *