Шта су Линук Метацхарацтерс и како их користите

Према Википедији, метацхарацтер је сваки карактер који има посебно значење, као што је карат (^), знак за долар ($) или звездица (*).

Што се тиче Линука, постоји доста ових мета-карактера и њихово значење се разликују у зависности од тога која команда или програм покрећете.

Тхе Фулл Стоп као Метацхарацтер (.)

Скромна пуна станица користи се за донацију тренутне позиције када се покрећу команде као што су цд , финд или сх, али унутар апликација као што су авк , греп и сед се користи за означавање било ког карактера.

Као пример, наредна команда ће пронаћи све мп3 датотеке у тренутној фасцикли и испод.

пронађи. -наме * .мп3

Ако покренете ту команду у презентацији радног директоријума (пвд), вероватно ћете вратити резултате, под претпоставком да задржите мп3 датотеке у музичком директоријуму унутар своје кућне фасцикле.

Сада погледајте ову наредбу:

пс -еф | греп ф..ефокс

Команда пс наводи све покренуте процесе на вашем рачунару. Греп наредба узима линије уноса и тражи шаблон.

Због тога команда пс-еф добија списак покретаних процеса и даје га греп-у који тражи било коју линију на листи која има ф..ефокс где је. може значити сваки карактер.

Ако покренете фирефок, добићете утакмицу. Слично томе, ако имате програм под називом фонефок или фреефок, они ће такође бити враћени.

Звездица као метакарактер (*)

Звездица је свеобухватно познат метацхарацтер и користи се за означавање 0 или више при тражењу шаблона.

На пример:

пронађи. -наме * .мп3

* .мп3 враћа утакмицу за било које име датотеке које се завршава у .мп3. Слично томе, могао бих да користим звјездицу са греп командом као следеће емисије:

пс -еф | греп Ф * ефок

Вреди напоменути да се ово мало разликује, јер астериск значи нула или више, као и проналажење фирефок-а, фацефок-а и фонефок-а може пронаћи и флутефок, ферретфок и чак само фефок.

Царат као Метацхарацтер (^)

Карат (^) се користи да означава почетак линије или стринга. Па како се користи?

Лс наредба се користи за пописивање свих датотека у фасцикли на следећи начин:

лс

Ако желите да знате све датотеке у фасцикли која почиње са одређеним низом као што је "гноме" онда се карат може користити за одређивање тог стринга.

На пример:

лс | греп ^ гноме

Имајте на уму да ово само наводи датотеке које почињу са ГНОМЕ-ом. Ако желите датотеке које имају гноме у називу датотеке било гдје, онда бисте се поново вратили у звјездицу.

У претходном примеру, лс враћа листу имена датотека и прослеђује ту листу греп-у који се користи за усклађивање образаца. греп зна да симбол карата значи пронаћи све што почиње са ликовима који долазе након тога, у овом случају, то је гноме.

Доллар симбол као Метацхарацтер ($)

Симбол долара може имати више значења као метацхарацтер у Линуку.

Када се користи за усклађивање образаца, то значи супротно од карата и означава било који образац који се завршава са одређеним низом.

На пример:

лс | греп пнг $

Ово приказује све датотеке које се завршавају пнг-ом.

Симбол долара се такође користи за приступ променљивим окружењима у басх схелл-у.

На пример:

извоз пас = молли
ецхо $ пас

Линијски извозни пас = молли креира варијаблу околине под називом пас и поставља своју вриједност молли. За приступ променљивој околини користи се симбол $. Са симболом $ ецхо $ дог изјава приказује молли, али без ње, изјава о ецхо псу само приказује ријеч пса.

Избегавају Метацхарацтерс

Понекад не желите да метакарактер има посебно значење. Шта ако имате датотеку под називом ф.рефок и датотеку која се зове фирефок.

Сада погледајте следећу наредбу:

лс | греп ф.рефок

Шта мислиш да се враћа? Оба ф.рефок-а и фирефок-а се враћају јер обојица одговарају образцу.

Да бисте вратили само ф.рефок, потребно је да изађете из пуне стопе да би заиста значили пуну станицу на следећи начин:

лс | греп ф \\. рефокс

Заједнички метакарактер и њихово значење

Листа Линук Метацхарацтерс
Карактер Значење
. Било који лик
* Нула или више знакова
^ Подесите било коју линију или низ који почињу са шаблоном (нпр. ^ Гноме)
$ Подударање било које линије или стринга која се завршава шаблоном (нпр. Гноме $)
\ Избегава следећи знак да уклони своје посебно значење
[] Подесите један од списка или опсега (нпр. ["Абц", "деф"] или [1..9]
+ Подударање једног или више претходних (нпр. Греп а +)
? Нула меча или једна претходна