Linux Bashi kesta võimsaim omadus on selle võime failidest ümber töötada ning nende sisend ja väljund tõhusalt ümber suunata. Linux kasutab metamärkidena tuntud erimärke või sümboleid, mis lisavad failiotsingu ja käskude ühendamise osas shellikäsule erilise tähenduse.

Metamärgid on abiks failide loetlemisel, eemaldamisel ja kopeerimisel Linuxis. Kuid iga metamärgi funktsioon erineb olenevalt käsust, millega seda kasutate.

See artikkel pakub põhjalikku juhendit Linuxi erinevat tüüpi metamärkide kohta. Lõpuks selgitame, kuidas need erimärgid aitavad käske ühendada ja laiendada.

Linuxi kest võimaldab salvestada klahvivajutused käskude tippimise ajal, kasutades failide või katalooginimede vahel metamärke. Need märgid aitavad teil viidata failide rühmale või kataloogile, kus loendeid esitada, teisaldada või muid toiminguid teha.

Need on mõned failile vastavad metamärgid, mida Linuxi kest saab tõlgendada:

  • * (Tärn): sobib ühe või mitme märgi esinemisega
  • ? (Küsimärk): vastab ühele märgile või mustrile
  • instagram viewer
  • [ ] (Nurksulud): sobib mis tahes sidekriipsuga eraldatud numbrite, sümbolite või tähestikuga, mis on määratud nurksulgudes

Ideaalne viis metamärkide harjutamiseks Linuxis on luua uus tühi kaust /tmp kataloog.

sudo mkdir /tmp/meta

Nüüd navigeerige jaotisesse /tmp/meta kataloogi kasutades cd käsk ja looge puute abil uusi tühje faile, järgnevalt:

touch apple.txt cider.sh vinegar.php cat.txt lemon.txt juice.sh catfish.sh 

Kasutage järgmisi käske, et testida "*" metamärk ja kuvage väljundid:

ls c*
Väljund:
säga.sh cat.txt siider.sh
ls c*h
Väljund:
säga.sh siider.sh
ls *r*
Väljund:
siider.sh äädikas.php
sudo rm *p*

Eelnimetatud käsk kustutab kõik failid, mille nimes on täht "p". Saate muudatust kontrollida käsuga ls järgmiselt.

ls
Väljund:
säga.sh kass.txt siider.sh mahl.sh sidrun.txt

Siin on mõned näited "?" metamärk mustri sobitamiseks:

kas a?*
Väljund:
apple.txt
kas c? t*
Väljund:
säga.sh cat.txt

Viimane käsk sobib mis tahes failiga, mis algab tähega c ja on t kolmanda tähena (cat.txt, catfish.sh jne).

Nüüd kasutage [av]* suvand käsuga ls, et loetleda kõik failid, mis algavad kummagagi a või v, järgnevalt:

ls [av]*
Väljund:
apple.txt äädikas.sh

Ülaltoodud käsku saate muuta, et loetleda ainult failid, mis lõpevad tähega t:

ls [ac]*[t]
Väljund:
õun.txt säga.txt kass.txt

Sarnaselt saate sidekriipsuga eraldatud tähti kasutada vahemike ja failide loendi määramiseks järgmiselt.

ls [a-j]*
Väljund:
apple.txt säga.sh cat.txt siider.sh mahl.sh

Bashi ümbersuunamise paremaks mõistmiseks on igal Linuxi protsessil failideskriptorid, mida nimetatakse standardsisendiks (stdin/0), standardväljund (stdout/1) ja standardviga (stderr/2). Nad määravad ära käsusisendi päritolu ja otsustavad, kuhu saata väljund ja veateated.

Ümbersuunamise metamärgid aitavad teil neid toiminguid muuta, suunates sisu sisend-/väljundvoo ümber. Üldiselt loeb Linuxi kest klaviatuurilt käsu sisendit ja kirjutab väljundi ekraanile. Sisendi ümbersuunamine võimaldab käsul lugeda sisu failist klaviatuuri asemel, väljundi ümbersuunamine aga salvestab käsu väljundi faili.

Teisisõnu, Linuxi faili ümbersuunamise metamärgid võimaldavad teil sisu ümber suunata (>) ja alates (<) failid. Kolm peamist ümbersuunamise metamärki on:

  1. <: suunab faili sisu käsule. Näiteks käsu väljund for vähem .bashrc on sama nagu vähem < .bashrc.
  2. >: suunab käsu väljundi faili. Käsk ls /etc > lists.txt salvestab väljundi lists.txt faili.
  3. >>: lisab faili sisule käsu väljundi.

wc tähistab sõnade arvu ja saate seda kasutada faili erinevuste kuvamiseks enne ja pärast selle lisamist väljundisse.

Seotud: Standardse I/O mõistmine Linuxis

Sulgude laienduse metamärk võimaldab teil laiendada märke kataloogide, failinimede või muude käsurea argumentide vahel. Näiteks saate luua uue kataloogi traksidega sees /tmp kausta ja looge puutekäsuga failide komplekt järgmiselt:

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

Nüüd saate ls-käsku kasutades kontrollida, kas failid lõi puutetundlik.

ls
Väljund:
test1 test2 test3 test4 test5

Saate määrata mitu loendit, et luua loendis olevate elementide kombinatsioonide põhjal failinimesid. Näiteks:

puudutage {õun, siider, äädikas}.{puuvili, vedelik, hapu}
puudutage {a, b, c}.{1,2,3}

Viimane käsk loob praeguses kataloogis järgmised failid:

Esimene käsk kasutab kahte sulgude komplekti, et seostada iga komplekti failinimed teisega. Viimase käsu saab kirjutada ka kui puudutage {a..c}.{1..3} vahemiku a ja c ning 1 ja 3 vahelise vahemiku määramiseks.

Lisaks failide loomisele saate klambrilaiendust kasutada ka failide eemaldamiseks või teistesse asukohtadesse kopeerimiseks.

Siin on tabel mõnede käskude ühendamiseks ja laiendamiseks teadaolevatest metamärkidest koos nende nimede, kirjelduse ja praktikas kasutatavate näidetega:

Nimi Kirjeldus Näide
Toru (|) Ühendab käsu väljundi sisendiks teise käsuga. kass /etc/passwd | grep juur
Semikoolon (;) Võimaldab täita järjestikuseid käske üksteise järel. cd / etc; ls -la; chmod +x /tmp/script.php
Ampersand (&) Käivitab taustal protsesse või käske. leia / -perm -u=s -tüüp f &
dollar ($) Laiendab aritmeetilist avaldist ja edastab selle kestale echo "selles kataloogis olevaid faile on kokku: $(ls | wc -l)"
Null ümbersuunamine (2>) Suunab standardsed veateated faili /dev/null teie_käsk 2>/dev/null
Circumflex (^) Sobib mis tahes mustriga, mis algab avaldisega, millele järgneb ^ cd /etc/ssh; ls | grep ^s

Linuxi metamärke tuntakse ka metamärkidena, mis lisavad käskudele erilise tähenduse ja kontrollivad nende käitumist. Metamärgid optimeerivad kasutaja tööjõudlust produktiivses keskkonnas, töötades failide/kataloogide ümber ja ühendades/laiendades Linuxi kestakäske.

Lisaks on metamärgid ka regulaaravaldiste ehitusplokid. Samuti on metamärkide ja nende kasutamise tundmaõppimine oluline oskus, mis teil on, kui soovite saada Linuxi-sõbralikuks kasutajaks.

Pythoni regulaaravaldiste juhend algajatele

Kas soovite oma Pythoni töövoogu mõne lihtsa käsuga kiirendada? Regulaaravaldised on teie sõber.

Loe edasi

JagaSäutsMeil
Seotud teemad
  • Linux
  • Linuxi algklass
  • Linux Bash Shell
Autori kohta
Rumaisa Niazi (5 artiklit avaldatud)

Rumaisa on MUO vabakutseline kirjanik. Ta on kandnud palju mütse, alates matemaatikust kuni infoturbe entusiastini, ja töötab nüüd SOC analüütikuna. Tema huvid hõlmavad uute tehnoloogiate, Linuxi distributsioonide ja kõige muu infoturbega seotud lugemist ja kirjutamist.

Veel Rumaisa Niazist

Liituge meie uudiskirjaga

Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!

Tellimiseks klõpsake siin