Løsning /bin /rm argumentliste for lenge

Løsning /bin /rm argumentliste for lenge

Over tid øker lagringen som brukes i et administrert Linux -system også. Som et resultat prøver vi å manipulere filer, flytte, søke, slette filer osv., med kommandoer som MV, IS, CP, RM, etc. La oss ta opp "argumentlisten for lang" problem og finne en måte å løse det enkelt.

Den vanlige syntaksen til denne feilen er noe slikt.

Bash:/usr/bin/rm: argumentliste for lenge

Hva er en ”argumentliste for lenge”?

Inne i kommandolinjen, når brukeren overskrider den maksimale kommandolinjen som er tillatt etter en grense for argumentene i kommandoen din, er feilen som oppstår “argumentliste for lang.”

Hvorfor kommer denne feilen?

Den treffer Arg_Max -grensen når brukeren legger inn for mange argumenter i en enkelt kommando. Argumenter for EXEC -funksjonen kan være opp til Arg_Max maksimal lengde. Når en argumentliste er for lang, har brukeren varslet med "argumentlisten er for lang.”Feil.

Et argument kan også kalles et kommandolinje-argument. For å kontrollere kommandolinjeprosessen, er kommandoen definert gjennom inngangen gitt av brukeren. Spesifiser argumentene i kommandolinjen og skriv deretter inn argumentene i konsollen eller terminalen.

Løsning: /bin /rm: argumentliste for lenge

"Argumentlisten for lang" feil kommer ikke, for at brukeren kan finne ut hva lengden på kommandoen skal være. Operativsystemet bestemmer lengden på kommandoen. Vi kan sjekke den maksimale argumentergrensen for Linux -systemer gjennom følgende kommando.

GetConf Arg_Max

Bortsett fra dette er det mange løsninger for å løse feilen ovenfor.

Gjenskape mappen etter å ha fjernet den

Anta at det er en katalog som ikke inneholder filer som brukerne vil beholde. I så fall er den raskeste og beste løsningen å slette og gjenskape den katalogen. Men i dette må brukeren først sørge for at det ikke er noen slik fil i katalogen han sletter han vil beholde.

En bruker må fjerne alle filene og mappene fra en katalog. I så fall kan brukeren gjøre det ved RM -kommando, i.e., jokertegn '*.'I denne tilstanden blir lengden på kommandoen vår veldig stor. For å løse dette kan vi bruke bare ett argument for å fjerne hele katalogen samtidig ved å bruke følgende kommando.

rm -r/sti/til/katalog/

Hvis vi fremdeles må beholde katalogen, kan vi gjenskape den med følgende kommando.

mkdir

Ved å bruke kommandoen Slett massefiler

Denne prosessen er relativt enkel, rask eller nøyaktig. Brukere kan søke etter hvilken som helst fil ved å bruke Find -kommandoen og slette den.

finne . -type F -Delete

Gjennom kommandoen skrevet ovenfor kan vi finne hvilken som helst fil fra katalogen.

Eller, for noen spesifikke filer, bruker vi kommandoen som følger.

finne . -Navn '.txt '-Type F -Delete

Ved å bruke sløyfe

Brukere kan bruke en loop for å slette filer i mappen ved å bruke RM -kommandoen. Denne metoden er veldig treg, på grunn av at det gjøres mindre av brukerne.

for jeg i *; gjør rm $ i; Ferdig

Kommandoen ovenfor vil slette alle filene som er til stede i katalogen.

Manuell delt

Brukere kan utføre kommandoen gjentatte ganger ved å dele opp filen i mindre bunter, hver med forskjellige strenger som argumenter via LS, WC, MV, CP, RM, etc.

ls -lrt Events1*.logg | wc -l
31154
ls -lrt Events2*.logg | WC -L15941

I eksemplet ovenfor deler vi filene fra en katalog for å redusere kommandoen og ignorere feilen.

Konklusjon

I denne artikkelen lærte vi de mange metodene for å løse “argumentlisten for lenge*. Her diskuterte vi alle relaterte punkter eller emner relatert til det. Ikke glem å lese gjennom all informasjonen vi har gitt deg i denne artikkelen.