root@dwarf /var/spool/clientmqueue nr. rmspam-*
/bin/rm: Argumentet listar för långt.
Ses någonsin detta fel i Linux, när du har för många sparar i ett arkiv och dig oförmöget att ta dem bort med ett enkelt rm - rf *? Jag har kört in i detta problem ett nummer av tider. Når jag har gjort lite forskning, direktanslutet kom jag över en proper lösning att fungera runt om denna utfärdar.
fynd. - namnge ”spam-*”, | xargsrm
I det ovannämnt anföra som exempel befalla ska forcefully borttagnings som allt sparar i strömarkivet, som börja med spam-. Du kan byta ut spam-* med något gillar du. Du kan också byta ut det med precis a * om du önskar att ta bort, sparar allt i mappen.
fynd. - namnge ”*”, | xargsrm
Vi har täckt Linux fynd befalla i store specificerar tidigare. Xargs är Linux befaller att makes som passerar ett nummer av argument till en lättare befalla.

























{ 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