Hvis du forsøger at overføre output fra en Linux-kommando til en anden, kan du løbe ind i fejl, hvor kommandoen mislykkes, fordi dens argumentliste er for lang.

Heldigvis er der en kommando på Linux-systemer, der korrekt formaterer argumenter til kommandoer. Det hedder xargs og her er hvordan du bruger det.

Hvorfor bruge xargs?

Hvad xargs gør er, at den modtager standardoutput og formaterer den, så en anden kommando kan modtage den. Mens mange Linux-værktøjer kan acceptere standardinput, accepterer nogle kun argumenter som input.

Disse kan mislykkes, hvis du forsøger at omdirigere standardinput til kommandoen. Nogle kommandoer accepterer stadig kun et vist antal argumenter, og xargs tager sig af dette for dig.

Sådan bruges xargs på Linux

Du kan kalde xargs sådan her:

xargs [kommando]

xargs holder styr på længden af ​​argumenter, som en kommando accepterer, og formaterer standardinput for at udlæse en argumentliste, der skal leveres til kommandoen. Når den når grænsen for en kommandolinje, vil den påkald kommandoen igen med de resterende argumenter.

instagram viewer

Brug af xargs i rørledninger

xargs' anvendelighed kommer, når det bruges i pipelines. Et konstrueret eksempel ville være piping cat to echo, som er en kommando, der kun accepterer argumenter, ikke standard input.

kat | ekko

Dette vil få ekko til at udskrive, hvad end du skriver på én linje, så snart du rammer Ctrl + D.

xargs bruges mest sammen med find-kommandoen med find kommandoen bruges til at liste filer og xargs bruges til at behandle listen over filer på en eller anden måde.

Find kommando-syntaksen er behåret nok, så hvorfor bringe en anden kommando ind i den? Hvis du bruger find's "-exec" valgmulighed, vil den spinne en ny proces op, hver gang den søger gennem en fil i mappen. Brug af xargs er mere effektivt.

Du ønsker måske at slette filer i en mappe, der er ældre end en bestemt dato, f.eks. 90 dage. For at gøre dette skal du bruge denne pipeline:

finde. -mtime +90 -print | xargs rm

xargs hjælper Linux-kommandoer med at behandle input korrekt

Med xargs kan du nu sikre dig, at kommandoer tager argumenter, som du forventer. Kombineret med find, vil det lade dig behandle filer på din maskine hurtigt.

Evnen til at omdirigere input og output i skallen er en af ​​de vedvarende styrker ved Linux som en udløber af Unix-filosofien. Hvis du vil lære mere om, hvordan Linux input/output omdirigering fungerer, så læs videre.

Forståelse af standard I/O på Linux

Forbedre din Linux-kommandolinje-workflow ved at koble flere kommandoer sammen ved hjælp af standard I/O.

Læs Næste

DelTweetE-mail
Relaterede emner
  • Linux
  • Linux kommandoer
  • Linux Bash Shell
Om forfatteren
David Delony (81 artikler udgivet)

David er freelanceskribent baseret i Pacific Northwest, men oprindeligt fra Bay Area. Han har været teknologientusiast siden barndommen. Davids interesser omfatter læsning, se kvalitets-tv-shows og film, retrospil og indsamling af plade.

Mere fra David Delony

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere