Skip to content Gå til innhold


How to resolve the '/bin/rm: Argument list too long' error Hvordan løse '/ bin / rm: Argumentet listen er for lang "-feil

Linux

root@dwarf /var/spool/clientmqueue # rm spam-* root @ dverg / var / spool / clientmqueue # rm spam-*
/bin/rm: Argument list too long. / bin / rm: Argumentet listen er for lang.

Ever seen this error in Linux when you have too many files in a directory and you are unable to delete them with a simple rm -rf * ? Noensinne har sett denne feilen i Linux når du har for mange filer i en katalog, og du ikke kan slette dem med en enkel rm-rf *? I have run into this problem a number of times. Jeg har kjørt inn i dette problemet en rekke ganger. After doing a bit of research online I came across a neat solution to work around this issue. Når du har gjort litt research på Internett kom jeg over en god løsning for å omgå dette problemet.

find . finne. -name 'spam-*' | xargs rm -name 'spam-*' | xargs rm

In the above instance the command will forcefully delete all files in the current directory that begin with spam- . I ovennevnte eksempel kommandoen hardt slette alle filer i gjeldende katalog som begynner med spam. You can replace the spam-* with anything you like. Du kan erstatte spam * med noe du liker. You can also replace it with just a * if you want to remove all files in the folder. Du kan også erstatte den med bare en * hvis du vil fjerne alle filene i mappen.

find . finne. -name '*' | xargs rm -name '*' | xargs rm

We have covered the Vi har dekket Linux find Linux finner command in great detail earlier. kommandoen i stor detalj tidligere. Xargs Xargs is Linux command that makes passing a number of arguments to a command easier. er Linux-kommando som gjør passerer en rekke argumenter for en kommando lettere.

Posted in Posted in Linux Linux . .

Get Simple Help tutorials just like this one in your email inbox every day - for free! Få Enkelt Hjelp opplæring akkurat som dette i innboksen hver dag - helt gratis! Just enter your email address below: Bare skriv inn din e-postadresse nedenfor:

You can always opt out of this email subscription at any time. Du kan alltid velge bort denne e-abonnementet når som helst.

3 Responses 3 Svar

Stay in touch with the conversation, subscribe to the Hold kontakten med samtalen, abonnere på RSS feed for comments on this post RSS feed for kommentarer til dette innlegget . .

  1. Aleš Friedl says Aleš Friedl sier

    Safe variant for filenames with spaces, new lines and other whitespace characters: Sikker variant for filnavn med mellomrom, nye linjer og mellomrom tegn:
    find . finne. -name '*' -print0 | xargs -o rm -name '*'-print0 | xargs-o rm

  2. MikeT says MikeT sier

    Good catch using the print0 option, that's an important one. God fangst bruker print0 alternativet, som er en viktig en.

    Most find commands do not require the “-name” predicate. De fleste finner kommandoene ikke krever "-name" predikat. What's usually more important is to make sure you're deleting *files* and not something else you might not have intended. Hva er vanligvis viktigere er å sørge for at du sletter filer * * og ikke noe annet du kanskje ikke har ment. For this use “-type f” inplace of the “-name” option…. For dette bruk "-type f" inplace av "-name" alternativet ....

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

    A) Use the full path to the 'rm' command so your aliases don't muck with things. A) Bruk hele banen til 'rm' kommando slik at aliaser ikke muck med ting.
    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″ B) Sjekk din xargs kommando, kan du noen ganger, hvis nødvendig, si det å bruke et "resultat" av gangen, for eksempel (hvis du ikke brukte print0 men vanlige print) "-L1"

  3. myhnet myhnet says sier

    find . finne. -type f -exec rm {} \; -type f-exec rm () \;



Some HTML is OK Some HTML is OK

or, reply to this post via eller svare på dette innlegget via trackback styrekule . .