I världen av Linux och Unix är effektivitet och kraft två nyckelord som ofta återkommer, särskilt när det gäller kommandoraden. Ett verktyg som exemplifierar detta är xargs
, ett flexibelt kommandoradshjälpmedel som gör det möjligt att bygga och köra kommandosekvenser från standardingången. Det tar output från ett kommando och omvandlar det till argumentlista för ett annat kommando, vilket möjliggör kraftfulla datahanterings- och kommandokombinationer.
Xargs är inbyggt i de flesta Linux-distributioner och kräver ingen installation. Det använder sig av följande syntax:
$ xargs [OPTIONS] [ARGS]
Varje del av detta kommando är valfri, vilket betyder att xargs
kan köras med eller utan ytterligare argument eller optioner. Utan några specifika instruktioner fungerar xargs
som ett echo
-kommando. Det visar sig dock vara mest användbart när det tar data från ett kommando, som en lista filer funna av find
, och applicerar en åtgärd på varje element, som att radera eller modifiera filerna.
Viktiga Optioner i Xargs
Några av de mest användbara optionerna i xargs
inkluderar:
-a
: Läser innehållet i en angiven fil som om den var inmatad från standardingången.-t
: Skriver ut det resulterande kommandot på terminalen före exekvering, vilket ger en förhandsvisning av vad som kommer att utföras.-p
: Frågar användaren om godkännande före varje kommandoexekvering, vilket är användbart för känsliga operationer som filradering.-n
: Begränsar antalet argument somxargs
bearbetar åt gången.-d
: Definierar en specifik avgränsare för inmatningen, vilket ersätter standardavgränsaren som är ett mellanrum.
Praktiska användningsområden för Xargs
- Arkivering av filer: Använd
xargs
i kombination medfind
för att samla och arkivera filer baserat på specifika kriterier, som filändelser eller datum.
$ find ~/Documents/ -name "*.txt" -type f | xargs -0 tar -cvzf textfile.tar.gz
- Radering av filer: Liknande setup som arkivering, men istället för att arkivera, raderas filerna.
$ find ~/Documents/ -name "*.txt" -type f | xargs rm -f
- Förhandsgranskning av kommandon: Innan ett potentiellt skadligt kommando körs, som filradering, kan
-t
-optionen ge en visuell bekräftelse på vad som kommer att utföras.
$ find ~/Documents/ -name "*.txt" -type f | xargs -t rm -f
- Interaktiv godkännande: För ökad säkerhet kan
-p
-optionen användas för att kräva användargodkännande innan kommandon utförs.
$ find ~/Documents/ -name "*.txt" -type f | xargs -p rm -f
- Söka efter strängar: Kombinera
find
,xargs
ochgrep
för att effektivt söka efter specifika textsträngar inom filer.
$ find ~/Documents/ -name "*.txt" -type f | xargs grep "LinuxTLDR"
- Skapa en enhetlig användarlista: Generera en lista över systemanvändare från
/etc/passwd
med hjälp avcut
,sort
ochxargs
.
$ cut -d: -f1 < /etc/passwd | sort | xargs
- Hantering av filnamn med specialtecken: Använd
-0
eller-d
optioner för att korrekt hantera filnamn som innehåller mellanslag eller andra specialtecken.
Genom att använda xargs
kan komplexa uppgifter på kommandoraden förenklas markant, vilket gör det till ett oumbärligt verktyg i varje systemadministratörs arsenal. Den verkliga kraften i xargs
ligger i dess flexibilitet och förmåga att integreras sömlöst med nästan vilket Unix-verktyg som helst, vilket öppnar dörren för nästan oändliga automatiserings- och bearbetningsmöjligheter.
Mer kommandot xargs i vår wiki