Den kraftigste funksjonen til Linux Bash-skallet er dens evne til å omgå filer og omdirigere input og output effektivt. Linux bruker spesialtegn eller symboler kjent som metategn som gir spesiell betydning til en shell-kommando med hensyn til filsøk og kommandoforbindelse.

Metategnene er nyttige for å liste opp, fjerne og kopiere filer på Linux. Imidlertid er funksjonen til hvert metategn forskjellig avhengig av kommandoen du bruker den med.

Denne artikkelen gir en grundig veiledning om ulike typer metategn i Linux. Til slutt forklarer vi hvordan disse spesialtegnene hjelper til med å koble sammen og utvide kommandoer.

Linux-skallet lar deg lagre tastetrykk mens du skriver kommandoer ved å bruke metategn mellom filer eller katalognavn. Disse tegnene hjelper deg å referere til en gruppe filer eller en katalog for å liste, flytte eller utføre andre aktiviteter på.

Dette er noen filsamsvarende metategn som Linux-skallet kan tolke:

  • * (Asterisk): Matcher én eller flere forekomster av et tegn
  • ? (Spørsmålstegn): Matcher et enkelt tegn eller en mønsterforekomst
  • instagram viewer
  • [ ] (kvadratiske parenteser): Matcher alle bindestrekseparerte tall, symboler eller alfabeter som er spesifisert innenfor de firkantede parentesene

En ideell måte å øve på metategn i Linux er å lage en ny tom mappe inne i /tmp katalog.

sudo mkdir /tmp/meta

Naviger nå inn i /tmp/meta katalog ved hjelp av cd-kommandoen og opprette nye tomme filer ved å trykke, følgende:

touch apple.txt cider.sh eddik.php cat.txt sitron.txt juice.sh steinbit.sh 

Bruk følgende kommandoer for å teste "*" metategn og vis utdataene:

ls c*
Produksjon:
steinbit.sh cat.txt cider.sh
ls c*h
Produksjon:
steinbit.sh cider.sh
ls *r*
Produksjon:
cider.sh eddik.php
sudo rm *p*

Den nevnte kommandoen vil slette alle filene som inneholder bokstaven "p" i navnet. Du kan bekrefte endringen ved å bruke ls-kommandoen som følger:

ls
Produksjon:
steinbit.sh cat.txt cider.sh juice.sh sitron.txt

Her er noen eksempler på "?" metategn for mønstertilpasning:

er en?*
Produksjon:
apple.txt
ls c? t*
Produksjon:
catfish.sh cat.txt

Den siste kommandoen samsvarer med enhver fil som begynner med c og har t som den tredje bokstaven (cat.txt, catfish.sh, etc.).

Bruk nå [av]* alternativet med ls-kommandoen for å liste alle filer som begynner med enten en eller v, følgende:

ls [av]*
Produksjon:
apple.txt eddik.sh

Du kan endre kommandoen ovenfor til kun å vise filer som slutter med bokstaven t:

ls [ac]*[t]
Produksjon:
apple.txt steinbit.txt cat.txt

På samme måte kan du bruke bindestrekseparerte bokstaver for å definere områder og listefiler som følger:

ls [a-j]*
Produksjon:
apple.txt steinbit.sh cat.txt cider.sh juice.sh

For en bedre forståelse av omdirigering i Bash, har hver prosess i Linux filbeskrivelser, kjent som standard input (stdin/0), standard utgang (stdout/1), og standardfeil (stderr/2). De bestemmer opprinnelsen til kommandoinngangen og bestemmer hvor utdataene og feilmeldingene skal sendes.

Omdirigeringsmetategnene hjelper deg med å endre disse handlingene ved å omdirigere innholdets I/O-flyt. Vanligvis leser Linux-skallet kommandoen fra tastaturet og skriver utdataene til skjermen. Inndataomdirigeringen lar kommandoen lese innholdet fra en fil i stedet for et tastatur, mens utdataomdirigering lagrer kommandoutgangen til en fil.

Med andre ord lar Linux-filomdirigeringsmetategnene deg omdirigere innholdet til (>) og fra (<) filene. De tre primære omdirigeringsmetategnene er:

  1. <: Leder filinnholdet til kommandoen. For eksempel kommandoutgangen for mindre .bashrc er det samme som mindre < .bashrc.
  2. >: Direkter kommandoutgangen til filen. Kommandoen ls /etc > lists.txt lagrer utdataene til lists.txt-filen.
  3. >>: Legger kommandoutdata til filinnholdet.

wc står for ordtelling, og du kan bruke den til å vise forskjellen mellom filen før og etter at du har lagt den til utdataene.

I slekt: Forstå standard I/O på Linux

Metakarakteren for utvidelse av klammeparenteser lar deg utvide tegnene på tvers av kataloger, filnavn eller andre kommandolinjeargumenter. Du kan for eksempel lage en ny katalog stag inne i /tmp mappe og lag et sett med filer ved å bruke berøringskommandoen som følger:

sudo mkdir /tmp/brace; cd /tmp/brace
berøringstest{1,2,3,4,5}

Nå kan du sjekke om touch opprettet filene eller ikke ved å bruke ls-kommandoen.

ls
Produksjon:
test1 test2 test3 test4 test5

Du kan spesifisere flere lister for å generere filnavn basert på kombinasjonene av elementene i listen. For eksempel:

berør {eple, cider, eddik}.{frukt, flytende, sur}
trykk på {a, b, c}.{1,2,3}

Den siste kommandoen vil opprette følgende filer i gjeldende katalog:

Den første kommandoen bruker to sett med klammeparenteser for å knytte filnavn i hvert sett med det andre. Du kan også skrive den siste kommandoen som trykk på {a..c}.{1..3} for å spesifisere området mellom a og c og 1 og 3.

I tillegg til å lage filer, kan du også bruke klammerutvidelse for å fjerne eller kopiere filer til andre steder.

Her er en tabell over noen kjente metategn for kommandotilkobling og utvidelse med navn, beskrivelse og eksempler for å øve:

Navn Beskrivelse Eksempel
Rør (|) Kobler kommandoutgang som en inngang til den andre kommandoen. cat /etc/passwd | grep rot
Semikolon (;) Tillater kjøring av sekvensielle kommandoer, den ene etter den andre. cd /etc; ls -la; chmod +x /tmp/script.php
ampersand (&) Kjører prosessene eller kommandoene i bakgrunnen. finn / -perm -u=s -type f &
Dollar ($) Utvider det aritmetiske uttrykket og sender det til skallet echo "totale filer i denne katalogen er: $(ls | wc -l)"
Null omdirigering (2>) Sender standard feilmeldinger til /dev/null-filen din_kommando 2>/dev/null
Circumflex (^) Matcher ethvert mønster som begynner med uttrykket etterfulgt av ^ cd /etc/ssh; ls | grep ^s

Linux-metategn er også kjent som jokertegn som legger spesiell betydning til kommandoene og kontrollerer oppførselen deres. Metategn optimerer en brukers arbeidsytelse i et produktivt miljø mens de jobber rundt filer/kataloger og kobler til/utvider Linux-skallkommandoene.

Dessuten er metategn også byggesteinene i regulære uttrykk. Å lære om metategn og deres bruk er også en viktig ferdighet å ha hvis du ønsker å bli en pro-Linux-bruker.

Nybegynnerveiledningen til regulære uttrykk med Python

Vil du øke hastigheten på Python-arbeidsflyten din med noen få enkle kommandoer? Vanlige uttrykk er din venn.

Les Neste

DelekvitringE-post
Relaterte temaer
  • Linux
  • Elementær Linux
  • Linux Bash Shell
Om forfatteren
Rumaisa Niazi (5 artikler publisert)

Rumaisa er frilansskribent ved MUO. Hun har brukt mange hatter, fra en matematiker til en informasjonssikkerhetsentusiast, og jobber nå som SOC-analytiker. Hennes interesser inkluderer å lese og skrive om nye teknologier, Linux-distribusjoner og alt rundt informasjonssikkerhet.

Mer fra Rumaisa Niazi

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Klikk her for å abonnere