ວິທີການໃຊ້ ຄຳ ສັ່ງຈາກການປ້ອນຂໍ້ມູນແບບມາດຕະຖານໂດຍໃຊ້ Tee ແລະ Xargs ໃນ Linux


ໃນຂະນະທີ່ ນຳ ໃຊ້ເສັ້ນ ຄຳ ສັ່ງ, ທ່ານສາມາດສົ່ງຕໍ່ຜົນໄດ້ຮັບຂອງໂປແກຼມ ໜຶ່ງ ຕົວຢ່າງ (ຕົວຢ່າງເຊັ່ນເຄື່ອງມືທີ່ສ້າງຄວາມງົງບາງ, ສຳ ລັບການປະມວນຜົນຕໍ່ໄປ), ໂດຍໃຊ້ທໍ່.

ສອງຂອງສິ່ງ ອຳ ນວຍຄວາມສະດວກທີ່ ສຳ ຄັນທີ່ສຸດທີ່ສາມາດ ນຳ ໃຊ້ກັບທໍ່ເພື່ອສ້າງສາຍ ຄຳ ສັ່ງແມ່ນ:

  • xargs - ອ່ານກະແສຂໍ້ມູນຈາກການປ້ອນຂໍ້ມູນແບບມາດຕະຖານ, ຫຼັງຈາກນັ້ນກໍ່ສ້າງແລະປະຕິບັດສາຍ ຄຳ ສັ່ງ.
  • tee - ອ່ານຈາກການປ້ອນຂໍ້ມູນແບບມາດຕະຖານແລະຂຽນພ້ອມກັນເຖິງຜົນຜະລິດມາດຕະຖານແລະເອກະສານ ໜຶ່ງ ຫລືຫຼາຍ. ມັນມີ ຄຳ ສັ່ງປ່ຽນເສັ້ນທາງຫຼາຍຂື້ນ.

ໃນບົດຂຽນງ່າຍໆນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການສ້າງແລະປະຕິບັດ ຄຳ ສັ່ງຫຼາຍຂໍ້ຈາກການປ້ອນຂໍ້ມູນແບບມາດຕະຖານໂດຍໃຊ້ ຄຳ ສັ່ງທໍ່, tee ແລະ xargs ໃນ Linux.

syntax ທີ່ງ່າຍດາຍທີ່ສຸດ ສຳ ລັບການໃຊ້ທໍ່, ເຊິ່ງທ່ານອາດຈະໄດ້ເຫັນແລ້ວໃນ ຄຳ ສັ່ງໃນຫຼາຍໆ tutorial Linux ທີ່ອອກມາ, ແມ່ນດັ່ງຕໍ່ໄປນີ້. ແຕ່ທ່ານສາມາດສ້າງເສັ້ນ ຄຳ ສັ່ງທີ່ຍາວກວ່າດ້ວຍ ຄຳ ສັ່ງຫລາຍໆຢ່າງ.

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

ຂ້າງລຸ່ມນີ້ແມ່ນຕົວຢ່າງຂອງການໃຊ້ທໍ່ເພື່ອສົ່ງຜົນໄດ້ຮັບຂອງ ຄຳ ສັ່ງຫົວ.

$ dmesg | head

ວິທີການໃຊ້ xargs ເພື່ອໃຊ້ Commands

ໃນຕົວຢ່າງນີ້, ຄຳ ສັ່ງທີສອງປ່ຽນຜົນຜະລິດຈາກເສັ້ນ muti ເປັນສາຍດຽວໂດຍໃຊ້ xargs.

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

ເພື່ອນັບ ຈຳ ນວນເສັ້ນ/ຄຳ/ລັກສະນະໃນແຕ່ລະເອກະສານໃນບັນຊີ, ນຳ ໃຊ້ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້.

$ 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

ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ຊອກຫາແລະລຶບຂໍ້ມູນທີ່ມີຊື່ວ່າ ທັງ ໝົດ ໃນໄດເລກະທໍລີປັດຈຸບັນ.

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

ຄຳ ສັ່ງຊອກຫາທີ່ມີຕົວເລືອກ -print0 ເຮັດໃຫ້ການພິມເສັ້ນທາງໄດເລກະທໍລີເຕັມຮູບແບບຜົນຜະລິດຕາມດ້ວຍຕົວອັກສອນທີ່ບໍ່ມີຕົວຕົນແລະ -0 xargs ປະຕິບັດທຸງກັບຊ່ອງໃນຊື່ແຟ້ມ.

ທ່ານສາມາດຊອກຫາຕົວຢ່າງການ ນຳ ໃຊ້ ຄຳ ສັ່ງ xargs ທີ່ໃຊ້ໃນບົດຄວາມເຫຼົ່ານີ້:

<

  • ວິທີການຄັດລອກແຟ້ມເອກະສານ ໜຶ່ງ ໃນຫຼາຍລາຍຊື່ໃນ Linux
  • ປ່ຽນຊື່ແຟ້ມແລະຊື່ໄດເລກະທໍລີທັງ ໝົດ ໃຫ້ເປັນຕົວນ້ອຍໃນ Linux
  • 4 ວິທີການ Batch ປ່ຽນ PNG ຂອງທ່ານໃຫ້ເປັນ JPG ແລະ vice-versa
  • 3 ວິທີການລຶບໄຟລ໌ທັງ ໝົດ ໃນໄດເລກະທໍລີຍົກເວັ້ນ ໜຶ່ງ ຫຼືສອງສາມເອກະສານທີ່ມີສ່ວນຂະຫຍາຍ
  • ວິທີການໃຊ້ Tee ກັບ Commands ໃນ Linux

    ຕົວຢ່າງນີ້ສະແດງວິທີການສົ່ງຜົນຜະລິດ ຄຳ ສັ່ງໄປຍັງຜົນຜະລິດຕາມມາດຕະຖານແລະບັນທຶກໄວ້ໃນເອກະສານ; ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດເບິ່ງຂະບວນການແລ່ນທີ່ດີທີ່ສຸດໂດຍຄວາມ ຈຳ ສູງສຸດແລະການ ນຳ ໃຊ້ CPU ໃນ Linux.

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

    ເພື່ອຕື່ມຂໍ້ມູນໃສ່ໃນເອກະສານທີ່ມີຢູ່ແລ້ວ, ໃຫ້ຂ້າມທຸງ -a .

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

    ທ່ານສາມາດຊອກຫາຂໍ້ມູນເພີ່ມເຕີມໃນ ໜ້າ tee ແລະ xargs man.

    $ man xargs
    $ man tee
    

    ຫມົດເທົ່ານີ້! ຢ່າລືມຕິດຕາມເບິ່ງບົດຄວາມພິເສດຂອງພວກເຮົາ: A - Z Linux Commands - ພາບລວມກັບຕົວຢ່າງ.

    ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍວິທີການສ້າງສາຍບັນຊາໂດຍໃຊ້ທໍ່; xargs ແລະ tee ຄຳ ສັ່ງ. ທ່ານສາມາດຖາມ ຄຳ ຖາມຫຼືແລກປ່ຽນຄວາມຄິດໃດໆຜ່ານແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.