Linux-da Tee we Xargs ulanyp, standart girişden buýruklary nädip işletmeli


Buýruk setirini ulanýarkaňyz, bir turbageçiriji ulanyp, bir programmanyň çykyşyny gönüden-göni geçirip bilersiňiz (mysal üçin, birneme oňaýsyz döredýän gural).

Buýruk setirlerini gurmak üçin turbageçirijiler bilen ulanyp boljak iň möhüm buýruk setiri:

  • xargs - adaty girişden maglumatlar akymlaryny okaýar, soňra buýruk setirlerini döredýär we ýerine ýetirýär.
  • tee - adaty girişden okaýar we şol bir wagtyň özünde adaty çykyş we bir ýa-da köp faýl ýazýar. Bu gönükdirme buýrugy.

Bu ýönekeý makalada, Linux-da turbalar, tee we xargs buýruklaryny ulanyp, adaty girişden birnäçe buýrugy nädip gurmalydygyny we ýerine ýetiriljekdigini düşündireris.

Turbany ulanmak üçin iň ýönekeý sintaksis, Linux sapaklarynyň köpüsinde eýýäm buýruklarda gören bolmagyňyz mümkin. Severalöne birnäçe buýruk bilen has uzyn buýruk setirini gurup bilersiňiz.

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

Aşakda baş buýrugyň çykyşyny geçirmek üçin turbageçirijini ulanmagyň mysaly.

$ dmesg | head

Buýruklary işletmek üçin xargs nädip ulanmaly

Bu mysalda, ikinji buýruk muti-line çykyşyny xargs ulanyp bir setire öwürýär.

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

Sanawdaky her faýldaky setirleriň/sözleriň/nyşanlaryň sanyny sanamak üçin aşakdaky buýruklary ulanyň.

$ 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

Aşakdaky buýruk häzirki katalogdaky All atly katalogy tapýar we gaýtalap pozýar.

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

-print0 hereketi bilen tapmak buýrugy, adaty çykyşda doly katalog ýoluny çap etmäge mümkinçilik berýär, soň bolsa null nyşan we -0 xargs baýdagy faýl atlaryndaky boşluk bilen iş salyşýar.

Bu makalalarda beýleki amaly xargs buýrugyny ulanmagyň mysallaryny tapyp bilersiňiz:

  1. Linux-da birnäçe kataloga bir faýly nädip göçürmeli
  2. Fileshli faýllaryň we katalog atlarynyň adyny Linux-da kiçi harp bilen üýtgediň
  3. PNG-ni JPG we Wise-wersiýa öwürmegiň 4 usuly
  4. Bir ýa-da giňeldilen az faýllardan başga katalogdaky ähli faýllary ýok etmegiň 3 usuly

Linux-da buýruklar bilen Tee nädip ulanmaly

Bu mysal, buýruk çykyşyny adaty çykyşa nädip ibermelidigini we bir faýla ýazdyrmagy görkezýär; aşakdaky buýruk, Linux-da iň ýokary ýat we CPU ulanylyşy boýunça iň ýokary işleýän amallary görmäge mümkinçilik berýär.

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

Bar bolan faýl (lar) -a maglumat goşmak üçin -a baýdagyny geçiriň.

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

Tee we xargs adam sahypalarynda has giňişleýin maglumat tapyp bilersiňiz.

$ man xargs
$ man tee

Bu hemmesi! Specialörite makalamyzy barlamagy ýatdan çykarmaň: A - Z Linux buýruklary - Mysallar bilen syn.

Bu makalada turbageçirijiler arkaly buýruk setirlerini nädip döretmelidigini düşündirdik; xargs we tee buýruklary. Aşakdaky seslenme formasy arkaly islendik sorag berip ýa-da pikirleriňizi paýlaşyp bilersiňiz.