Ограничение команды rm в linux

Апрель28

Linux
Первый раз столкнулся с данной проблемой — у команды rm оказывается есть ограничение при работе с маской.

Если хотим удалить слишком много файлов с помощью команды rm и маски — то возникает ошибка:

rm: Argument list too long

Команда rm корректно обрабатывает маски до 1024 файлов, если их больше — то она уже не справляется.

 [user@feanor184]$ rm -rf 'files_marth_*'
 -bash: /bin/rm: Argument list too long

Самый простой, на мой взгляд, вариант решения проблемы, использовать xargs:

[user@feanor184]$ find . -name 'files_marth_*' | xargs rm -rf

С ее помощью мы можем применять маску к любому количеству файлов, нужно только помнить, что если там действительно много файлов, то выполнение через find — может быть не самым быстрым решением. В идеале — такого лучше не допускать и все идентичные файлы лучше стараться держать по папкам.

Поделиться в соц. сетях


Copyright © 2013-2017. All rights reserved.

Опубликованно Апрель 28, 2017 by Feanor184 в категории Linux

Об Авторе

Постигаю Linux, учу Python, пытаюсь программировать)

7 комментарий(ев) к записи “Ограничение команды rm в linux

  1. Анна

    Интересная операционка Linux, впервые с ней столкнулась у себя на работе. Спасибо за совет)

  2. MensWord

    Добрый день! Внимательно изучил вашу статью, считаю её одной из самых полезных на данный момент. Прошу и дальше писать подобные статьи. Всех благ.

  3. Антон

    В принципе пора бы уже расширить rm, ибо ограничение в 1024 есть рудимент той эпохи, когда это значило «много»

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

=

Перед тем, как оставить комментарий, убедитесь, что вы ознакомились с правилами комментирования этого блога.