ວິທີການຊອກຫາສະຕິງຫລື ຄຳ ທີ່ເຈາະຈົງໃນເອກະສານແລະໄດເລກະທໍລີ


ທ່ານຕ້ອງການຊອກຫາເອກະສານທັງ ໝົດ ທີ່ປະກອບດ້ວຍ ຄຳ ສັບຫລື ຄຳ ສັບໃດ ໜຶ່ງ ທີ່ສະເພາະເຈາະຈົງໃນລະບົບ Linux ຂອງທ່ານຫລືໄດເລກະທໍລີທີ່ທ່ານໃຫ້. ບົດຂຽນນີ້ຈະແນະ ນຳ ທ່ານກ່ຽວກັບວິທີເຮັດແນວນັ້ນ, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການຂຸດຄົ້ນຄືນໂດຍຜ່ານບັນດາລາຍການເພື່ອຊອກຫາແລະລົງບັນດາເອກະສານທັງ ໝົດ ທີ່ປະກອບດ້ວຍສາຍອັກສອນທີ່ໃຫ້ໄວ້.

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

ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ຈະບອກທຸກເອກະສານທີ່ບັນຈຸເສັ້ນທີ່ມີ ຄຳ ວ່າ "check_root", ໂດຍການຄົ້ນຫາແບບລະຫັດແລະການຮວບຮວມຂໍ້ມູນລະຫັດ ~/bin .

$ grep -Rw ~/bin/ -e 'check_root'

ບ່ອນທີ່ຕົວເລືອກ -R ບອກ grep ໃຫ້ອ່ານທຸກເອກະສານພາຍໃຕ້ແຕ່ລະໄດເລກະທໍລີ, ໂດຍອ້າງອີງໃສ່ການເຊື່ອມຕໍ່ທີ່ເປັນສັນຍາລັກເທົ່ານັ້ນຖ້າມັນຢູ່ໃນເສັ້ນ ຄຳ ສັ່ງແລະຕົວເລືອກ -w ແນະ ນຳ ໃຫ້ເລືອກເອົາພຽງແຕ່ສາຍທີ່ມີ ຄຳ ວ່າຮູບແບບນັ້ນ ຄຳ ສັບທັງ ໝົດ, ແລະ -e ແມ່ນໃຊ້ເພື່ອ ກຳ ນົດສາຍ (ຮູບແບບ) ທີ່ຕ້ອງໄດ້ຄົ້ນຫາ.

ທ່ານຄວນໃຊ້ ຄຳ ສັ່ງ sudo ໃນເວລາທີ່ທ່ານຊອກຫາໄດເລກະທໍລີຫຼືເອກະສານທີ່ ຈຳ ເປັນຕ້ອງໄດ້ຮັບອະນຸຍາດຈາກຮາກ (ເວັ້ນເສຍແຕ່ວ່າທ່ານ ກຳ ລັງຈັດການລະບົບຂອງທ່ານກັບບັນຊີຮາກ).

 
$ sudo grep -Rw / -e 'check_root'	

ເພື່ອບໍ່ສົນໃຈຄວາມແຕກຕ່າງຂອງກໍລະນີຈ້າງຕົວເລືອກ -i ດັ່ງທີ່ສະແດງ:

$ grep -Riw ~/bin/ -e 'check_root'

ຖ້າທ່ານຕ້ອງການຢາກຮູ້ສາຍທີ່ແນ່ນອນວ່າສະຕິງຂອງຕົວ ໜັງ ສືມີຢູ່, ໃຫ້ເລືອກຕົວເລືອກ -n .

$ grep -Rinw ~/bin/ -e 'check_root'

ສົມມຸດວ່າມີຫລາຍປະເພດຂອງແຟ້ມໃນໄດເລກະທໍລີທີ່ທ່ານຕ້ອງການຄົ້ນຫາ, ທ່ານຍັງສາມາດ ກຳ ນົດປະເພດເອກະສານທີ່ຕ້ອງຄົ້ນຫາໂດຍຕົວຢ່າງ, ໂດຍການຂະຫຍາຍຂອງພວກມັນໂດຍໃຊ້ຕົວເລືອກ - ລວມ .

ຕົວຢ່າງນີ້ແນະ ນຳ grep ໃຫ້ເບິ່ງຜ່ານພຽງແຕ່ແຟ້ມ .sh ເທົ່ານັ້ນ.

$ grep -Rnw --include=\*.sh ~/bin/ -e 'check_root'

ນອກຈາກນັ້ນ, ຍັງສາມາດຄົ້ນຫາຮູບແບບຫຼາຍກວ່າ ໜຶ່ງ ແບບ, ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ grep -Rinw ~/bin/ -e 'check_root' -e 'netstat'

ນັ້ນແມ່ນມັນ! ຖ້າທ່ານຮູ້ເຄັດລັບເສັ້ນ ຄຳ ສັ່ງອື່ນໆເພື່ອຊອກຫາ ຄຳ ສັບຫລື ຄຳ ສັບໃນແຟ້ມຕ່າງໆ, ແບ່ງປັນກັບພວກເຮົາຫລືຖາມ ຄຳ ຖາມກ່ຽວກັບຫົວຂໍ້ນີ້, ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.