Disse 4 små Linux-kommandoer får komplekse terminalopgaver til at føles som en leg

Opdag fire essentielle Linux-kommandoer - xargs, tee, watch og comm - der effektiviserer dit workflow, sparer tid og letter komplekse opgaver.
Linux byder på et væld af kommandoer, men de fleste af os holder os til kun en håndfuld. Mange begrænser sig til under ti, medmindre det er strengt nødvendigt. Alligevel findes der skjulte perler blandt de oversete, som effektivt løfter byrderne. Her er fire, som selv rutinerede brugere ofte overser, sammen med deres styrker.
xargs
Byg og kør kommandoer fra input
xargs dukker op, når en kommando kæmper med lange filnavne. Det omdanner input til argumenter for andre kommandoer og opdeler data i passende portioner, så argumentgrænserne aldrig overskrides. Denne simple funktion gør pipelines langt mere effektive end almindelige pipes, som blot videresender tekst.
Et klassisk eksempel er kombinationen med find: Kør find . -name "*.log" -print0 | xargs -0 rm for at slette matchende logfiler. Den null-adskilte mulighed forhindrer filnavne med mellemrum i at skabe problemer. Uden det kan “gammel rapport.log” fortolkes som to filer, og så går det galt.
xargs stråler især, når det kommer til kontrol. Flaget -n begrænser antallet af argumenter pr. kald; -n 1 kører kommandoen for hvert element. Med -I kan du angive en pladsholder, der er handy, når elementer skal indsættes et andet sted i kommandoen, f.eks. cp {} /backup/. Vil du have sikkerhed, så byd -p om bekræftelse før kørsel — en god praksis før destruktive handlinger.
Eksperter glemmer ofte parallellitet. Med -P 4 lader du xargs køre fire processer samtidig, hvilket kan halvere tiden for store opgaver. At komprimere billeder eller konvertere mange filer går hurtigere på en multi-core maskine uden at skulle skrive løkker eller installere specialværktøjer.
xargs integreres problemfrit med kommandoer, der accepterer argumenter, og kan bruges i scripts eller til oprydning. Mange for-løkker føles overflødige, når du anvender xargs, hvilket gør kommandoer kortere, hurtigere og nemmere at forstå.
tee
Skriv til filer uden at stoppe din pipeline
Tee-kommandoen minder om T-formede rør og leverer nøjagtigt det: Den læser fra input og skriver til både output og filer samtidig, så du kan overvåge, hvad der sker i en pipeline uden at afbryde strømmen.
Denne funktion kommer ofte til live, når du kører lange bygge- eller installationskørsler. Send output gennem tee build.log for at følge med på skærmen og have en komplet log til eftertiden. Hvis noget går galt ved trin fyrre, slipper du for at køre hele processen igen for at finde fejlen, fordi loggen allerede er klar. Med flaget -a tillader du, at nye data tilføjes til eksisterende filer, hvilket er ideelt til løbende logfiler.
Et tip, der redder mange, handler om rettigheder. Kører du sudo echo “indstilling” > /etc/some.conf, kan det fejle pga. tilladelsesproblemer. Ved at bruge sudo tee /etc/some.conf løser du det, da tee får forhøjede rettigheder til at udføre skrivningen. Brug -a for at tilføje i stedet for at overskrive, og omdiriger output til /dev/null, hvis du vil undgå ekko i terminalen.
Tee kan også skrive til flere filer samtidigt, hvilket holder rådata og filtrerede versioner. Sørg for at kombinere med proces substitution for at dirigere samme strøm ind i flere kommandoer.
watch
Gentag enhver kommando og se ændringerne
Administratorer har ofte udført den samme kommando gentagne gange, ventende på forandring. Watch-kommandoen stopper denne cyklus. Den kører et program hvert andet sekund som standard og viser output i fuld skærm, således at hver opdatering overskriver den forrige. I stedet for at trykke op-pil, kan du følge med.
Tryk på Enter for automatisk at opdatere resultatet.
Kør watch df -h for at se diskpladsen falde ved større downloads eller sikkerhedskopier. Overvåg en katalogliste for at se, hvornår en fil dukker op eller når sin størrelse. Brug watch systemctl status til at kontrollere tjenester, eller watch ss -tn for netværksforbindelser, hvilket hjælper med at bekræfte, at en løsning har haft effekt i stedet for blot at gætte ud fra et snapshot.
To muligheder forbedrer værktøjets funktionalitet. Med -n-flaget justeres opdateringsintervallet. watch -n 1 opdaterer hver sekund, mens en større værdi er passende for langsommere opgaver. -d-flaget fremhæver ændringer i outputtet fra den forrige kørsel, hvilket gør subtile forskelle lettere at se, som når en tæller stiger i en lang tabel. -g afslutter straks, når outputtet ændres, ideelt i scripts, der kræver ventetid på et resultat.
Husk: Kommandoer med rør eller specialtegn skal være i citationstegn, ellers tolker shell dem før watch.
komm
Find hvad to filer deler, og hvor de adskiller sig
Diff-kommandoen tiltrækker opmærksomhed, men comm er ofte mere effektiv til at sammenligne filer. Den viser række for række, hvad der findes i den ene eller begge filer. Resultaterne præsenteres i tre kolonner: linjer fra den første fil, linjer fra den anden, samt fælles linjer.
Kraften ligger i at skjule kolonner. Med -12 gemmes de første to kolonner, så kun fælles linjer vises. Brug -23 for at se unikke linjer fra den første fil, og -13 for den anden. Dette simplificerer opgaver som at sammenligne lister af installerede pakker, brugernavne eller domæner uden brug for regneark.
Vigtigt: Begge inputs skal være sorterede for at undgå forvirrende output fra comm. Procesudskiftning muliggør sortering uden midlertidige filer. En kommando som comm -23 viser forskellene mellem to listeversioner i én enkelt kommando. For case-insensitiv sammenligning, konverter teksten til ensartet case med værktøjer som tr før du sender til comm.
Comm arbejder kun med hele linjer og er hurtig, selv på store filer, hvilket gør det nemt at integrere output i andre værktøjer som xargs eller wc.
Fire små kommandoer, der sparer tid
Xargs, tee, watch og comm løser almindelige problemer med minimal indsats. Ingen af dem er nye eller komplekse, det er derfor, de ofte overses. Hold dem i tankerne og slip for klodsede løkker, gentagelser og midlertidige filer.

Skriv et svar