Linux metaraksti un to nozīmes
Metarakstzīme ir jebkura rakstzīme, kurai ir īpaša nozīme, piemēram, karāts (^), dolāra zīme ($) vai zvaigznīte (*). Linux ir diezgan daudz šo metarakstzīmju, un to nozīme atšķiras atkarībā no tā, kuras Linux komanda vai jūsu izmantotā programma.
Punkts kā metavaronis (.)
Pilna pietura (.) norāda pašreizējo pozīciju, izpildot komandas, piemēram, cd, atrast, vai sh. Tādos lietojumos kā awk, grep, un sed, tā ir aizstājējzīme, kas apzīmē noteiktu jebkuras rakstzīmes skaitli.
Piemēram, šī komanda atrod visu MP3 faili pašreizējā mapē un tās apakšmapēs.
atrast. -type f -name '*.mp3'
Ja palaižat šo komandu pašreizējā darba direktorijā (pwd), jūs redzēsit atgrieztos rezultātus, pieņemot, ka MP3 failus glabājat mūzikas mapē mājas mapē.
Tagad apskatiet šo komandu:
ps -ef | grep f..fox
Komanda ps uzskaita visus datorā darbojošos procesus. Komanda grep ņem ievades rindas un meklē modeli.

Komanda ps -ef izgūst esošo procesu sarakstu. Caurule (|) metaraksts nosūta šo sarakstu komandai grep, kas meklē jebkuru rindiņu sarakstā, kurā ir
Ja darbojas Firefox, jūs saņemsit atbilstību. Līdzīgi, ja darbojas programma fonefox vai freefox, tās arī tiek atgrieztas.
Ja jums ir jāmeklē tikai viena rakstzīme, nevis izmantojiet punktu (.) metarakstzīmi, izmantojiet? metaraksturs. Izmantojot? metaraksts attiecas uz jebkuru atsevišķu rakstzīmi modeļa sākumā vai beigās.
Zvaigznīte kā metavaronis (*)
Zvaigznīte (*) ir vispārzināms metaraksts. Meklējot paraugu, tas nozīmē nulli vai vairāk jebkuras rakstzīmes. Piemēram:
ls *.flac

The *.flac komandas daļa atgriež atbilstību jebkuram faila nosaukumam, kas beidzas ar .flac. Līdzīgi varat izmantot zvaigznīti ar komandu grep pēdējā sadaļā šādi:
ps -ef | grep f*fox
Tas nedaudz atšķiras, jo zvaigznīte nozīmē nulli vai vairāk, tāpēc ne tikai firefox, facefox un fonefox, bet arī flutefox, ferretfox un fefox.

Karāts kā metavaronis (^)
Karāts (^) lieto, lai apzīmētu rindas vai virknes sākumu. Tātad, kā tas tiek izmantots?
Komanda ls uzskaita failus mapē šādi:
ls -a
Ja vēlaties uzskaitīt failus mapē, kas sākas ar noteiktu virkni, piemēram, gnome, šīs virknes norādīšanai var izmantot karātu. Piemēram:
ls -a | grep ^gnome
Šeit ir uzskaitīti faili, kas sākas ar gnome. Ja vēlaties failus, kuru nosaukumā ir gnome, izmantojiet zvaigznīti.

Iepriekš minētajā piemērā komanda ls atgriež failu nosaukumu sarakstu un nodod šo sarakstu komandai grep, kas tiek izmantota paraugu saskaņošanai. Greps zina, ka karātu simbols nozīmē atrast jebko, kas sākas ar rakstzīmēm, kas nāk aiz tā, un šajā gadījumā tas ir rūķis.
Dolāra simbols kā metarakstzīme ($)
Dolāra simbols ($) Linux kā metarakstzīmei ir vairākas nozīmes. Ja to lieto, lai saskaņotu modeļus, tas nozīmē pretēju karātu un apzīmē jebkuru rakstu, kas beidzas ar noteiktu virkni. Piemēram:
ls | grep png$
Šeit ir uzskaitīti visi faili, kas beidzas ar png.
Dolāra simbols tiek izmantots arī, lai piekļūtu vides mainīgajiem bash apvalkā. Piemēram:
#! /bin/bash
eksporta suns=molly
atbalss $suns

Līnija eksporta suns=molly izveido vides mainīgo, ko sauc suns un nosaka tā vērtību molly. Lai piekļūtu vides mainīgajam, izmantojiet simbolu $. Ar simbolu $, atbalss $suns paziņojums parāda Molly. Bez tā, atbalss suns paziņojumā tiek parādīts vārds suns.
Aizbēgšanas metarakstzīmes (\\)
Dažreiz jūs nevēlaties, lai metaraksturam būtu īpaša nozīme. Piemēram, ja tiek izsaukts fails f.refox un tiek izsaukts cits fails firefox.
Tagad apskatiet šādu komandu:
ls | grep f.refox
Kas, jūsuprāt, tiek atgriezts? Tiek atgriezti gan f.refox, gan firefox, jo abi atbilst modelim.

Lai atgrieztu tikai f.refox, izvairieties no punkta, lai faktiski nozīmētu punktu, kā norādīts tālāk:
ls | grep f\\.refox
Iekavas kā metarakstzīmes ([])
Varat izmantot iekavas ([ ]), meklējot modeļus. Iekavās ir norādīti konkrēti burti, kas atbilst jebkurai raksta vietai. Piemēram:
ls | grep [abc]
Šeit ir uzskaitīti visi faili, kas satur burtus a, b vai c.

Varat izmantot iekavas meklēšanas modeļa sākumā, beigās vai vidū.
Lai meklētu burtu diapazonu, izmantojiet defisi (-). Piemēram, ls [a-h]* atgriež failus, kas sākas ar jebkuru burtu no a līdz h.
Akcenta kapa metavaronis
Iepriekš minētajos piemēros caurules metaraksts nosūta vienas komandas (piemēram, komandas ls) rezultātus citai komandai (piemēram, komandai grep).
Alternatīvs veids, kā to izdarīt, ir izmantot aizmugurējo pēdiņu, kas pazīstama arī kā akcenta kaps (`), lai vienas komandas rezultātus ievietotu citā komandā. Lai to izdarītu, saglabājiet vienas komandas rezultātu mainīgajā. Piemēram:
command=`ls -lah`
echo $command

Piemērs ir ļoti izdomāts, un jūs, visticamāk, nekad neko tādu nedarīsit, taču jūs varat redzēt, kā tas darbojas. Atkāpšanās rakstzīme izpilda komandu un saglabā rezultātu. Tas var būt noderīgi skriptēšanā, taču tas ir mazāk elastīgs nekā caurules izmantošana vienkāršām komandām.
Izplatītākie metaraksti un to nozīmes
Raksturs | Nozīme |
. | Jebkurš varonis. |
* | Nulle vai vairāk rakstzīmju. |
^ | Saskaņojiet jebkuru rindiņu vai virkni, kas sākas ar rakstu (piemēram, ^gnome). |
$ | Saskaņojiet jebkuru rindiņu vai virkni, kas beidzas ar rakstu (piemēram, gnome$). |
\ | Aizbēg no nākamās rakstzīmes, lai noņemtu tās īpašo nozīmi. |
[] | Atbilst vienam no saraksta vai diapazona (piemēram, ["abc", "def"] vai [1..9]). |
+ | Atbilst vienam vai vairākiem iepriekšējiem (piemēram, grep a+). |
? | Atbilst nullei vai vienam iepriekš. |