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