Kif Tmexxi Kmandi minn Input Standard billi tuża Tee u Xargs fil-Linux


Waqt li tuża l-linja tal-kmand, tista 'tgħaddi direttament l-output ta' programm wieħed (per eżempju għodda li tiġġenera xi awk, għal aktar ipproċessar), billi tuża pipeline.

Tnejn mill-aktar utilitajiet importanti tal-linja tal-kmand li jistgħu jintużaw mal-pipelines biex jinbnew linji tal-kmand huma:

  • xargs – jaqra flussi ta' dejta minn input standard, imbagħad jiġġenera u jesegwixxi linji ta' kmand.
  • tee – jaqra minn input standard u jikteb simultanjament fuq output standard u fajl wieħed jew ħafna. Huwa aktar kmand ta' direzzjoni mill-ġdid.

F'dan l-artikolu sempliċi, aħna se niddeskrivu kif tibni u tesegwixxi kmandi multipli minn input standard billi tuża kmandi ta 'pajpijiet, tee u xargs fil-Linux.

L-aktar sintassi sempliċi għall-użu ta 'pajp, li forsi diġà rajt fil-kmandi f'ħafna minn tutorials tal-Linux, hija kif ġej. Imma tista 'tibni linja ta' kmand itwal b'diversi kmandi.

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

Hawn taħt hawn eżempju ta 'użu ta' pipeline biex jgħaddi l-output tal-kmand tar-ras.

$ dmesg | head

Kif tuża xargs biex tmexxi Kmandi

F'dan l-eżempju, it-tieni kmand jikkonverti l-output ta 'multi-line f'linja waħda bl-użu ta' xargs.

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

Biex tgħodd in-numru ta' linji/kliem/karattri f'kull fajl f'lista, uża l-kmandi hawn taħt.

$ 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

Il-kmand hawn taħt isib u jħassar b'mod rikorsiv id-direttorju msemmi All fid-direttorju attwali.

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

Il-kmand find bl-għażla -print0 azzjoni tippermetti l-istampar tal-mogħdija tad-direttorju sħiħ fuq l-output standard, segwit minn karattru null u l-marka -0 xargs jittratta l-ispazju fl-ismijiet tal-fajls.

Tista' ssib eżempji oħra ta' użu ta' kmand ta' xargs f'dawn l-artikoli:

  1. Kif tikkopja Fajl għal Direttorji Multipli fil-Linux
  2. Ibdel Isem il-Fajls u l-Ismijiet tad-Direttorju Kollha b'ittri żgħar fil-Linux
  3. 4 Modi biex Ikkonverti l-Lott tiegħek għal JPG u Viċi-Versa
  4. 3 Modi kif Tħassar il-Fajls Kollha f'Direttorju Ħlief Fajls Wieħed jew Ftit b'Estensjonijiet

Kif tuża Tee bi Kmandi fil-Linux

Dan l-eżempju juri kif tibgħat output tal-kmand għall-output standard u tissejvja f'fajl; il-kmand hawn taħt jippermettilek tara l-aqwa proċessi li qed jaħdmu bl-ogħla memorja u użu tas-CPU fil-Linux.

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

Biex tehmeż data f'fajl(i) eżistenti, għaddi l-marka -a.

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

Tista' ssib aktar informazzjoni fil-paġni man tee u xargs.

$ man xargs
$ man tee

Dak kollox! Tinsiex li tiċċekkja l-artiklu speċjali tagħna: Kmandi A - Z Linux - Ħarsa ġenerali b'Eżempji.

F'dan l-artikolu, iddeskrivejna kif tiġġenera linji ta 'kmand bl-użu ta' pipelines; xargs u tee kmandi. Tista' tistaqsi kwalunkwe mistoqsija jew taqsam xi ħsibijiet permezz tal-formola ta' feedback hawn taħt.