Как разрешить `/bin/rm: Ошибка списка аргумента слишком длиной'

[[by]] Sukrit Dhandhania на 18-ое февраля 2009

Linux

spam-* rm /var/spool/clientmqueue # root@dwarf
/bin/rm: Список аргумента слишком длинний.

Всегда те этой ошибке в Linux когда вы имеете too many архивов в директории и вам неспособно уничтожить их с просто rm - rf *? Я бежал в эту проблему несколько времена. После проводить исследование немного исследование online я come across опрятное разрешение для работы вокруг этого вопроса.

находка. - имя «spam-*» | rm xargs

В вышеуказанном примере команда forcefully уничтожит все архивы в текущем каталоге начните с spam-. Вы можете заменить spam-* с что-нибыдь вы любите. Вы можете также заменить его с как раз a * если вы хотите извлечь все архивы в скоросшивателе.

находка. - имя «*» | rm xargs

Мы покрывали Находка Linux команда в большой детали более раньше. Xargs команда Linux делает проходящ несколько аргументы к команде легко.

Если этот столб помог вам, то я был бы весьма признательно если вы смогли требовать 3 минут (, то я приурочил его) для того чтобы завершить этот обзор. Если вы вписываете ваше email address на конец обзора, то вы будете зарегистрированы в состязание для того чтобы выиграть подарочный купон $25 USD Амазонкы. Вам не нужно вписать ваши имя или email address (хотя вы не будете зарегистрированы в состязание) для того чтобы завершить обзор. Никакая лично identifiable информация не собрана. Если вы opt вписать состязание, то ваше email address будет не продайте или используйте для нисколько вроде сообщения, кроме как для того чтобы сообщить вас если вы выиграли состязание. После того как состязание кончается все адресы email будут уничтожены. Спасибо very much заранее!!
Родственные столбы:
  • Технология и Lifestyle
  • Характеристики системы спасения Windows XP
  • Как разрешить ошибку 800B0100 уточнения Windows Vista
  • Как контролировать вашу машину Linux с netstat
  • Обзор и 10 Pownce приглашают для читателей Simplehelp
  • Получите просто консультации помощи справедливо как это одно в вашем inbox email ежедневном - для свободно! Как раз впишите ваше email address ниже:

    Вы можете всегда opt из этой подписки email в любое время.

    { 2 comments… read them below or add one }

    1 Ale? Friedl 02.19.09 at 7:16 am

    Safe variant for filenames with spaces, new lines and other whitespace characters:
    find . -name ‘*’ -print0 | xargs -o rm

    2 MikeT 02.19.09 at 6:30 pm

    Good catch using the print0 option, that’s an important one.

    Most find commands do not require the “-name” predicate. What’s usually more important is to make sure you’re deleting *files* and not something else you might not have intended. For this use “-type f” inplace of the “-name” option….

    find . -type f -print0 | xargs -0 /bin/rm

    A) Use the full path to the ‘rm’ command so your aliases don’t muck with things.
    B) Check your xargs command, you can sometimes, if needed, tell it to use one “result” at a time, such as (if you didn’t use print0 but regular print) “-l1″

    Leave a Comment

    You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>