Kio estas Linuksaj Metaktuloj Kaj Kiel Vi Uzas ilin

Laŭ Vikipedio, metaculo estas iu ajn karaktero, kiu havas specialan signifon, kiel kara (^), dolaro-signo ($) aŭ asterisko (*).

Koncerne Linukson, ekzistas justa numero de ĉi tiuj metacoj kaj ilia signifo diferencas laŭ kiu komando aŭ programo vi funkcias.

La Plena Halto Kiel Metaculo (.)

La humila pleta haltigo estas uzata por donaci la aktualan pozicion, kiam kurante komandoj kiel cd , trovi aŭ sh, sed ene de aplikoj kiel ekzemple awk , grep and sed estas uzata por nomi iun ajn karakteron.

Ekzemple, la sekva komando trovos ĉiujn mp3-dosierojn en la nuna dosierujo kaj sube.

Trovu. -nomo * .mp3

Se vi ekzekutas tiun komandon en la ĉeestanta dosierujo (pwd), vi probable ricevos rezultojn, supozante ke vi konservu viajn mp3-dosierojn en muzika dosierujo ene de via hejma dosierujo.

Nun rigardu ĉi tiun komandon:

ps -ef | grep f..efox

La ps-komando listigas ĉiujn funkciojn en via komputilo. La grep-komando prenas liniojn de enigo kaj serĉas mastron.

Sekve la ps -ef-komando ricevas liston de kurantaj procezoj kaj donas ĝin al grep, kiu serĉas ajnan linion en la listo, kiu havas f.efox kie la. povas signifi iun ajn karakteron.

Se vi havas firefox kurante vi akiros matĉon. Simile, se vi havas programon nomitan fonefox aŭ freefox kuranta ili ankaŭ estos redonitaj.

La asterisko kiel metaculo (*)

La asterisko estas pli konata metaŭra kaj estas kutime signifi 0 aŭ pli kiam serĉas mastron.

Ekzemple:

Trovu. -nomo * .mp3

La * .mp3 redonas matĉon por iu ajn dosiernomo, kiu finiĝas .mp3. Simile, mi povus uzi la asteriskon kun la grep-komando kiel jenaj specimeno:

ps -ef | grep F * efox

Ĝi valoras rimarki, ke ĉi tio diferencas iomete ĉar la asterisko signifas nulon aŭ pli tiel same kiel trovi fajronfenestron, facefox kaj fonefox, ĝi ankaŭ povas trovi flutefox, ferretfox kaj eĉ nur fefox.

La Karato Kiel Metaculo (^)

La karo (^) estas uzata por indiki la komencon de linio aŭ ĉeno. Do kiel ĝi uzas?

La komando ls estas uzata por listigi ĉiujn dosierojn en dosierujo kiel sekvas:

ls

Se vi volas scii ĉiujn dosierojn en dosierujo, kiu komenciĝas per certa ĉeno kiel "gnome", tiam la karo povas esti uzata por specifi tiun ĉenon.

Ekzemple:

ls | grep ^ gnome

Notu, ke ĉi nur listigas dosierojn, kiuj komencas kun gnome. Se vi volas dosierojn kiuj havas gnomon en la dosiernomo ie ajn vi denove revertos al la asterisko.

En la supra ekzemplo, la ls redonas liston de dosiernomoj kaj pasas tiun liston al grep kiu estas uzata por ŝablonoj. grep scias, ke la kara simbolo signifas ion ajn, kio komenciĝas per la signoj, kiuj sekvas ĝin kaj en ĉi tiu kazo, ĝi estas gnomo.

La Dola Simbolo Kiel Metaculo ($)

La dolaro-simbolo povas havi multoblajn signifojn kiel metacrektilon ene de Linukso.

Kiam oni kutimas kongrui ŝablonojn, ĝi signifas la malon al karo kaj signifas ajnan ŝablonon, kiu finiĝas per aparta ĉeno.

Ekzemple:

ls | grep png $

Ĉi tio listigas ĉiujn dosierojn, kiuj finas per png.

La dola simbolo ankaŭ estas uzata por aliri mediajn variablojn ene de la bash-ŝelo.

Ekzemple:

eksportado hundo = molly
eĥo $ hundo

La linio eksporta hundo = molly kreas median variablon nomitan hundon kaj aranĝas ĝian valoron. Por aliri la median variablo, la $ simbolo estas uzata. Kun la simbolo de $ la eĥo $ hundo pruvo montras molly sed sen ĝi, la eĥo hundo deklaro nur montras la vortan hundon.

Eskapantaj Metaktistojn

Kelkfoje vi ne volas, ke la metakapulo havas specialan signifon. Kion se vi havas dosieron nomitan f.refox kaj dosieron nomitan firefox.

Nun rigardu la jenan komandon:

ls | grep f.refox

Kion vi pensas revenas? Ambaŭ f.refox kaj firefox estas redonitaj, ĉar ili ambaŭ kunigas la mastron.

Nur por reveni al f.refox vi bezonos eskapi de la fina haltilo por efektive signifi plenan halton kiel sekvas:

ls | grep f \\. refox

Komunaj Metaktuloj Kaj Iliaj Signifoj

Listo de Linuksaj Metacakcioj
Karaktero Signifo
. Ajna karaktero
* Nulo aŭ pli da gravuloj
^ Turnu ajnan linion aŭ ĉenon, kiu komenciĝas per ŝablono (te ^ gnome)
$ Turnu ajnan linion aŭ ĉenon finantan kun mastro (te gnome $)
\ N Eskapas la sekvan karakteron por forigi ĝian specialan signifon
[] Turnu unu el listo aŭ intervalo (te ["abc", "def"] aŭ [1..9]
+ Matĉo aŭ pli antaŭanta (te grep a +)
? Turniro nulo aŭ unu antaŭanta