Skond Wikipedia, metacharacter huwa kwalunkwe karattru li għandu tifsira speċjali, bħal karat (^), sinjal ta 'dollari ($) jew asterisk (*).
F'termini ta 'Linux, hemm numru ġust ta' dawn il-metakaratteristiċi u t-tifsiriet tagħhom ivarjaw skont liema kmand jew programm qed taħdem.
Il-waqfien sħiħ bħala karattru Metacharacter (...)
Il-waqfien sħiħ umli huwa użat biex jiddonaw il-pożizzjoni attwali meta joperaw kmandi bħal cd , find jew sh imma f'applikazzjonijiet bħal awk , grep u sed huma użati biex jindikaw kull karattru.
Bħala eżempju, il-kmand li ġej se jsib il-fajls kollha tal-mp3 fil-folder attwali u hawn taħt.
issib. -name * .mp3
Jekk tmexxi dak il-kmand fir-reāistru ta 'ħidma preŜenti (pwd) allura probabilment ikollok ir-riŜultati lura, jekk wieħed jassumi li inti ŜŜomm il-fajls mp3 tiegħek f'folder tal-muŜika fil-folder tad-dar tiegħek.
Issa tħares lejn dan il-kmand:
ps -ef | grep f..efox
Il-kmand ps jelenka l-proċessi kollha ta 'tħaddim fuq il-kompjuter tiegħek. Il-kmand grep jieħu linji ta 'input u tiftix għal mudell.
Għalhekk il-kmand ps-get jikseb lista ta 'proċessi ta' tħaddim u jagħtiha lil grep li tfittxija għal kwalunkwe linja fil-lista li f. jista 'jfisser kull karattru.
Jekk għandek firefox running ikollok taqbila. Bl-istess mod, jekk għandek programm imsejjaħ fonefox jew freefox running, dawn jiġu wkoll ritornati.
L-asterisk bħala karatteristika metakrit (*)
L-asterisk huwa metacharacter magħruf b'mod aktar universali u jintuża biex ifisser 0 jew aktar meta jkun qed ifittex mudell.
Pereżempju:
issib. -name * .mp3
Il- * .mp3 jirritorna taqbila għal kwalunkwe isem tal-file li jintemm fil-.mp3. Bl-istess mod, kelli nuża l-asterisk mal-kmand grep kif turi dan li ġej:
ps -ef | grep F * efox
Ta 'min wieħed jinnota li dan huwa differenti xi ftit minħabba li l-asterisk tfisser żero jew aktar hekk kif ukoll isibu firefox, facefox u fonefox tista' ssib ukoll flutefox, ferretfox u anke sempliċiment fefox.
Il-Carat Bħala Metacharacter (^)
Il-karat (^) tintuża biex tindika l-bidu ta 'linja jew sekwenza. Allura kif qed tintuża?
Il-kmand ls jintuża biex jelenka l-fajls kollha f'fajl kif ġej:
ls
Jekk trid tkun taf il-fajls kollha f'folder li tibda b'ċerta sekwenza bħal "gnome" allura l-karat tista 'tintuża biex tispeċifika dik is-sekwenza.
Pereżempju:
ls | grep ^ gnome
Innota li dan biss jelenka fajls li jibdew b'gnome. Jekk trid fajls li għandhom gnome fil-file in anywhere imbagħad terġa 'terġa' lura għall-asterisk.
Fl-eżempju ta 'hawn fuq, l-ls jirritorna lista tal-ismijiet tal-fajl u jgħaddi dik il-lista lil grep li tintuża għat-tqabbil tal-mudell. grep jaf li s-simbolu tal-karat ifisser isib xi ħaġa li tibda bil-karattri li ġejjin warajha u f'dan il-każ, huwa gnome.
Is-Simbolu tad-Dollaru Bħala Metacharacter ($)
Is-simbolu tad-dollaru jista 'jkollu tifsiriet multipli bħala metakaratteristika ġewwa Linux.
Meta tintuża biex tqabbel il-mudelli, dan ifisser l-oppost għall-karat u tindika kwalunkwe mudell li jispiċċa bi spaga partikolari.
Pereżempju:
ls | grep png $
Dan jelenka l-fajls kollha li jispiċċaw b'png.
Is-simbolu tad-dollaru jintuża wkoll biex jaċċessa varjabbli ta 'l-ambjent fil-qoxra tal-bash.
Pereżempju:
kelb ta 'esportazzjoni = molly
eko $ kelb
Il-kelb tal-esportazzjoni tal-linja = molly joħloq varjabbli ambjentali msejjaħ kelb u jistabbilixxi l-valur tiegħu għal molly. Biex ikollok aċċess għall-varjabbli ta 'l-ambjent is-simbolu $ huwa użat. Bis-simbolu $, id-dikjarazzjoni ta 'echo $ kelb turi molly iżda mingħajrha, id-dikjarazzjoni tal-klieb tat-tisjir biss turi l-kelb kelma.
Metacharacters li jaħarbu
Xi drabi ma tridux li l-metacharacter ikollu tifsira speċjali. X'jiġri jekk għandek fajl imsejjaħ f.refox u fajl imsejjaħ firefox.
Issa tħares lejn il-kmand li ġej:
ls | grep f.refox
X'taħseb li rritornat? Kemm f.refox u firefox jintbagħtu lura minħabba li t-tnejn jaqblu mal-mudell.
Biex tirritorna lura biss, ikollok bżonn taħrab mill-waqfien sħiħ biex effettivament ifisser waqfien sħiħ kif ġej:
ls | grep f \\. refox
Metacharacters Komuni U Sinjifikati tagħhom
Karattru | Tifsira |
. | Kwalunkwe karattru |
* | Karattri zero jew aktar |
^ | Irranġa kwalunkwe linja jew sekwenza li tibda b'disinn (ie ^ gnome) |
$ | Irranġa kwalunkwe linja jew sekwenza li tispiċċa b'disinn (ie gnome $) |
\ | Jiskapula l-karattru li jmiss biex ineħħi t-tifsira speċjali tiegħu |
[] | Agħmel waħda minn lista jew firxa (jiġifieri ["abc", "def"] jew [1..9] |
+ | Irranġa waħda jew aktar preċedent (jiġifieri grep a +) |
? | Irbit żero jew preċedenti |