Najmoćnija značajka Linux Bash ljuske je njezina sposobnost da zaobilazi datoteke i učinkovito preusmjerava njihov ulaz i izlaz. Linux koristi posebne znakove ili simbole poznate kao metaznakovi koji dodaju posebno značenje naredbi ljuske s obzirom na pretraživanje datoteka i povezivanje naredbi.

Metaznakovi su korisni u popisu, uklanjanju i kopiranju datoteka na Linuxu. Međutim, funkcija svakog metaznaka razlikuje se ovisno o naredbi s kojom ga koristite.

Ovaj članak pruža detaljan vodič o različitim vrstama metaznakova u Linuxu. Na kraju, objašnjavamo kako ovi posebni znakovi pomažu u povezivanju i proširenju naredbi.

Linux ljuska omogućuje spremanje pritisaka na tipke tijekom tipkanja naredbi korištenjem metaznakova između datoteka ili imena direktorija. Ovi znakovi vam pomažu da se uputite na grupu datoteka ili direktorij za popis, premještanje ili obavljanje drugih aktivnosti.

Ovo su neki metaznakovi koji se podudaraju s datotekama koje Linux ljuska može interpretirati:

  • * (zvjezdica): odgovara jednom ili višestrukom pojavljivanju znaka
  • instagram viewer
  • ? (Upitnik): Odgovara jednom znaku ili pojavljivanju uzorka
  • [ ] (Uglate zagrade): odgovara bilo kojem broju, simbolu ili abecedi odvojenoj crticom navedenim unutar uglatih zagrada

Idealan način vježbanja metaznakova u Linuxu je stvaranje nove prazne mape unutar /tmp imenik.

sudo mkdir /tmp/meta

Sada idite u /tmp/meta imenik koristeći naredbu cd i stvoriti nove prazne datoteke pomoću dodira, kako slijedi:

dodirnite apple.txt cider.sh ocat.php cat.txt lemon.txt juice.sh catfish.sh 

Koristite sljedeće naredbe za testiranje "*" metaznak i prikaži izlaze:

je c*
Izlaz:
som.sh cat.txt jabukovača.sh
je c*h
Izlaz:
som.š jabukovača.š
je *r*
Izlaz:
jabukovača.sh ocat.php
sudo rm *p*

Gore spomenuta naredba će izbrisati sve datoteke koje sadrže slovo "p" u svom nazivu. Možete provjeriti promjenu pomoću naredbe ls na sljedeći način:

ls
Izlaz:
som.sh cat.txt jabukovača.sh sok.sh limun.txt

Evo nekoliko primjera "?" metaznak za podudaranje uzorka:

Je li?*
Izlaz:
apple.txt
je c? t*
Izlaz:
catfish.sh cat.txt

Posljednja naredba odgovara bilo kojoj datoteci koja počinje s c i ima t kao treće slovo (cat.txt, catfish.sh, itd.).

Sada koristite [av]* opciju s naredbom ls za popis svih datoteka koje počinju s bilo kojim od njih a ili v, kako slijedi:

ls [av]*
Izlaz:
apple.txt ocat.sh

Gornju naredbu možete izmijeniti tako da prikazuje samo datoteke koje završavaju slovom t:

ls [ac]*[t]
Izlaz:
apple.txt catfish.txt cat.txt

Slično, možete koristiti slova odvojena crticom za definiranje raspona i datoteka popisa na sljedeći način:

ls [a-j]*
Izlaz:
apple.txt som.sh cat.txt jabukovača.sh sok.sh

Za bolje razumijevanje preusmjeravanja u Bashu, svaki proces u Linuxu ima deskriptore datoteke, poznate kao standardni unos (stdin/0), standardni izlaz (stdout/1), i standardna pogreška (stderr/2). Oni određuju podrijetlo unosa naredbe i odlučuju gdje će poslati izlaz i poruke o pogrešci.

Metaznakovi preusmjeravanja pomažu vam modificirati ove radnje preusmjeravanjem tijeka I/O sadržaja. Općenito, Linux ljuska čita unos naredbe s tipkovnice i zapisuje izlaz na zaslon. Preusmjeravanje ulaza omogućuje naredbi čitanje sadržaja iz datoteke umjesto s tipkovnice, dok preusmjeravanje izlaza sprema izlaz naredbe u datoteku.

Drugim riječima, metaznakovi za preusmjeravanje Linux datoteka omogućuju vam da preusmjerite sadržaj na (>) i od (<) datoteke. Tri primarna metaznaka preusmjeravanja su:

  1. <: Usmjerava sadržaj datoteke na naredbu. Na primjer, izlaz naredbe za manje .bashrc je isto kao manje < .bashrc.
  2. >: Usmjerava izlaz naredbe u datoteku. Zapovijed ls /etc > liste.txt sprema izlaz u datoteku lists.txt.
  3. >>: Dodaje izlaz naredbe sadržaju datoteke.

wc označava broj riječi i možete ga koristiti za prikaz razlike između datoteke prije i nakon dodavanja s izlazom.

Povezano: Razumijevanje standardnog I/O-a na Linuxu

Metaznak proširenja zagrada omogućuje vam da proširite znakove u direktorije, nazive datoteka ili druge argumente naredbenog retka. Na primjer, možete napraviti novi imenik potpora unutar /tmp mapu i kreirajte skup datoteka pomoću naredbe dodira kako slijedi:

sudo mkdir /tmp/brace; cd /tmp/brace
test dodirom{1,2,3,4,5}

Sada možete provjeriti je li dodir stvorio datoteke ili ne pomoću naredbe ls.

ls
Izlaz:
test1 test2 test3 test4 test5

Možete odrediti više popisa za generiranje naziva datoteka na temelju kombinacija elemenata na popisu. Na primjer:

dodirnite {jabuka, jabukovača, ocat}.{voće, tekućina, kiselo}
dodirnite {a, b, c}.{1,2,3}

Posljednja naredba će stvoriti sljedeće datoteke u trenutnom direktoriju:

Prva naredba koristi dva skupa zagrada za povezivanje naziva datoteka u svakom skupu s drugim. Posljednju naredbu također možete napisati kao dodirnite {a..c}.{1..3} za određivanje raspona između a i c i 1 i 3.

Osim stvaranja datoteka, također možete koristiti proširenje zagrada za uklanjanje ili kopiranje datoteka na druga mjesta.

Ovdje je tablica nekih metaznakova koji se moraju poznati za povezivanje i proširenje naredbi s njihovim nazivima, opisom i primjerima za vježbanje:

Ime Opis Primjer
cijev (|) Povezuje izlaz naredbe kao ulaz s drugom naredbom. mačka /etc/passwd | grep korijen
Točka i zarez (;) Omogućuje izvršavanje uzastopnih naredbi, jedne za drugom. cd /itd; ls -la; chmod +x /tmp/script.php
ampersand (&) Pokreće procese ili naredbe u pozadini. pronaći / -perm -u=s -type f &
dolar ($) Proširuje aritmetički izraz i prosljeđuje ga ljusci echo "ukupni broj datoteka u ovom direktoriju je: $(ls | wc -l)"
Null preusmjeravanje (2>) Usmjerava standardne poruke o pogrešci u /dev/null datoteku vaša_naredba 2>/dev/null
Circumflex (^) Odgovara bilo kojem uzorku koji počinje izrazom nakon kojeg slijedi ^ cd /etc/ssh; ls | grep ^s

Linux metaznakovi su također poznati kao zamjenski znakovi koji dodaju posebno značenje naredbama i kontroliraju njihovo ponašanje. Metaznakovi optimiziraju radni učinak korisnika u produktivnom okruženju dok rade oko datoteka/direktorija i povezuju/proširuju naredbe ljuske Linuxa.

Osim toga, metaznakovi su također građevni blokovi regularnih izraza. Također, učenje o metaznakovima i njihovoj upotrebi važna je vještina ako želite postati pro-Linux korisnik.

Vodič za početnike za regularne izraze s Pythonom

Želite li ubrzati svoj Python radni tijek s nekoliko jednostavnih naredbi? Regularni izrazi su tvoj prijatelj.

Pročitajte dalje

UdioCvrkutE-mail
Povezane teme
  • Linux
  • Linux Elementary
  • Linux Bash Shell
O autoru
Rumaisa Niazi (Objavljeno 5 članaka)

Rumaisa je slobodni pisac u MUO. Nosila je mnogo šešira, od matematičarke do entuzijasta za informacijsku sigurnost, a sada radi kao analitičarka SOC-a. Njezini interesi uključuju čitanje i pisanje o novim tehnologijama, distribucijama Linuxa i svemu oko informacijske sigurnosti.

Više od Rumaise Niazi

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu