Kuidas käivitada käske standardsisendist, kasutades Tee ja Xargsi Linuxis


Käsurea kasutamisel saate torujuhtme abil otse edastada ühe programmi väljundi (näiteks tööriista, mis genereerib mõne awk, edasiseks töötlemiseks).

Kaks kõige olulisemat käsurea utiliiti, mida saab torujuhtmetega käsuridade loomiseks kasutada, on:

  • xargs - loeb andmevooge standardsisest sisendist, seejärel genereerib ja käivitab käsuread.
  • tee - loeb standardsisendist ja kirjutab üheaegselt standardväljundisse ja ühte või mitmesse faili. See on pigem ümbersuunamise käsk.

Selles lihtsas artiklis kirjeldame, kuidas luua ja täita mitu käsku standardsisendist, kasutades Linuxis käske pipe, tee ja xargs.

Lihtsaim toru kasutamise süntaks, mida võite juba paljudes Linuxi õpetustes käskudest näha, on järgmine. Kuid saate luua mitme käsuga pikema käsurea.

$ command1 args | command2 args 
OR
# command1 args | command2 args | command3 args ...

Allpool on näide torujuhtme kasutamisest pea käsu väljundi edastamiseks.

$ dmesg | head

Kuidas kasutada käske xargs käskude käivitamiseks

Selles näites teisendab käsk xargs kasutades mutrirea väljundi üheks realiks.

$ ls -1 *.sh
$ ls -1 *.sh | xargs

Loendis iga faili ridade/sõnade/märkide arvu lugemiseks kasutage allolevaid käske.

$ ls *.sh | xargs wc -l	    #count number of lines in each file
$ ls *.sh | xargs wc -w	    #count number of words in each file
$ ls *.sh | xargs wc -c	    #count number of characters in each file
$ ls *.sh | xargs wc	    #count lines, words and characters in each file

Allolev käsk leiab ja kustutab rekursiivselt kataloogi nimega All praeguses kataloogis.

$ find . -name "All" -type d -print0 | xargs  -0 /bin/rm -rf "{}"

Leidekäsk suvandiga -print0 võimaldab printida kogu kataloogi tee standardväljundile, millele järgneb nullmärk ja lipp -0 xargs käsitleb tühikut failinimedes.

Nendest artiklitest leiate muid praktilisi näiteid xargs käsu kasutamisest:

  1. Kuidas faili Linuxi mitmesse kataloogi kopeerida
  2. Nimeta kõik failid ja katalooginimed Linuxis ümber väiketähtedeks
  3. 4 viisi pakkide teisendamiseks PNG-vorming JPG-ks ja vastupidi
  4. 3 viisi kõigi kataloogi failide kustutamiseks, välja arvatud üks või mõni laiendiga fail

Kuidas kasutada Linuxi käsudega Tee

See näide näitab, kuidas saata käsuväljund standardväljundisse ja salvestada faili; allpool olev käsk võimaldab teil vaadata kõige paremini töötavaid protsesse Linuxi kõrgeima mälu ja protsessori kasutamise järgi.

$ ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head | tee topprocs.txt
$ cat  topprocs.txt

Olemasoleva (te) faili (de) andmete lisamiseks edastage lipp -a .

$ ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head | tee -a topprocs.txt 

Lisateavet leiate tee ja xargsi käsiraamatutelt.

$ man xargs
$ man tee

See on kõik! Ärge unustage tutvuda meie spetsiaalse artikliga: A - Z Linuxi käsud - ülevaade näidetega.

Selles artiklis kirjeldasime, kuidas torujuhtmete abil luua käsuridu; xargs ja tee käsud. Allpool oleva tagasisidevormi kaudu saate esitada küsimusi või jagada mõtteid.