X'inhuma Linux Metacharacters U Kif Tużahom

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

Lista ta 'Metacharacters Linux
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