ສິ່ງທີ່ Linux Metacharacters ແລະວິທີການທີ່ທ່ານໃຊ້ພວກເຂົາ

ຕາມ Wikipedia, metacharacter ແມ່ນລັກສະນະທີ່ມີຄວາມຫມາຍພິເສດ, ເຊັ່ນ: carat (^), ອາເມລິກາ ($) ຫຼືຕາ (*).

ໃນແງ່ຂອງ Linux, ມີຈໍານວນທີ່ເຫມາະສົມຂອງ metacharacters ເຫຼົ່ານີ້ແລະຄວາມຫມາຍຂອງພວກເຂົາແຕກຕ່າງກັນຂຶ້ນກັບຄໍາສັ່ງຫຼືໂຄງການທີ່ທ່ານກໍາລັງແລ່ນ.

Full Stop As A Metacharacter (.)

ຢຸດຢ່າງເຕັມທີ່ຖືກນໍາໃຊ້ເພື່ອບໍລິຈາກຕໍາແຫນ່ງໃນປະຈຸບັນໃນເວລາທີ່ແລ່ນຄໍາສັ່ງເຊັ່ນ: cd , find ຫຼື sh ແຕ່ພາຍໃນຄໍາຮ້ອງສະຫມັກເຊັ່ນ: awk , grep ແລະ sed ມັນຖືກນໍາໃຊ້ເພື່ອຫມາຍເຖິງລັກສະນະໃດ.

ເປັນຕົວຢ່າງ, ຄໍາສັ່ງຕໍ່ໄປນີ້ຈະຊອກຫາໄຟລ໌ MP3 ທັງຫມົດໃນໂຟເດີປັດຈຸບັນແລະຂ້າງລຸ່ມນີ້.

ຊອກຫາ. - ຊື່ * .mp3

ຖ້າທ່ານດໍາເນີນການຄໍາສັ່ງຢູ່ໃນປັດຈຸບັນທ່ານກໍາລັງຈະໄດ້ຮັບຜົນໄດ້ຮັບຍ້ອນວ່າທ່ານເກັບໄຟລ໌ MP3 ຂອງທ່ານໃນໂຟນເດີເພງພາຍໃນໂຟນເດີຂອງທ່ານ.

ຕອນນີ້ເບິ່ງຄໍາສັ່ງນີ້:

ps -ef | grep fefox

ຄໍາສັ່ງ ps ບອກທຸກຂະບວນການແລ່ນໃນຄອມພິວເຕີຂອງທ່ານ. ຄໍາສັ່ງ grep ໃຊ້ສາຍຂອງ input ແລະການຊອກຫາຮູບແບບ.

ດັ່ງນັ້ນຄໍາສັ່ງ ps -ef ໄດ້ຮັບບັນຊີລາຍຊື່ຂອງຂະບວນການແລ່ນແລະໃຫ້ມັນເພື່ອ grep ທີ່ຊອກຫາເສັ້ນໃດໃນບັນຊີທີ່ມີ f.efox ບ່ອນທີ່. ສາມາດຫມາຍຄວາມວ່າມີລັກສະນະໃດ.

ຖ້າທ່ານມີໄຟລ໌ firefox ທ່ານຈະໄດ້ຮັບການແຂ່ງຂັນ. ເຊັ່ນດຽວກັນ, ຖ້າຫາກວ່າທ່ານມີໂຄງການທີ່ເອີ້ນວ່າ fonefox ຫຼື freefox, ເຂົາເຈົ້າກໍ່ຈະຖືກສົ່ງຄືນ.

ດາວເຄາະເປັນ metacharacter (*)

ດາວທຽມແມ່ນ metacharacter ທີ່ມີຊື່ສຽງຫຼາຍທົ່ວໂລກແລະຖືກນໍາໃຊ້ເພື່ອຫມາຍເຖິງ 0 ຫຼືຫຼາຍກວ່ານັ້ນໃນເວລາທີ່ຊອກຫາຮູບແບບ.

ຍົກ​ຕົວ​ຢ່າງ:

ຊອກຫາ. - ຊື່ * .mp3

* * .mp3 ຮຽກຄືນການແຂ່ງຂັນສໍາລັບຊື່ໄຟລ໌ທີ່ສິ້ນສຸດລົງໃນ .mp3. ເຊັ່ນດຽວກັນ, ຂ້າພະເຈົ້າອາດຈະໃຊ້ຕາຕະລາງທີ່ມີຄໍາສັ່ງ grep ດັ່ງລຸ່ມນີ້:

ps -ef | grep F * efox

ມັນເປັນມູນຄ່າທີ່ສັງເກດວ່ານີ້ແຕກຕ່າງເລັກນ້ອຍເພາະວ່າຫມາຍດາວຫມາຍເຖິງສູນຫຼືຫຼາຍກວ່ານັ້ນເຊັ່ນດຽວກັນກັບການຊອກຫາ firefox, facefox ແລະ fonefox ມັນຍັງສາມາດຊອກຫາ flutefox, ferretfox ແລະແມ້ກະທັ້ງພຽງແຕ່ fefox.

Carat ເປັນ Metacharacter (^)

carat (^) ຖືກນໍາໃຊ້ເພື່ອສະແດງເຖິງການເລີ່ມຕົ້ນຂອງເສັ້ນຫຼືສາຍ. ສະນັ້ນມັນຖືກນໍາໃຊ້ແນວໃດ?

ຄໍາສັ່ງ ls ​​ແມ່ນໃຊ້ເພື່ອບັນທຶກໄຟລ໌ທັງຫມົດໃນໂຟເດີດັ່ງຕໍ່ໄປນີ້:

ls

ຖ້າທ່ານຕ້ອງການຮູ້ໄຟລ໌ທັງຫມົດໃນໂຟເດີທີ່ເລີ່ມຕົ້ນດ້ວຍສາຍສະເພາະໃດຫນຶ່ງເຊັ່ນ "gnome" ແລ້ວ carat ສາມາດຖືກນໍາໃຊ້ເພື່ອລະບຸວ່າຊ່ອຍແນ່.

ຍົກ​ຕົວ​ຢ່າງ:

ls | grep gnome

ໃຫ້ສັງເກດວ່ານີ້ພຽງແຕ່ລາຍຊື່ໄຟລ໌ທີ່ເລີ່ມຕົ້ນດ້ວຍ gnome. ຖ້າທ່ານຕ້ອງການໄຟລ໌ທີ່ມີ gnome ຢູ່ໃນຊື່ໄຟລ໌ທຸກໆບ່ອນ, ຫຼັງຈາກນັ້ນທ່ານຈະກັບຄືນໄປບ່ອນດາວທຽມອີກເທື່ອຫນຶ່ງ.

ໃນຕົວຢ່າງຂ້າງເທິງ, ls ສົ່ງຄືນລາຍຊື່ຂອງຊື່ໄຟລ໌ແລະສົ່ງລາຍການທີ່ຈະ grep ເຊິ່ງຖືກນໍາໃຊ້ສໍາລັບການເຊື່ອມໂຍງແບບຟອມ. grep ຮູ້ວ່າສັນຍາລັກ carat ຫມາຍຄວາມວ່າຊອກຫາສິ່ງທີ່ເລີ່ມຕົ້ນດ້ວຍລັກສະນະທີ່ມາຫຼັງຈາກມັນແລະໃນກໍລະນີນີ້, ມັນແມ່ນ gnome.

ຕົວຊີ້ວັດ Dollar ເປັນ Metacharacter ($)

ສັນຍາລັກເງິນໂດລາສາມາດມີຄວາມຫມາຍຫຼາຍເປັນ metacharacter ພາຍໃນ Linux.

ໃນເວລາທີ່ນໍາໃຊ້ເພື່ອຫາຮູບແບບທີ່ມັນຫມາຍຄວາມວ່າກົງກັນຂ້າມກັບ carat ແລະສະແດງຮູບແບບທີ່ສິ້ນສຸດລົງດ້ວຍສາຍອັກສອນໂດຍສະເພາະ.

ຍົກ​ຕົວ​ຢ່າງ:

ls | grep png $

ນີ້ລາຍຊື່ແຟ້ມທັງຫມົດທີ່ສິ້ນສຸດດ້ວຍ png.

ສັນຍາລັກເງິນໂດລາແມ່ນຍັງໃຊ້ໃນການເຂົ້າເຖິງຕົວແປສະພາບແວດລ້ອມພາຍໃນແກະ bash.

ຍົກ​ຕົວ​ຢ່າງ:

export dog = molly
echo $ dog

ຫມາສົ່ງອອກເສັ້ນ = molly ສ້າງຕົວປ່ຽນແປງສະພາບແວດລ້ອມທີ່ເອີ້ນວ່າຫມາແລະກໍານົດມູນຄ່າຂອງມັນທີ່ຈະ molly. ເພື່ອເຂົ້າເຖິງການປ່ຽນແປງສະພາບແວດລ້ອມສັນຍາລັກ $ ແມ່ນໃຊ້. ມີສັນຍາລັກ $ echo $ ຄໍາສັ່ງ dog ສະແດງ molly ແຕ່ວ່າໂດຍບໍ່ມີມັນ, ຄໍາສັ່ງຫມາ echo ພຽງແຕ່ສະແດງຫມາຄໍາ.

Escaping Metacharacters

ບາງຄັ້ງທ່ານບໍ່ຕ້ອງການ metacharacter ທີ່ມີຄວາມຫມາຍພິເສດ. ຈະເປັນແນວໃດຖ້າວ່າທ່ານມີໄຟລ໌ທີ່ເອີ້ນວ່າ f.refox ແລະໄຟລ໌ທີ່ເອີ້ນວ່າ firefox.

ຕອນນີ້ເບິ່ງຄໍາສັ່ງຕໍ່ໄປນີ້:

ls | grep frefox

ທ່ານຄິດວ່າແມ່ນຫຍັງກັບຄືນມາ? ທັງ f.refox ແລະ firefox ຖືກສົ່ງກັບຄືນຍ້ອນວ່າພວກເຂົາທັງສອງມີຮູບແບບ.

ເພື່ອພຽງແຕ່ກັບຄືນ f.fox ທ່ານຈໍາເປັນຕ້ອງຫນີຈາກການຢຸດຢ່າງເຕັມທີ່ເພື່ອຕົວຈິງແລ້ວເປັນຢຸດຢ່າງເຕັມທີ່ດັ່ງຕໍ່ໄປນີ້:

ls | grep f \\ refox

Metacharacters ທົ່ວໄປແລະຄວາມຫມາຍຂອງເຂົາເຈົ້າ

ລາຍຊື່ຂອງ Linux Metacharacters
ຕົວອັກສອນ ຫມາຍຄວາມວ່າ
ທີ່ຢູ່ ລັກສະນະໃດກໍ່ຕາມ
* ຕົວອັກສອນສູນຫຼືຫຼາຍກວ່ານັ້ນ
" ກົງກັບສາຍຫລືສາຍທີ່ເລີ່ມຕົ້ນດ້ວຍຮູບແບບ (ເຊັ່ນ gnome)
$ ກົງກັບສາຍຫລືສາຍທີ່ສິ້ນສຸດດ້ວຍຮູບແບບ (ເຊັ່ນ gnome $)
\ ຫນີຕົວອັກສອນຖັດໄປເພື່ອລົບຄວາມຫມາຍພິເສດຂອງມັນ
[] ກົງກັບລາຍະການຫນຶ່ງຫລືບັນທັດ (ເຊົ່ນ ["abc", "def"] ຫະລື [1 9]
+ ຄໍາວ່າຫນຶ່ງຫຼືຫຼາຍກວ່າກ່ອນ (ie grep a +)
? ຄໍາວ່າເລກສູນຫຼືຫນຶ່ງຂ້າງຫນ້າ