Zer dira Linux Metakarak eta nola erabiltzen dituzu?

Wikipediaren arabera, metakapituluak esanahi berezia du karaktere (^), dolarraren ikurra ($) edo izartxoa (*) duen edozein karaktere.

Linux-ei dagokienez, metaketako horietako kopuru zehatz bat dago eta haien esanahiak desberdinak dira exekutatzen ari zaren komando edo programaren arabera.

Fitxa mota bat bezala gelditzen da (.)

Guztiz gelditzen den umila erabiltzen da uneko posizioa emateko, hala nola, cd , find edo sh bezalako komandoak exekutatzen direnean, hala nola, awk , grep eta sed bezalako aplikazioetan, edozein karaktere adierazteko erabiltzen da.

Adibide gisa, hurrengo komandoa uneko karpetan eta behean aurkituko dituzu.

aurkitu. -name * .mp3

Laneko direktorioa (pwd) lanean ari zaren komandoa exekutatzen baduzu, ondoren lortuko dituzu emaitzak, zure mp3 fitxategiak zure karpeta barruan dauden musika karpetan gordetzea suposatuz.

Orain begiratu komando hau:

ps -ef | grep f..efox

PS komandoak ordenagailuan exekutatzen ari diren prozesu guztiak zerrendatzen ditu. Grep komandoak sarrera lerroak eta eredu bat biltzen ditu.

Hori dela eta, ps -ef komandoak exekutatzen ari diren prozesuen zerrenda bat ematen du eta grep-ek aukera ematen du. edozein karaktere esan daiteke.

Firefox exekutatzen baduzu, partida bat lortuko duzu. Era berean, fonefox edo freefox izeneko programa baduzu, berriro ere itzuliko dira.

Asteriskoa metakaractero gisa (*)

Izartxoa metakaracterizazio unibertsalago ezagunagoa da eta eredu bat bilatzen duen 0 edo gehiago esan nahi du.

Adibidez:

aurkitu. -name * .mp3

* .mp3 .mp3-en amaitzen den fitxategi guztietarako partida bat itzultzen du. Era berean, izartxoa grep komandoa erabili ahal izan dut hurrengo ikuskizunekin:

ps -ef | grep F * efox

Merezi du zertxobait desberdina dela izartxoa zertxobait edo gehiago izanda, firefox, facefox eta fonefox aurkitzeak flutefox, ferretfox eta baita fefox ere aurki ditzake.

Carat Metacharacter gisa (^)

Karatea (^) lerro edo kate baten hasiera adierazteko erabiltzen da. Beraz, nola erabiltzen da?

Ls komandoa karpeta batean dauden fitxategi guztiak zerrendatzeko erabiltzen da honela:

ls

"Gnome" bezalako kate jakin batekin hasten den karpeta batean fitxategiak ezagutu nahi badituzu, karatea kate hori zehazteko erabil daiteke.

Adibidez:

ls | grep ^ gnome

Kontuan izan hau gnome-rekin hasten diren fitxategiak soilik zerrendatzen dituela. Fitxategi izeneko gnome bat dagoen lekuan fitxategiak nahi badituzu, orduan asterisira itzuli beharko zenuke berriro.

Goiko adibidean, ls fitxategi-izenen zerrenda eta pasatzen den zerrenda bat ematen dio grepari, hau da, ereduarekin bat datorrenarekin. grep-ek karataren sinboloak esan nahi du datorren karakterearekin hasten dena eta, kasu honetan, gnome bat da.

Dollararen sinboloak metakomisio gisa ($)

Dolararen ikurrak hainbat esanahi izan ditzake Linux-en metakaractero gisa.

Ereduekin bat datorrenean karatearen aurkakoa esan nahi du eta kate jakin batekin amaitzen den eredua adierazten du.

Adibidez:

ls | grep png $

Honek png-rekin bukatzen dituen fitxategi guztiak zerrendatzen ditu.

Dolarearen ikurra bash shell barne inguruneko aldagaietara ere erabil daiteke.

Adibidez:

export dog = molly
echo $ dog

Line export dog = molly txerri izeneko ingurune-aldagaia sortzen du eta molly-k bere balioa ezartzen du. Ingurune-aldagaia sartzeko, $ ikurra erabiltzen da. $ Ikurrarekin oihartzuna $ txakuraren adierazpenak molly erakusten du baina hori gabe, echo txakur adierazpena besterik txakur hitza bistaratzen du.

Metaketako ihesak

Batzuetan ez duzu metakeptorik nahi esanahi berezia izateko. Zer deritzozu f.refox izeneko fitxategi bat eta firefox izeneko fitxategi bat baduzu.

Orain begiratu hurrengo komandoa:

ls | grep f.refox

Zer deritzozu itzuliko? Bi f.refox eta firefox itzultzen dira, ereduarekin bat datozen biak baitira.

F.refox-era itzultzeko, geldialdi osoa ihes egin beharko zenuke honela geldialdia egiteko:

ls | grep f \\. refox

Ohiko metaketak eta haien esanahiak

Linux Metacharactersen zerrenda
Character esanahia
. Pertsonaia guztiak
* Zero edo gehiago karaktere
^ Eredu batekin hasten den edozein lerro edo katearekin lotu (hau da, ^ gnome)
$ Lerro edo errenkada batekin amaitzen den edozein lerro (hau da, gnome $)
\ Hurrengo karakterea ihes egiten du bere esanahi berezia kentzeko
[] Zerrenda edo barruti bateko parekatzea (hau da, ["abc", "def"] edo [1..9]
+ Bat dator aurreko edo aurreko bat (hau da, grep a +)
? Zenbakia zero edo aurrekoarekin lotzea