Yintoni i-Linux Metacharacters kwaye uyayisebenzisa njani

Ngokutsho kwe-Wikipedia, i-metacharacter nayiphi na impawu enentsingiselo ekhethekileyo, njenge-carat (^), uphawu lweedola (i-dollar) okanye i-asterisk (*).

Ngokubhekiselele kwiLuxux, kukho inani elincinane lala ma-metacharacters kunye neentsingiselo zabo ziyahlukahluka kuxhomekeke kumyalelo owodwa okanye inkqubo osebenza ngayo.

I-Stop Stop njenge-Metacharacter (.)

Ukumisa okuzithobayo kusetyenziselwa ukunikela isikhundla samanje xa uqhuba imiyalelo efana ne- cd , fumana okanye sh kodwa ngaphakathi kwezicelo ezifana ne- awk , grep kwaye usebenzise it is used to denote any character.

Njengomzekelo, umyalelo olandelayo uzakufumana zonke iifayile zefayile kwifolda yangoku kunye nezantsi.

fumana. -name * .mp3

Ukuba uqhuba loo myalelo kuwe ubonisa isixhobo sokusebenza (pwd) kwaye ngokuqinisekileyo uza kufumana iziphumo, ucinga ukuba ugcina iifayile zakho kwiifolda zomculo ngaphakathi kwifolda yakho yasekhaya.

Ngoku jonga lo myalelo:

ps -ef | grep f..efox

I-ps iyalula uluhlu lweenkqubo ezisebenzayo kwikhompyutha yakho. Umyalelo we-grep uthatha imigca yokufaka kunye nokukhangela iphethini.

Ngako-ke umyalelo we-ps -ef ufumana uluhlu lweenkqubo zokusebenza kwaye unikezela kwi-grep efuna naluphi na umgca kuloluhlu olune-ffox apho. kunokuthetha nayiphi na impawu.

Ukuba unomlilo osebenzayo uzakufumana umdlalo. Ngokufanayo, ukuba unenkqubo ebizwa ngokuba yi-fonefox okanye i-freefox esebenzayo iya kubuyiselwa kwakhona.

I-asterisk njenge-metacharacter (*)

I-asterisk iyimetacharacter eyaziwa ngokubanzi emhlabeni jikelele kwaye isetyenziselwa ukuthatha 0 okanye ngaphezulu xa ifuna iphethini.

Umzekelo:

fumana. -name * .mp3

I * .mp3 ubuyisela umdlalo naluphi na igama lefayile eliphela kwi-.mp3. Ngokufanayo, ndingawusebenzisa i-asterisk ngomyalelo we-grep njengoko oku kulandelayo kubonisa:

ps -ef | grep F * efox

Kubalulekile ukuba uqaphele ukuba le nto ihluke kancinane kuba i-asterisk ithetha i-zero okanye ngaphezulu kunye nokufumana umlilo, ubuso be-facefox kunye ne-fonefox kunokufumana i-flutefox, i-ferretfox kunye ne-fefox nje.

I-Carat Njenge-Metacharacter (^)

I-carat (^) isetyenziswe ukubonisa ukuqala komgca okanye umtya. Ngoko isetyenziswe njani?

Umyalelo we-ls usetyenziswa ukuluhlu zonke iifayile kwifolda ngale ndlela:

ls

Ukuba ufuna ukwazi zonke iifayile kwifolda eqala ngentambo ethile "njenge-gnome" kwaye i-carat ingasetyenziselwa ukucacisa loo mtya.

Umzekelo:

ls | griome ^ gnome

Qaphela ukuba oku kuphela kuluhlu lweefayili eziqala ngegama. Ukuba ufuna iifayile ezinomnxeba kwigama legama apho uya kuphinda ubuyele kwakhona kwi-asterisk.

Kulo mzekelo ungentla, i-ls ibuyisela uludwe lwamagama eefayile kunye nokudlulayo okuluhlu kwi-grap esetyenziselwa ukufanisa iphethini. I-grep iyazi ukuba isimboli se-carat sithetha nantoni na eqala ngabalinganiswa abayilandelayo kwaye kule meko, yinto enhle.

I-Dollar Symbol Njenge-Metacharacter (i-$)

Isimboli seli dola sinokuthetha ezininzi njengemetacharacter ngaphakathi kwe-Linux.

Xa isetyenziselwa ukufanisa iipateni ithetha okuchasene ne-carat kwaye ichaza nayiphi na iphethini ephela ngomtya othile.

Umzekelo:

ls | grep png $

Olu dwelisa zonke iifayile eziphela nge-png.

Isimboli se dola sisetyenziselwa ukufikelela kwimimandla engqinelanayo ngaphakathi kwegobolish bash.

Umzekelo:

inja ye-export = molly
bhekisa inja ye $

Inja yokuthumela impahla = i-molly yenza inguquko yendawo ebizwa ngokuthi inja kwaye ibeka ixabiso layo kwi-molly. Ukufikelela kwiimeko ezichaseneyo zendawo ifayile isetyenziswa. Ngama-dollar isimboli se-dog statement isitatimende sibonisa i-molly kodwa ngaphandle kwayo, isitatimende senja ye-echo sibonisa nje inja yegama.

Ukusuka kwiMetacharacters

Maxa wambi awufuni ukuba i-metacharacter ibe nenjongo ekhethekileyo. Kuthekani ukuba unayo ifayile ebizwa f.refox kunye nefayile ebizwa ngokuba ngumlilo.

Ngoku jonga umyalelo olandelayo:

ls | grep f.refox

Ucinga ukuba ubuyisela ntoni? Bobabini f.refox kunye ne-firefox babuyiselwa kuba bobabini bafanisa iphethini.

Ukubuyela kuphela f.refox uza kufuneka ubalekele ukuyeka ngokupheleleyo ukuze uthethe ukuyeka ngokupheleleyo njengoko kulandelayo:

ls | grep f \\. refox

IiMetacharacters eziqhelekileyo kunye nokuThetha kwabo

Uluhlu lweLinux Metacharacters
Umntu Nentsingiselo
. Nawuphi na umlingiswa
* Zero okanye abalinganiswa
^ Qhathanisa nayiphi na umgca okanye umtya oqala ngephethini (ie ^ gnome)
$ Qhathanisa nayiphi na umgca okanye umtya ophela ngephethini (oko kukuthi i-gnome $)
\ Ukhupha umlingisi olandelayo ukususa intsingiselo yakhe ekhethekileyo
[] Ukuchonga omnye uluhlu okanye uluhlu (okt ["abc", "def"] okanye [1..9]
+ Match one okanye ngaphezulu ezandulelayo (ie grep a +)
? Ukutshatshana kwenzeni okanye enye eyandulelayo