Mene ne Linux Metacharacters kuma Yaya Kayi Amfani da su?

Bisa ga Wikipedia, ma'aunin rubutu shine kowane hali wanda ke da ma'ana ta musamman, irin su carat (^), alamar dollar ($) ko alama (*).

A dangane da Linux, akwai adadi mai kyau na wadannan ƙananan abubuwa kuma ma'anar da suka bambanta dangane da umarnin ko shirin da kake gudana.

Cikakken Tsayawa a matsayin Metacharacter (.)

An yi amfani da cikakken ƙaƙƙarfan hali don ba da gudummawar halin yanzu a yayin umarnin gudu irin su cd , samu ko sh amma a cikin aikace-aikace irin su awk , grep da sed ana amfani dasu don nuna duk wani hali.

Alal misali, umarnin da zai biyo baya zai samo duk fayiloli na fayiloli a babban fayil ɗin da ke ƙasa.

sami. -name * .mp3

Idan kun gudu da wannan umarni a cikin ku a cikin jagorancin aiki (pwd) sai ku sami sakamako da za a dawo, kuna ɗaukar ku kiyaye fayilolin fayilolinku a cikin babban fayil na fayilolin a cikin babban fayil ɗin ku.

Yanzu duba wannan umurnin:

ps -ef | grep f.efox

Dokar zabar ta lissafa dukkan tafiyar matakai a kwamfutarka. Umurnin grep yana daukan layi na shigarwa da bincike don alamu.

Saboda haka umarnin ps -ef yana da jerin tafiyar matakai kuma yana ba da shi ga grep wanda ke nemo kowane layi a cikin jerin da ke da f..fox inda. iya nufin kowane hali.

Idan kana da wutar lantarki ke gudana za ku sami wasa. Hakazalika, idan kuna da shirin da ake kira fonefox ko freefox wanda za a sake dawo da su.

Alamar alama a matsayin ƙayyadewa (*)

Alama alama ce mafi mahimmanci da aka sani ta duniya kuma an yi amfani da shi don nufin 0 ko fiye lokacin da kake nema.

Misali:

sami. -name * .mp3

The * .mp3 dawo da wasa don kowane sunan da ya ƙare a cikin .mp3. Hakazalika, da na yi amfani da alama tareda umurnin grep kamar yadda ya nuna:

ps -ef | grep F * efox

Ya kamata a lura da cewa wannan ya bambanta kaɗan saboda alama alama ce ko ƙari da ƙari da ƙwaƙwalwar wutan lantarki, da kuma kyamara kuma za ta iya samun ƙwaƙwalwar ajiya, ferretfox har ma kawai sakonnin.

Carat Kamar A Metacharacter (^)

Ana amfani da carat (') don nuna farkon layin ko layi. To yaya ake amfani dashi?

Ana amfani da umarnin ls don tsara duk fayiloli a babban fayil kamar haka:

ls

Idan kana so ka san duk fayiloli a cikin babban fayil wanda zai fara tare da wani kirki irin su "gnome" to ana iya amfani da carat don ƙayyade igiya.

Misali:

ls | grepome

Lura cewa wannan kawai ya bada jerin sunayen fayilolin da suka fara da gnome. Idan kana son fayilolin da ke da lalata a cikin sunan fayil a duk inda zaka sake dawowa zuwa alama.

A cikin misali na sama, ls ya dawo jerin sunayen filenames kuma ya sanya wannan jerin zuwa grep wanda aka yi amfani dashi don daidaitaccen matsala. grep ya san cewa alamar carat na nufin samun wani abu da zai fara tare da haruffan da suka zo bayan shi kuma a wannan yanayin, yana da gnome.

Alamar Dollar A matsayin Metacharacter ($)

Alamar dollar za ta iya samun fassarar ma'ana kamar yadda aka tsara a tsakanin Linux.

Idan aka yi amfani da su don daidaita alamomi yana nufin kishiyar zuwa carat kuma yana nuna kowane abin da ya ƙare tare da kirtani guda.

Misali:

ls | grep zuwa $

Wannan ya bada jerin sunayen duk fayilolin da suka ƙare tare da png.

Ana amfani da alama ta dollar don samun dama ga maɓuɓɓan yanayi a cikin harsashi.

Misali:

fitar da kullun = kisa
Echo $ dog

Kayan fitar da kundin jinsi = ƙirar kirkira kirkirar yanayin da ake kira kare kuma ya kafa darajarta don haɗaka. Don samun dama ga yanayin yanayi ana amfani da alamar $. Tare da alamar $ na alamar ƙwaƙwalwar asirin kare kuɗin yanar gizo ta nuna ladabi amma ba tare da shi ba, bayanin ƙwaƙwalwar ƙwaƙwalwar ƙwaƙwalwa ta nuna alamar kalmar kare.

Escaping Metacharacters

Wasu lokuta ba ka so nema ta kasance da ma'ana ta musamman. Mene ne idan kuna da fayil da ake kira f.refox da fayil da ake kira firefox.

Yanzu duba wannan umurnin:

ls | grep f.refox

Me kake tsammani an dawo? Dukkan f.fox da firefox sun dawo saboda sun dace da juna.

Don kawai dawo da f.fr.fosin waya zaka buƙatar tserewa daga cikar don nufin ainihin tsayawa kamar haka:

ls | grep f \\. refox

Metacharacters da Ma'anarsu

Lissafi na Linux Metacharacters
Nau'in Ma'ana
. Duk wani hali
* Zero ko fiye haruffa
^ Daidaita kowane layi ko kirtani wanda ya fara tare da tsari (watau 'gnome)
$ Daidaita kowane layi ko kirtani da ke kawowa tare da alamu (watau Gnome $)
\ Yada halin da ke gaba don cire ma'anar ta musamman
[] Daidaita ɗaya daga jerin ko layin (watau ["abc", "def"] ko [1..9]
+ Daidaita ɗaya ko fiye na baya (watau grep a +)
? Matsala mai siffar ko daya baya