Есть ли ограничение на количество файлов в одной папке?

1 23
Raistlin
На сайте с 01.02.2010
Offline
247
#21
Let's say you wanted to delete all the files in a directory that begins with the word 'spam':
[root@yoursite filter]# rm spam*
bash: /bin/rm: Argument list too long

ERROR!

This happens when you are trying to delete too many files in a directory at the same time - it seems rm has limits ....

To solve the problem:

Use 'find' to pipe all the matching files to 'rm', one at a time.
[root@yoursite filter]# find . -name 'spam*' | xargs rm

Works good.

Raistlin добавил 23.05.2011 в 10:33
Andreyka:
Это какое? rm что-ли?

Оно самое. Давайте не будем холливарить.

HostAce - Асы в своем деле (http://hostace.ru)
iHead
На сайте с 25.04.2008
Offline
137
#22
Raistlin:
Оно самое. Давайте не будем холливарить.

зачем звездочку ставить?

вот так если удалять папку не будет ошибок с длиной аргументов

rm -rf /path/to/dir

ну, или так

find /path/to/dir/ -delete

а ТС скорее всего просто не дождался окончания удаления.

Рекомендуемый хостинг партнер 1С-Битрикс (https://www.ihead.ru/bitrix/), PHP-хостинг (https://www.ihead.ru/php/), доверенный партнер RU-CENTER (https://www.ihead.ru/news/573.html), официальный представитель REG.RU в Кирове (https://www.ihead.ru/news/851.html)
Andreyka
На сайте с 19.02.2005
Offline
822
#23
Raistlin:
Оно самое. Давайте не будем холливарить.

Нет, не оно самое. Ибо Argument list too long не является ошибкой прикладного ПО, а является ошибкой человека, который вводил команду.

См. ответ iHead.

Не стоит плодить сущности без необходимости
Raistlin
На сайте с 01.02.2010
Offline
247
#24
Andreyka:
Ибо Argument list too long не является ошибкой прикладного ПО, а является ошибкой человека, который вводил команду.
См. ответ iHead.

Прочитайте то, что я написал выше. Прочитайте еще раз. Еще раз... Еще... Дошло? Не всегда можно убить папку целиком.

Raistlin добавил 23.05.2011 в 11:49

KinMAN:
Может кто подскажет, как максимально быстро можно удалить более 7`000`000 файлов в одной директории?

Т.е. в условиях задачи не сказано убить папку. Умницы и умники могут идти в лес.

iHead
На сайте с 25.04.2008
Offline
137
#25

вариант с -delete, думаю, правильнее, чем варант с xargs

да, и пример со звездочкой вы сами привели, а не TC.

Andreyka
На сайте с 19.02.2005
Offline
822
#26
Raistlin:
Прочитайте то, что я написал выше. Прочитайте еще раз. Еще раз... Еще... Дошло? Не всегда можно убить папку целиком.

В случае сбоя ФС или диска - нельзя. А так - можно.

Raistlin
На сайте с 01.02.2010
Offline
247
#27
Andreyka:
В случае сбоя ФС или диска - нельзя. А так - можно.

Чукча писатель?

iHead:
да, и пример со звездочкой вы сами привели, а не TC.

Я ж привел пример по удалению файлов... из папки. ТС не сказал, нужно ли ему удалить все файлы в папке или убить только некоторые. Да, с -delete вполне корректный и, скорее всего, более быстрый чем мой.

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий