В Linux, как удалить папку с более чем 1 миллионом файлов?

Я работаю над веб-сайтом для клиента, и я просто вижу папку, содержащую более 1 миллиона файлов кэша.

Мне нужно удалить его, но я не могу, у меня есть это сообщение : список аргументов слишком длинный

Я начал удалять все файлы, начиная с aaa*, bbb*, ccc* .... но я не хочу тратить свою жизнь впустую... (rm -f aaa*.string.php)

Как я могу это сделать ?? Спасибо !

28
задан djsmiley2k
16.11.2022 23:41 Количество просмотров материала 3350
Распечатать страницу

3 ответа

find и xargs - ваши друзья, как всегда:

find -type f -print0 | xargs -0 rm

или, для особого случая удаления (спасибо, Eddy_Em):

find -type f -delete
7
отвечен thiton 2022-11-18 07:29

вместо удаления отдельных файлов, вы можете удалить, а затем повторно создать саму папку:

cd folder/..
rm -rf folder
mkdir folder

Если это работает в вашем сценарии, это, вероятно, будет намного быстрее, чем любой метод, основанный на явном перечислении и удалении отдельных файлов.

3
отвечен NPE 2022-11-18 09:46

попробовать

ls | xargs -n 200 rm -f

в конечном итоге удалить все

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

0
отвечен Ed Heal 2022-11-18 12:03

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх