Hvernig á að keyra skipanir frá venjulegu inntaki með Tee og Xargs í Linux


Meðan þú notar skipanalínuna geturðu sent úttak eins forrits beint (til dæmis tól sem býr til smá awk, til frekari vinnslu), með því að nota leiðslu.

Tvö af mikilvægustu skipanalínum sem hægt er að nota með leiðslum til að byggja upp skipanalínur eru:

  • xargs – les gagnastrauma úr venjulegu inntaki, býr síðan til og framkvæmir skipanalínur.
  • tee – les úr venjulegu inntaki og skrifar samtímis í staðlað úttak og eina eða margar skrár. Þetta er meira tilvísunarskipun.

Í þessari einföldu grein munum við lýsa því hvernig á að byggja og framkvæma margar skipanir frá venjulegu inntaki með því að nota pípur, tee og xargs skipanir í Linux.

Einfaldasta setningafræðin til að nota pípu, sem þú gætir hafa þegar séð í skipunum í mörgum Linux námskeiðum, er sem hér segir. En þú getur byggt upp lengri skipanalínu með nokkrum skipunum.

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

Hér að neðan er dæmi um notkun leiðslu til að senda úttak höfuðskipunar.

$ dmesg | head

Hvernig á að nota xargs til að keyra skipanir

Í þessu dæmi breytir önnur skipunin muti-line úttak í eina línu með því að nota xargs.

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

Til að telja fjölda lína/orða/stafa í hverri skrá á lista, notaðu skipanirnar hér að neðan.

$ 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

Skipunin fyrir neðan finnur og eyðir afturkvæmt möppunni sem heitir Allt í núverandi möppu.

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

Find skipunin með valmöguleikanum -print0 aðgerð gerir kleift að prenta alla skráarslóðina á venjulegu úttakinu, fylgt eftir með núllstaf og -0 xargs fáninn fjallar um bil í skráarnöfnum.

Þú getur fundið önnur hagnýt dæmi um notkun xargs skipana í þessum greinum:

  1. Hvernig á að afrita skrá í margar möppur í Linux
  2. Endurnefna allar skrár og skráarheiti í lágstafi í Linux
  3. Fjórar leiðir til að umbreyta PNG í JPG og öfugt
  4. 3 leiðir til að eyða öllum skrám í möppu nema einni eða fáum skrám með viðbótum

Hvernig á að nota Tee með skipunum í Linux

Þetta dæmi sýnir hvernig á að senda skipanaúttak í staðlað úttak og vista í skrá; skipunin hér að neðan gerir þér kleift að skoða helstu keyrsluferli eftir hæstu minni og örgjörvanotkun í Linux.

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

Til að bæta við gögnum í núverandi skrá(r), sendu -a fánann.

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

Þú getur fundið frekari upplýsingar á tee og xargs mannasíðum.

$ man xargs
$ man tee

Það er allt og sumt! Ekki gleyma að skoða sérstaka grein okkar: A – Ö Linux skipanir – Yfirlit með dæmum.

Í þessari grein lýstum við hvernig á að búa til skipanalínur með leiðslum; xargs og tee skipanir. Þú getur spurt hvaða spurninga sem er eða deilt hvaða hugsunum sem er í gegnum athugasemdaformið hér að neðan.