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

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 {} \;

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Изтриване на много файлове под GNU/Linux, 5.0 out of 5 based on 2 ratings

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

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

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

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

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