/bin/rm: Argument list too long. Слишком длинный список аргументов

bash-161382_1280

При попытке удалить большого количества файлов по маске, например при удалении несколько миллионов с расширением txt появляется ошибка Argument list too long(Слишком длинный список аргументов). 

# rm -f *.txt
-bash: /usr/bin/rm: Argument list too long

Аналогично если использовать find

[root@localhost dir]# find . -name *.txt | xargs rm
-bash: /usr/bin/find: Слишком длинный список аргументов
rm: пропущен операнд

Все это из за того что файлов больше чем допустимый лимит, проверить который можно командой

getconf ARG_MAX

Т.е в нашем случае если количество файлов больше 2097152, то удалить их командой rm не получится. Для удаления воспользуйтесь следующими командами. Например что бы удалит все файлы .jpg

С помощью ls и grep

ls | grep .jpg| xargs rm

Используя echo.

echo *.jpg | xargs -n 100 rm

Существуют множество других решений, например с помощью цикла for или скриптов, но по мне эти 2 способа самые удобные и легко запоминающиеся.

Все, что вы хотели знать о covid-19, но власти вам...
Установка FFMPEG на Centos 7

Похожие посты

 

Коментарии (0)

Здесь пока нет никаких комментариев

Оставьте свои комментарии

  1. Оставить коментарий как гость.
Вложения (0 / 3)
Share Your Location

By accepting you will be accessing a service provided by a third-party external to https://m-go.ru/