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:
- Kif tikkopja Fajl għal Direttorji Multipli fil-Linux
- Ibdel Isem il-Fajls u l-Ismijiet tad-Direttorju Kollha b'ittri żgħar fil-Linux
- 4 Modi biex Ikkonverti l-Lott tiegħek għal JPG u Viċi-Versa
- 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.