root@dwarf /var/spool/clientmqueue # spam-* do rm
/bin/rm: Lista do argumento demasiado longa.
São-lhe vistos sempre este erro em Linux quando você tem limas demais em um diretório e incapaz de suprimi-las com um simples rm - rf *? Eu funcionei neste problema um número de vezes. Após ter feito um pouco de pesquisa em linha eu vim através de uma solução pura trabalhar em torno desta edição.
achado. - nome “spam-*” | rm dos xargs
No exemplo acima o comando suprimirá forcefully todas as limas no diretório atual que comece com Spam. Você pode substituir spam-* com qualquer coisa você gosta. Você pode também substitui-lo com apenas o a * se você quiser remover todas as limas no dobrador.
achado. - nome “*” | rm dos xargs
Nós cobrimos Achado de Linux comando no detalhe grande mais cedo. Xargs é o comando de Linux que faz passando um número de argumentos a um comando mais fácil.

























{ 2 comments… read them below or add one }
Safe variant for filenames with spaces, new lines and other whitespace characters:
find . -name ‘*’ -print0 | xargs -o rm
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