ຮຽນຮູ້ພື້ນຖານຂອງການປ່ຽນເສັ້ນທາງ Linux I/O (Input/Output) ເຮັດວຽກແນວໃດ
ໜຶ່ງ ໃນຫົວຂໍ້ທີ່ ສຳ ຄັນແລະ ໜ້າ ສົນໃຈທີ່ສຸດພາຍໃຕ້ການບໍລິຫານ Linux ແມ່ນການປ່ຽນເສັ້ນທາງ I/O. ຄຸນລັກສະນະຂອງເສັ້ນ ຄຳ ສັ່ງນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດປ່ຽນເສັ້ນທາງເຂົ້າແລະ/ຫຼືຜົນໄດ້ຮັບຂອງ ຄຳ ສັ່ງຈາກແລະ/ຫຼືໃສ່ແຟ້ມຕ່າງໆ, ຫຼືເຂົ້າຮ່ວມຫລາຍໆ ຄຳ ສັ່ງພ້ອມກັນໂດຍໃຊ້ທໍ່ເພື່ອປະກອບສິ່ງທີ່ເອີ້ນວ່າ“ ທໍ່ສົ່ງ ຄຳ ສັ່ງ”.
ຄຳ ສັ່ງທັງ ໝົດ ທີ່ພວກເຮົາ ດຳ ເນີນງານໂດຍພື້ນຖານແມ່ນຜະລິດຕະພັນສອງຢ່າງຄື:
<
ໃນລະບົບ Linux ແລະລະບົບຄ້າຍຄື Unix ອື່ນໆ, ມັນມີສາມແຟ້ມແບບ ທຳ ມະດາທີ່ມີຊື່ຢູ່ດ້ານລຸ່ມເຊິ່ງຍັງມີການ ກຳ ນົດໂດຍແກະໂດຍໃຊ້ຕົວເລກຕົວລະຫັດແຟ້ມ:
<
ດັ່ງນັ້ນ, ການປ່ຽນເສັ້ນທາງ I/O ຊ່ວຍໃຫ້ທ່ານສາມາດປ່ຽນແຫຼ່ງທີ່ປ້ອນຂໍ້ມູນຂອງ ຄຳ ສັ່ງພ້ອມທັງບ່ອນທີ່ຂໍ້ມູນຜົນຜະລິດແລະຂໍ້ຜິດພາດຂອງມັນຖືກສົ່ງໄປຫາ. ແລະສິ່ງນີ້ສາມາດເຮັດໄດ້ໂດຍຜູ້ປະຕິບັດການປ່ຽນເສັ້ນທາງ "<" ແລະ ">"
.
ວິທີການສົ່ງທິດທາງຜົນໄດ້ຮັບມາດຕະຖານເຂົ້າໃນເອກະສານ Linux
ທ່ານສາມາດປ່ຽນເສັ້ນທາງຜົນຜະລິດຕາມມາດຕະຖານເຊັ່ນໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້, ພວກເຮົາຕ້ອງການເກັບຮັກສາຜົນຜະລິດຂອງ ຄຳ ສັ່ງຊັ້ນສູງ ສຳ ລັບການກວດກາຕໍ່ມາ:
$ top -bn 5 >top.log
ບ່ອນທີ່ທຸງ:
<
-b
- ຊ່ວຍໃຫ້ທາງເທິງສາມາດ ດຳ ເນີນການແບບ ໂໝດ batch, ເພື່ອໃຫ້ທ່ານສາມາດປ່ຽນເສັ້ນທາງອອກໄປຫາເອກະສານຫຼື ຄຳ ສັ່ງອື່ນ. -n
- ລະບຸ ຈຳ ນວນຂອງ iterations ກ່ອນທີ່ ຄຳ ສັ່ງຈະສິ້ນສຸດລົງ. ທ່ານສາມາດເບິ່ງເນື້ອໃນຂອງເອກະສານ top.log
ໂດຍໃຊ້ ຄຳ ສັ່ງແມວດັ່ງຕໍ່ໄປນີ້:
$ cat top.log
ເພື່ອເພີ່ມຜົນຜະລິດຂອງ ຄຳ ສັ່ງ, ໃຫ້ໃຊ້ລະບົບປະຕິບັດການ “ >>”
.
ຍົກຕົວຢ່າງການເພີ່ມຂື້ນຂອງ ຄຳ ສັ່ງທີ່ຢູ່ຂ້າງເທິງໃນເອກະສານ top.log ໂດຍສະເພາະພາຍໃນສະຄິບ (ຫລືໃສ່ ຄຳ ສັ່ງ), ໃສ່ທີ່ຢູ່ທາງລຸ່ມ:
$ top -bn 5 >>top.log
ໝາຍ ເຫດ: ການ ນຳ ໃຊ້ເລກ ລຳ ດັບເອກະສານ, ຄຳ ສັ່ງປ່ຽນເສັ້ນທາງຜົນຜະລິດຂ້າງເທິງແມ່ນຄືກັນກັບ:
$ top -bn 5 1>top.log
ວິທີການປ່ຽນເສັ້ນທາງມາດຕະຖານຜິດພາດໄປທີ່ File ໃນ Linux
ເພື່ອປ່ຽນເສັ້ນທາງຜິດພາດມາດຕະຖານຂອງ ຄຳ ສັ່ງ, ທ່ານ ຈຳ ເປັນຕ້ອງ ກຳ ນົດ ຈຳ ນວນຕົວລະບຸເອກະສານ, 2
ເພື່ອໃຫ້ແກະເຂົ້າໃຈວ່າທ່ານ ກຳ ລັງພະຍາຍາມເຮັດຫຍັງ.
ຕົວຢ່າງ ຄຳ ສັ່ງ ls ຂ້າງລຸ່ມນີ້ຈະສ້າງຂໍ້ຜິດພາດເມື່ອປະຕິບັດໂດຍຜູ້ໃຊ້ລະບົບປົກກະຕິໂດຍບໍ່ມີສິດທິພິເສດ:
$ ls -l /root/
ທ່ານສາມາດໂອນຜິດພາດມາດຕະຖານໄປຫາເອກະສານດັ່ງລຸ່ມນີ້:
$ ls -l /root/ 2>ls-error.log $ cat ls-error.log
ເພື່ອເພີ່ມເຕີມຂໍ້ຜິດພາດມາດຕະຖານ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້:
$ ls -l /root/ 2>>ls-error.log
ວິທີການປ່ຽນເສັ້ນທາງອອກແບບຜິດພາດ/ຂໍ້ຜິດພາດຕໍ່ ໜຶ່ງ ເອກະສານ
ມັນກໍ່ເປັນໄປໄດ້ທີ່ຈະເກັບເອົາຜົນໄດ້ຮັບທັງ ໝົດ ຂອງ ຄຳ ສັ່ງ (ທັງຜົນຜະລິດແລະຂໍ້ຜິດພາດມາດຕະຖານ) ເຂົ້າໃນເອກະສານດຽວ. ນີ້ສາມາດເຮັດໄດ້ສອງທາງທີ່ເປັນໄປໄດ້ໂດຍການ ກຳ ນົດຕົວເລກຕົວລະບຸເອກະສານ:
1. ວິທີ ທຳ ອິດແມ່ນວິທີການເກົ່າແກ່ທີ່ເຮັດວຽກດັ່ງຕໍ່ໄປນີ້:
$ ls -l /root/ >ls-error.log 2>&1
ຄຳ ສັ່ງຂ້າງເທິງ ໝາຍ ຄວາມວ່າຫອຍນາງຈະສົ່ງຜົນຜະລິດຂອງ ຄຳ ສັ່ງ ls ໄປທີ່ file ls-error.log (ໂດຍໃຊ້ > ls-error.log
), ແລະຈາກນັ້ນຂຽນຂໍ້ຄວາມຜິດພາດທັງ ໝົດ ໃສ່ເອກະສານອະທິບາຍເອກະສານ 2 (ຜົນໄດ້ຮັບມາດຕະຖານ) ເຊິ່ງໄດ້ຖືກໂອນໄປຫາແຟ້ມ ls-error.log (ໃຊ້ 2> & 1
). ສະແດງໃຫ້ເຫັນວ່າຂໍ້ຜິດພາດມາດຕະຖານຍັງຖືກສົ່ງໄປຫາເອກະສານດຽວກັນກັບຜົນຜະລິດມາດຕະຖານ.
2. ວິທີການທີສອງແລະໂດຍກົງແມ່ນ:
$ ls -l /root/ &>ls-error.log
ທ່ານສາມາດຕື່ມຂໍ້ມູນຜົນຜະລິດແລະຂໍ້ຜິດພາດມາດຕະຖານເຊັ່ນດຽວກັນກັບເອກະສານດຽວດັ່ງນັ້ນ:
$ ls -l /root/ &>>ls-error.log
ວິທີການໂອນທິດທາງການປ້ອນຂໍ້ມູນແບບມາດຕະຖານເຂົ້າໃນເອກະສານ
ຖ້າ ຄຳ ສັ່ງທັງ ໝົດ ບໍ່ໄດ້ຮັບການປ້ອນຂໍ້ມູນຂອງພວກເຂົາຈາກການປ້ອນຂໍ້ມູນແບບມາດຕະຖານ, ແລະໂດຍການປ້ອນຂໍ້ມູນແບບມາດຕະຖານຕາມມາດຕະຖານແມ່ນຕິດກັບແປ້ນພິມ.
ເພື່ອປ່ຽນເສັ້ນທາງປ້ອນຂໍ້ມູນແບບມາດຕະຖານຈາກເອກະສານອື່ນນອກ ເໜືອ ຈາກແປ້ນພິມ, ໃຫ້ໃຊ້ຕົວປະຕິບັດງານ “ <”
ດັ່ງລຸ່ມນີ້:
$ cat <domains.list
ວິທີການປ່ຽນເສັ້ນທາງເຂົ້າ - ຂາອອກມາດຕະຖານເຂົ້າໃນເອກະສານ
ທ່ານສາມາດປະຕິບັດການປ້ອນຂໍ້ມູນແບບມາດຕະຖານແລະການປ່ຽນເສັ້ນທາງແບບມາດຕະຖານໃນເວລາດຽວກັນໂດຍໃຊ້ ຄຳ ສັ່ງຈັດຮຽງຄືດັ່ງລຸ່ມນີ້:
$ sort <domains.list >sort.output
ວິທີການ ນຳ ໃຊ້ເສັ້ນທາງ I/O ປ່ຽນເສັ້ນທາງໂດຍໃຊ້ທໍ່
ເພື່ອປ່ຽນເສັ້ນທາງອອກຂອງ ຄຳ ສັ່ງດຽວເປັນການປ້ອນຂໍ້ມູນຂອງ ຄຳ ສັ່ງອື່ນ, ທ່ານສາມາດໃຊ້ທໍ່ນ້ ຳ, ນີ້ແມ່ນວິທີການທີ່ມີປະສິດທິພາບໃນການສ້າງສາຍ ຄຳ ສັ່ງທີ່ມີປະໂຫຍດຕໍ່ການ ດຳ ເນີນງານທີ່ຊັບຊ້ອນ.
ຕົວຢ່າງ, ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ຈະລົງບັນຊີຫ້າເອກະສານທີ່ຖືກປັບປຸງ ໃໝ່ ຫຼ້າສຸດ.
$ ls -lt | head -n 5
ນີ້, ຕົວເລືອກຕ່າງໆ:
<
-l
- ສາມາດເປີດຮູບແບບລາຍຊື່ຍາວ -t
- ຈັດຮຽງຕາມເວລາດັດແກ້ດ້ວຍເອກະສານລ້າສຸດແມ່ນສະແດງໃຫ້ເຫັນກ່ອນ -n
- ລະບຸ ຈຳ ນວນເສັ້ນຂອງຫົວທີ່ຈະສະແດງ ຄຳ ສັ່ງ ສຳ ຄັນ ສຳ ລັບການກໍ່ສ້າງທໍ່
ນີ້, ພວກເຮົາຈະທົບທວນສັ້ນໆສອງ ຄຳ ສັ່ງ ສຳ ຄັນ ສຳ ລັບການສ້າງທໍ່ສົ່ງ ຄຳ ສັ່ງແລະມັນແມ່ນ:
xargs ເຊິ່ງໃຊ້ເພື່ອສ້າງແລະປະຕິບັດເສັ້ນ ຄຳ ສັ່ງຈາກການປ້ອນຂໍ້ມູນແບບມາດຕະຖານ. ຂ້າງລຸ່ມນີ້ແມ່ນຕົວຢ່າງຂອງທໍ່ທີ່ໃຊ້ xargs, ຄຳ ສັ່ງນີ້ຖືກໃຊ້ເພື່ອ ສຳ ເນົາເອກະສານເຂົ້າໃນໄດເລກະທໍລີທີ່ຫຼາກຫຼາຍໃນ Linux:
$ echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh
ແລະຕົວເລືອກຕ່າງໆ:
<
-n 1
- ແນະ ນຳ ໃຫ້ xargs ໃຊ້ການໂຕ້ຖຽງຫຼາຍຕໍ່ ໜຶ່ງ ເສັ້ນຕໍ່ ຄຳ ສັ່ງແລະສົ່ງໄປທີ່ ຄຳ ສັ່ງ cp cp
- ສຳ ເນົາເອກະສານ -v
- ສະແດງຄວາມຄືບ ໜ້າ ຂອງ ຄຳ ສັ່ງ copy. ສຳ ລັບຕົວເລືອກການ ນຳ ໃຊ້ແລະຂໍ້ມູນເພີ່ມເຕີມ, ອ່ານຜ່ານ ໜ້າ ຜູ້ຊາຍ xargs:
$ man xargs
ຄຳ ສັ່ງ tee ອ່ານຈາກວັດສະດຸປ້ອນມາດຕະຖານແລະຂຽນໃສ່ຜົນຜະລິດແລະແຟ້ມມາດຕະຖານ. ພວກເຮົາສາມາດສະແດງວິທີການເຮັດວຽກຂອງອົງປະກອບດັ່ງຕໍ່ໄປນີ້:
$ echo "Testing how tee command works" | tee file1
ວຽກງານບໍລິຫານລະບົບ Linux.
ເພື່ອຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບເຄື່ອງກອງແລະທໍ່ Linux, ໃຫ້ອ່ານບົດຄວາມນີ້ຊອກຫາ IP Address 10 ທີ່ດີທີ່ສຸດໃນການເຂົ້າເຖິງ Apache Server, ສະແດງຕົວຢ່າງທີ່ມີປະໂຫຍດໃນການໃຊ້ຕົວກອງແລະທໍ່.
ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍພື້ນຖານຂອງການປ່ຽນເສັ້ນທາງ I/O ໃນ Linux. ຢ່າລືມແບ່ງປັນຄວາມຄິດຂອງທ່ານຜ່ານພາກ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.