Yini i-Linux Metacharacters Futhi Uyisebenzisa Kanjani

Ngokusho kwe-Wikipedia, i-metacharacter yimuphi umlingisi onencazelo ekhethekile, njenge-carat (^), isibonakaliso se-dollar ($) noma i-asterisk (*).

Ngokuphathelene ne-Linux, kunenani elilinganayo lala ma-metacharacters futhi izincazelo zawo ziyahlukahluka kuye ngokuthi yikuphi umyalo noma uhlelo osebenzayo.

I-Stop Stop njenge-Metacharacter (.)

Isitoreji esigcwele sokuthobeka sisetshenziselwa ukunikela ngesimo samanje uma uqhuba imiyalo efana ne- cd , thola noma sh kodwa ngaphakathi kwezicelo ezifana ne- awk , grep bese uyisetshenzisiwe isetshenziselwa ukukhomba noma yikuphi uhlamvu.

Isibonelo, umyalo olandelayo uzothola wonke amafayela we-mp3 kufolda yamanje futhi ngezansi.

thola. -name * .mp3

Uma uqhuba lo myalo kuwe uveza isiqondisi somsebenzi (pwd) khona-ke uzothola imiphumela ebuyelwe, ucabanga ukuthi ugcine amafayela akho e-mp3 kufolda yomculo ngaphakathi kwifolda yakho yasekhaya.

Manje buka lo myalo:

ps -ef | u-grep f..efox

I-ps umyalo uhlunga zonke izinqubo ezisebenzayo kukhompyutha yakho. Umyalo we-grep uthatha imigqa yokufaka nokusesha iphethini.

Ngakho-ke umyalo we-ps -ef uthola uhlu lwezinqubo ezigijima futhi unikeza i-grep efuna noma yikuphi uhlu ohlwini lwe-f_efox lapho. kungasho noma yikuphi uhlamvu.

Uma une firefox egijima uzothola umdlalo. Ngokufanayo, uma unesimo esibizwa ngokuthi i-fonefox noma i-freefox egijima bayobuyiselwa.

I-asterisk njenge-metacharacter (*)

I-asterisk iyi-metacharacter eyaziwa kakhulu emhlabeni wonke futhi isetshenziselwa ukusho 0 noma ngaphezulu lapho ifuna iphethini.

Ngokwesibonelo:

thola. -name * .mp3

I * .mp3 ubuyisela umdlalo kunoma yiliphi igama lefayela eliphela ku-.mp3. Ngokufanayo, ngabe ngilisebenzise i-asterisk ngomyalo we-grep njengoba okulandelayo kubonisa:

ps -ef | i-grep F * efox

Kumele uqaphele ukuthi lokhu kuhluke kancane ngoba i-asterisk isho ukuthi zero noma ngaphezulu nokuthola umlilo, ubuso be-fonefox futhi ungathola i-flutefox, i-ferretfox ngisho ne-fefox nje.

I-Carat Njenge-Metacharacter (^)

I-carat (^) isetshenziselwa ukukhombisa ukuqala komugqa noma uchungechunge. Pho isetshenziswa kanjani?

Umyalo we-ls usetshenziselwa ukuhlunga wonke amafayela kufolda ngendlela elandelayo:

ls

Uma ufuna ukwazi wonke amafayela kwifolda eqala ngentambo ethile efana ne "gnome" khona-ke i-carat ingasetshenziswa ukucacisa leyo string.

Ngokwesibonelo:

ls | i-grep ^ gnome

Qaphela ukuthi lokhu kubonisa kuphela amafayela aqala nge-gnome. Uma ufuna amafayili anegama lomsebenzisi igama noma yiliphi igama bese ubuyela emuva e-asterisk.

Kulesi sibonelo esingenhla, i-ls ibuyisela uhlu lwamagama okufakiwe namaphasi adlulela ku-grep esetshenziselwa ukufanisa iphethini. U-grep uyazi ukuthi uphawu lwe-carat lisho ukuthola noma yini eqala ngabalingiswa abaza emva kwayo futhi kulokhu, kuyinhlawulo.

I-Dollar Symbol Njenge-Metacharacter ($)

Idokhumenti ye-dollar ingaba nezincazelo eziningi njenge-metacharacter ngaphakathi kwe-Linux.

Uma isetshenziselwa ukufanisa amaphethini kuchaza okuphambene ne-carat futhi ichaza noma iyiphi iphethini ephela ngentambo ethile.

Ngokwesibonelo:

ls | i-grep png $

Lokhu kubhala wonke amafayela aqeda nge-png.

Uphawu lwama dollar lisetshenziselwa ukufinyelela eziguquguqukayo zemvelo ngaphakathi kwegobolish bash.

Ngokwesibonelo:

inja yokuthekelisa = i-molly
bhala inja yenja

Inja yokuthekelisa inamba = i-molly idala ukuhlukahluka kwemvelo okuthiwa inja futhi ibeka inani layo ku-molly. Ukufinyelela okuguquguqukayo kwemvelo i-symbol ye-$ isetshenziswa. With the $ symbol the echo $ inja isitatimende ubonisa molly kodwa ngaphandle kwalo, isitatimende inja echo nje ubonisa inja izwi.

Ukubalekela ama-Metacharacters

Ngezinye izikhathi awufuni ukuthi i-metacharacter ibe nencazelo ekhethekile. Kuthiwani uma unefayela elibizwa ngokuthi f.refox nefayela elibizwa ngokuthi i-firefox.

Manje bheka umyalo olandelayo:

ls | grep f.refox

Ucabanga ukuthi ubuyiselwa kuphi? Kokubili f.refox ne-firefox babuyiselwa ngoba bobabili bafanisa iphethini.

Ukubuyela kuphela f.refox kuzodingeka ubalekele ukuma okugcwele ukuze usho ukuthi ukuma okugcwele kanje:

ls | grep f \\. refox

Ama-Metacharacter ajwayelekile kanye nokusho kwabo

Uhlu Lwase-Linux Metacharacters
Isici Okushoyo
. Noma yimuphi uhlamvu
* Zero noma izinhlamvu eziningi
^ Qhathanisa noma yikuphi umugqa noma ucingo oluqala ngephethini (ie ^ gnome)
$ Qondanisa noma yikuphi umugqa noma ucingo oluphela ngephethini (okungukuthi i-gnome $)
\ Iqa umlingiswa olandelayo ukususa incazelo yayo ekhethekile
[] Hlanganisa olunye uhlu noma ububanzi (okungukuthi ["abc", "def"] noma [1..9]
+ Qhathanisa eyodwa noma ngaphezulu eyandulele (ie grep a +)
? Ukulinganisa i-zero noma eyodwa esandulele