Çi tiştên nû hene Linux Metacharacters û Çawa Tew Bi Bikaranîna Bikaranîna Xwe

Li gorî Wikipedia-ê, a metachterek kesek kesek e ku wateya taybetî ye, wekî carat (^), $ sign ($) an jî asterisk (*).

Di çarçoveya Linux de, hejmareke rastîn e ji van metachrafan û wateya wan wateya ku hûn li ser kîjan ferman an bernameya ku hûn diçin.

Benda Bêguman As A Metacharacter (.)

Pêdivî ye ku bisekek tije tije tê bikaranîn ku ji bo ku hûn biryara cd- an, cihekî an lêgerîn, an lê li hundurên ku di nav deynên wek, grep û sed , de tê bikaranîn, bikar bînin her kesek xerîb bike.

Wek mînakek, dê emrê jêrîn li pelên jêrîn û jêrîn li hemû pelên pelan bibînin.

bibînin. -name * .mp3

Heke ku hûn emrê wî bistînin hûn di pirtûka xebatê de (pwd) pêşkêş dikin, hûn ê paşê vegerin encamên ku hûn pelên xwe yên mp3 di nav peldanka malê de bimînin.

Niha li vê emirê binêrin:

ps -ef | grep f..efox

Birêveberê ps a lîstikên tevgerên li ser komputerê lîsteyan dike. Fermana grep ji bo pîvanên input û lêgerîn digerin.

Ji ber vê yekê ji bo biryara ps-def lîsteyek pêvajoyên veguherînê dike û ew bi grepê dide ku kîjan ji bo lîsteya ku di nav lîsteyê de lê digerin ku ew e ku xeletî ye. wateya kesek xilas dibe.

Heke hûn bi firotina we re firefox be, dê mûçek bibin. Her weha, heger hûn bernameyek fonexanê an jî rêvegirtina azad a fonksiyonê ye, ewê jî jî bêne vegerandin.

Asterisk wekî metacharacter (*)

Asterisk ewrûpa herî navdar di navdar de tête naskirî ye û ji hêla lêgerînê ve 0 an zêdetir zêdetir tê bikaranîn.

Bo nimûne:

bibînin. -name * .mp3

* .mp3 ji bo pelê ji bo pelê vekişîne vedike .mp3. Bi vî awayî, min dikarim ku emrê nîşan dide jêrîn bi ezmanê grep bikar anîn:

ps -ef | grep F * efox

Ew nirxandin ku ev hinekî ji ber ku asterisk bi awayekî sîvik an jî bêhtir wusa tête cûda ye, wekî firefox, rûxê û fonefoxê jî lê digerînin wê dikare flutfox, ferretfox û bi tenê jî fefoxê jî bibînin.

As Carat As A Metacharacter (^)

Karat (^) tê bikaranîn ku destpêka rêza rêzik an stratek tê bikaranîn. Ji ber vê yekê çawa bikar anîn?

Fermandarê LS tê bikaranîn ku hemû pelên di pelê de li ser vê lîsteyê binivîse:

ls

Heke hûn dixwazin ku di pelê de hemî pelan bizanibin, ku bi hinek taybetmendiyek bi dest bi "gnome" dest pê dike, paşê cûrat dikare bikar bînin ku string.

Bo nimûne:

ls | grep ^ gnome

Têbînî ku ev tenê pelên lîsteyan dikin ku bi gomez dest pê bikin. Heke hûn pelên ku di nav filenamekê de cihekî dixwazin, hûn ê dîsa dîsa vegerin asterisk.

Di nimûneya jorîn de, ls lîsteyek pelên veguhestin û derbas dike ku lîsteya grepê ya ku ji bo ji bo mimûneyên mimûne tê bikaranîn. grep dizanin ku sembola korat wateya ku tiştek ku bi paşê tê û bi vê rewşê re, bi cihek e.

As Symbol A Dollar (A $)

Dolar sembol dikare wateyên ku di navîn de di nav Linux de metachterek pir heye.

Dema ku tê bikaranîn pîvanan e, wê wateyê ku li hemberî koratiyê û her tiştî diyar dike ku bi stratejiyek taybetî re vegotin.

Bo nimûne:

ls | grep png $

Ev pelên hemî pelên ku bi png re derbas dibin lîsteyan dikin.

Di heman demê de têkoşîna dolar nîşan e ku pevçûnên hawirdora hundir di nav şekek balkêş de.

Bo nimûne:

kûçikê hilberîn
$ dog echo

Peyva bazara xerîb = molyek pevçûnek hawirdorê biafirîne û navê kûçikê re dike. Ji bo gihîştina hawirdora hawirdora $ sembol bikar anîn. Bi $ symbolê ku dagirker $ dog eşkere dike bila mûlek nîşan dide lê bêyî wê, bêyî daxuyaniyek kûçik tenê peyva kûçikê nîşan dide.

Metacharacters

Gelek caran hûn nexwest ku metachterek xwedî wateya taybetî ye. Heke ku pelê we heye ku f.refox û pelê navê firefoxê ye.

Niha emrê jêrîn binêrin:

ls | grep f.refox

Ma hûn çi difikirin? Hemê f.refox û firefox têne vegerandin, çimkî ew herdu nimûne bi hev re hev.

Ji bo ku hûn tenê f.refox vegerin, hûn ê hewce nebe ku hûn bisekinîna tevahî berbelav bikin ku bi rastî bi awayekî tedbîrek tije ye:

ls | grep f \ ref

Hevpeyivîna Metacherheng û Wateyên wan

List of Linux Metacharacters
Şexsîyet Mane
. Her kesek
* Zero an jî lîstikên din
^ Bi rêzikek rêzik an stringê ku bi rengek bi destpêkê re dest pê bikin (ango "gnome ^)
$ Bi rêzikek bi rengek an tarîxê vekin hev bikin (wekî nimûneya $ $)
\ Peyvên paşerojê bifikirin ku wateya taybet a xwe jêbirin
[] Yek ji yek lîstek an rabe (Ji "[abc", "def"] an jî [1..9]
+ Yek an yek anî (ie grep + +)
? Rûvek an yek anî