Изтриване на много файлове под GNU/Linux

Written by

in

67396-delete-keyСлучвало ли ви се е в папка да имате 50 000 директории или файлове и да решите, че трябва да ги изтриете. Ако решите да ги изтриете всичките (rm -fr *) ще ви излезе съобщение:

-bash: /bin/rm: Argument list too long

Това се получава защото има прекалено много файлове (или максимален размер на аргументите)
Ето го и ограничението от kernel_limits:

egrep ARG_MAX /usr/include/linux/limits.h
#define ARG_MAX 131072 /* # bytes of args + environ for exec() */

Решение 1:
find $PWD -exec rm -fr {} \;

Решение 2:
Изтриване на папката и след това ново създаване
rm -fr ufiles;mkdir ufiles;

Хубавото на Решение 1 е, че ако желаете да изтриете конкретни файлове може да използвате -name, а именно:
find $PWD -name "martin.*" -exec rm {} \;

Comments

2 responses to “Изтриване на много файлове под GNU/Linux”

  1. Аватарът на Стелко
    Стелко

    Винаги когато ми се наложи – знам, че тук мога да погледна 🙂

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *