Wat sinn d'Linux Metacharachter A wéi Dir Dir se benotzt?

Laut Wikipedia, ass e Metacharakter e Charakter deen eng besonnesch Bedeitung huet, wéi e Karat (^), Dollar Zeechen ($) oder e Sternchen (*).

An wat Linux ubelaangt, sinn et e gerecht Zuel vun dësen Metacharakter an hir Bedeitung gëtt ofhängeg wéieng Kommando oder Programm Dir leeft.

De Full Stop als Metacharakter (.)

De bescheidenen Vollstop gëtt benotzt fir d'aktuell Positioun ze spenden, wann Dir Kommandoen wéi CD benotzt , fannen oder schreift, awer bannent Applikatiounen wéi awk , grep a sed benotzt ginn fir all Charakter ze bezeechnen.

Als Beispill kënnt de nächste Kommando alle mp3 Dateie am aktuellen Ordner a méi no.

fannen. -name * .mp3

Wann Dir dës Kommando an Ärem aktuellen Aarbechtsverwaltungsprogramm ausgeführt (pwd) wäerts du anscheinend Resultater zréck kréien, andeems Dir Är mp3 Dateien an engem Musikdokter an Ärem Heemechtsdossier hält.

Kucke mer dëst Kommando:

ps -ef | grep f..efox

De ps command befollt all de lafen Prozesser op Ärem Computer. De Grep Kommando léisst Zeilen vun der Input a kuckt no engem Muster.

Dofir gëtt de ps -ef Kommando eng Lëscht vun de lafen Prozesser a gitt et zu Grep, déi no jidder Ëmfeld an der Lëscht gesucht, déi f..efox wou de. kann all aner Zeechen.

Wann Dir Firefox huet lafe loossen, kritt Dir e Match. Ähnlech, wann Dir e Programm genannt fonefox oder Freefox lafen se och zréck.

Den Asterisk als Metacharakter (*)

Den Asterisk ass e méi universell bekannte Metacharakter a gëtt mat 0 oder méi benotzt wann Dir e Muster gesicht.

Zum Beispill:

fannen. -name * .mp3

De * .mp3 kënnt e Match fir all Dateinumm, dat am .mp3 ass. An ähnlechem hätt ech den Asterisk mat dem Grep Kommando benotzt wéi d'folgend Show:

ps -ef | grep F * efox

Et ass beachtbar, datt dëst e bëssen ënnerscheed ass, datt den Asterisk null oder méi ass, sou wéi och vu Firefox, Facefox a Fonefox et kann een och Flutefox, Ferretfox a souguer nëmmen Fefox fannen.

De Karat als Metacharakter (^)

De Karat (^) gëtt benotzt fir de Start vun enger Linn oder enger Saach ze bezeechen. Also wéi ass se benotzt?

De Kommando ls gëtt benotzt fir all d'Fichier an engem Dossier opzeleeën:

ls

Wann Dir all d'Fichier an engem Ordner wësse wëlls, deen mat enger gewësse String beginnt wéi "Gnome", da kann d'Karat benotzt ginn fir dës Sait ze spezifizéieren.

Zum Beispill:

ls | grep ^ gnom

Bedenkt datt dat nëmme fichéiert Dateien, déi mat Gnome beginn. Wann Dir Dateien benotzt hutt, déi e Gnome am Dateiname oofhängeg sinn, da sidd Dir erëm zréck op den Asterisk zréck.

An dësem Beispill gëtt d'ls eng Lëscht mat Dateinumm zréckgezunn an dës Lëscht erëmfonnt, déi mat Muster passend benotzt gëtt. grep weess, datt d'karat symbol heescht alles, wat mat de Charakteren no steet, déi no him kommen an an dësem Fall ass et e Gnome.

D'Dollar Symbol als Metacharakter ($)

Den Dollar Symbol kann méi Bedeitungen als Metacharkt am Linux hunn.

Wann et mat Muster benotzt gëtt, heescht dat de Géigendeel zu Karat a bezeechent all Muster, déi mat enger bestëmmter String endet.

Zum Beispill:

ls | grep png $

Dëst léisst all Dateien déi mat png uginn.

D'Symbol vun der Dollar ass och benotzt fir Astellungsvariablen an der Bach Shell ze kréien.

Zum Beispill:

Export Hund = mol
Echo $ Hund

Den Zeilenexporthund = Molly kreéiert eng Ëmweltsvariablen, genannt Hund, a setzt säi Wäert op mol mol. Fir Zougang zum Ëmvirstell variéiert de Symbol $. Mat dem $ symbol huet d'Echo $ Hënn Ukënnegung Mol, awer ouni et, d'Echo-Hënn-Aussoe just den Wuert Hund.

Metacharachter zéien

Heiansdo wëllt de Metacharakter net eng speziell Bedeitung hunn. Wat ass wann Dir e Fichier genannt f.refox an e Fichier as firefox.

Kuckt de folgenden Kommando:

ls | grep f.refox

Wat mengt Dir ass zréck? Béid f.refox a firefox ginn zréck opgeruff, well si mat dem Muster matdeelen.

Fir nëmmen f.refox zréckzefannen musst Dir de komplette Stopp brauchen fir tatsächlech e komplette Stop wéi folgend ze bedeelegen:

ls | grep f \\. refox

Gemeinsamer Metacharacter an hir Bedeitungen

Lëscht vun Linux Metacharacter
Charakter Bedeitung
. All Charakter
* Zero oder méi Zeechen
^ Match all Zeil oder String, déi mat engem Muster beginnt (dh ^ gnom)
$ Match all Zeil oder String mat engem Muster endlech (dh Gnome $)
\ Fänkt de nächste Charakter fir seng speziell Bedeitung z'entwéckelen
[] Mat enger Lëscht oder enger Band (zB "abc", "def"] oder [1..9]
+ Match ee oder méi Virdeeler (dh grep a +)
? Match Null oder ee virdrun