Unsa ang Linux Metacharacters Ug Unsaon Nimo Paggamit Niini

Sumala sa Wikipedya, ang usa ka metacharacter usa ka kinaiya nga adunay espesyal nga kahulugan, sama sa karat (^), dolyar nga simbolo ($) o usa ka asterisk (*).

Sa termino sa Linux, adunay usa ka patas nga gidaghanon niining mga metacharacters ug ang ilang mga kahulugan magkalahi depende kung unsa nga command o program nga imong gipadagan.

Ang Full Stop Bilang Usa ka Metacharacter (.)

Ang mapainubsanon nga bug-os nga paghunong gigamit aron sa pagdonar sa kasamtangan nga posisyon kon adunay mga mando sama sa cd , find o sh apan sulod sa mga aplikasyon sama sa awk , grep ug sed kini gigamit sa pagtumong sa bisan unsang kinaiya.

Ingon nga pananglitan, ang mosunod nga sugo makakaplag sa tanan nga mga file sa mp3 sa kasamtangan nga folder ug sa ubos.

pangita. -name * .mp3

Kung ikaw nagadagan niana nga sugo diha kanimo nga nagtrabaho sa direktoryo (pwd) nan mahimo nimo nga makuha ang resulta nga nahibalik, sa paghuna-huna nga imong ibutang ang imong mp3 files sa usa ka music folder sulod sa imong home folder.

Karon tan-awa kini nga sugo:

ps -ef | grep f..efox

Ang ps command naglista sa tanang mga proseso sa pagpadagan sa imong computer. Ang grep nga komand sa pagkuha sa linya sa input ug pagpangita alang sa usa ka sumbanan.

Busa ang ps -ef nga sugo nakuha usa ka lista sa mga proseso sa pagpadagan ug naghatag niini sa grep nga nagapangita alang sa bisan unsang linya sa lista nga adunay f..efox diin ang. mahimong magpasabot sa bisan unsang kinaiya.

Kon ikaw adunay firefox nga nagdagan makaangkon kag usa ka duwa. Sa samang paagi, kon ikaw adunay program nga gitawag ug fonefox o freefox running sila usab ibalik.

Ang asterisk usa ka metacharacter (*)

Ang asterisk usa ka labaw nga nahibal-an sa tanan nga metacaracter ug gigamit nga nagpasabot nga 0 o labaw pa sa pagpangita alang sa sumbanan.

Pananglitan:

pangita. -name * .mp3

Ang * .mp3 mobalik sa usa ka tugma alang sa bisan unsang filename nga natapos sa .mp3. Sa samang paagi, mahimo unta akong gigamit ang asterisk sa grep nga komand sa mosunod nga nagpakita:

ps -ef | grep F * efox

Kini angay nga matikdan nga kini lahi ra tungod kay ang asterisk nagkahulugan nga zero o labaw pa ingon man usab ang pagpangita sa firefox, facefox ug fonefox nga kini usab makakaplag sa flutefox, ferretfox ug gani fefox lang.

Ang Carat Ingon Usa ka Metacharacter (^)

Ang carat (^) gigamit sa pagpaila sa sinugdanan sa usa ka linya o usa ka lambo. Busa giunsa kini gigamit?

Ang ls command gigamit sa paglista sa tanang mga file sa usa ka folder ingon sa mosunod:

ls

Kung gusto nimo mahibal-an ang tanan nga mga file sa usa ka folder nga nagsugod sa usa ka hugpong sama sa "gnome" nan ang carat mahimong gamiton aron mahibal-an nga hilo.

Pananglitan:

ls | grep ^ gnome

Timan-i nga kini nagtala lamang sa mga file nga nagsugod sa gnome. Kung gusto nimo ang mga file nga adunay gnome sa filename bisan asa dayon ikaw mobalik pagbalik sa asterisk.

Sa pananglitan sa ibabaw, ang ls nagbalik sa usa ka lista sa mga filename ug pass nga gilista ngadto sa grep nga gigamit alang sa pagparis sa sumbanan. Ang grep nahibal-an nga ang simbolo nga carat nagpasabot sa pagpangita sa bisan unsa nga nagsugod sa mga karakter nga moabut human niini ug sa niini nga kahimtang, kini usa ka gnome.

Ang Simbolo Simbolo Ingon Usa ka Metacharacter ($)

Ang dolyar nga simbolo adunay daghang mga kahulugan isip usa ka metacharacter sulod sa Linux.

Kon gigamit aron sa pagtugma sa mga sumbanan kini nagpasabut nga sukwahi sa carat ug nagtumong sa bisan unsang sumbanan nga natapos sa usa ka partikular nga hilo.

Pananglitan:

ls | grep png $

Naglista kini sa tanang mga file nga nagtapos sa png.

Ang dolyar nga simbolo gigamit usab sa pag-access sa mga variable sa palibot sulod sa bash shell.

Pananglitan:

export dog = molly
echo $ dog

Ang linya nga pagbaligya nga iro = molly nagmugna sa usa ka variable nga gitawag og iro ug nagtakda sa bili niini ngadto sa molly. Aron ma-access ang environment nga dili magkulang ang $ simbolo gigamit. Uban sa $ simbolo ang echo $ dog nga pahayag nagpakita sa molly apan kung wala kini, ang echo nga pahayag sa iro nagpakita lang sa pulong nga iro.

Ang Escaping Metacharacters

Usahay dili nimo gusto nga ang metacharacter adunay espesyal nga kahulugan. Unsa kaha kon adunay usa ka file nga gitawag og f.refox ug usa ka file nga gitawag og firefox.

Karon tan-awa ang mosunod nga sugo:

ls | grep f.refox

Unsa sa imong hunahuna ang ibalik? Ang duha nga f.refox ug firefox ibalik tungod kay pareho silang duha sa sumbanan.

Sa pagbalik lamang sa f.refox kinahanglan mo nga makalingkawas sa hingpit nga paghunong aron sa tinuud magpasabot sa usa ka hingpit nga paghunong sama sa mosunod:

ls | grep f \\. refox

Mga Common Metacharacters Ug Ang Ilang Kahulogan

Listahan sa Linux Metacharacters
Kinaiya Kahulugan
. Bisan unsa nga kinaiya
* Zero o mas daghan nga mga karakter
^ Itugma ang bisan unsang linya o lambo nga nagsugod sa usa ka sumbanan (ie ^ gnome)
$ Tugmaa ang bisan unsang linya o hilo nga nagtapos sa sumbanan (ie gnome $)
\ Ang mga eskuwelahan ang sunod nga kinaiya aron makuha ang espesyal nga kahulogan niini
[] Itugma ang usa sa usa ka listahan o gidak-on (ie ["abc", "def"] o [1..9]
+ Itugma ang usa o labaw pa nga nag-una (ie grep a +)
? Himoa ang zero o usa nga nag-una