Najmočnejša značilnost lupine Linux Bash je njena zmožnost, da obkroži datoteke in učinkovito preusmeri njihov vhod in izhod. Linux uporablja posebne znake ali simbole, znane kot metaznaki, ki ukazu lupine dodajo poseben pomen glede na iskanje datotek in povezavo ukazov.
Metaznaki so v pomoč pri navajanju, odstranjevanju in kopiranju datotek v Linuxu. Vendar se funkcija vsakega metaznaka razlikuje glede na ukaz, s katerim ga uporabljate.
Ta članek ponuja poglobljen vodnik o različnih vrstah metaznakov v Linuxu. Nazadnje razložimo, kako ti posebni znaki pomagajo pri povezovanju in razširitvi ukazov.
Lupina Linux vam omogoča, da shranite pritiske tipk med tipkanjem ukazov z uporabo metaznakov med datotekami ali imeni imenikov. Ti znaki vam pomagajo pri sklicevanju na skupino datotek ali imenik za seznam, premikanje ali izvajanje drugih dejavnosti.
To je nekaj metaznakov, ki se ujemajo z datotekami, ki jih lahko razlaga lupina Linuxa:
- * (zvezdica): Ujema se z enim ali večkratnim pojavom znaka
- ? (Vprašaj): Ujema se z enim znakom ali pojavom vzorca
- [ ] (Oglati oklepaji): se ujema s katero koli številko, simbolom ali abecedo, ločeno z vezajem, določeno v oglatih oklepajih
Idealen način za vadbo metaznakov v Linuxu je ustvarjanje nove prazne mape znotraj datoteke /tmp imenik.
sudo mkdir /tmp/meta
Zdaj se pomaknite v /tmp/meta imenik z uporabo ukaz cd in ustvarite nove prazne datoteke z dotikom, kot sledi:
dotakni se apple.txt cider.sh vinegar.php cat.txt lemon.txt juice.sh catfish.sh
Uporabite naslednje ukaze, da preizkusite "*" metaznak in prikaži izhode:
je c*
Izhod:
catfish.sh cat.txt jabolčnik.sh
je c*h
Izhod:
som.sh jabolčnik.sh
ls *r*
Izhod:
jabolčnik.sh kis.php
sudo rm *p*
Zgoraj omenjeni ukaz bo izbrisal vse datoteke, ki vsebujejo črko "p" v svojem imenu. Spremembo lahko preverite z ukazom ls, kot sledi:
ls
Izhod:
catfish.sh cat.txt jabolčnik.sh juice.sh lemon.txt
Tukaj je nekaj primerov "?" metaznak za ujemanje vzorcev:
Je?*
Izhod:
apple.txt
je c? t*
Izhod:
catfish.sh cat.txt
Zadnji ukaz se ujema s katero koli datoteko, ki se začne z c in ima t kot tretja črka (cat.txt, catfish.sh itd.).
Zdaj uporabite [av]* možnost z ukazom ls za seznam vseh datotek, ki se začnejo z enim ali drugim a oz v, kot sledi:
ls [av]*
Izhod:
apple.txt kis.sh
Zgornji ukaz lahko spremenite tako, da navede samo datoteke, ki se končajo s črko t:
ls [ac]*[t]
Izhod:
apple.txt catfish.txt cat.txt
Podobno lahko uporabite črke, ločene z vezajem, za definiranje obsegov in datotek seznama, kot sledi:
ls [a-j]*
Izhod:
apple.txt catfish.sh cat.txt jabolčnik.sh juice.sh
Za boljše razumevanje preusmeritve v Bashu ima vsak proces v Linuxu deskriptorje datotek, znane kot standardni vnos (stdin/0), standardni izhod (stdout/1) in standardna napaka (stderr/2). Določijo izvor vhoda ukaza in se odločijo, kam poslati izhod in sporočila o napakah.
Preusmeritveni metaznaki vam pomagajo spremeniti ta dejanja s preusmeritvijo toka V/I vsebine. Na splošno lupina Linuxa bere ukazni vnos s tipkovnice in izpis zapiše na zaslon. Preusmeritev vhoda omogoča ukazu, da prebere vsebino iz datoteke namesto s tipkovnice, medtem ko izhodna preusmeritev shrani izhod ukaza v datoteko.
Z drugimi besedami, metaznaki za preusmeritev datotek v Linuxu vam omogočajo, da vsebino preusmerite na (>) in od (<) datoteke. Trije primarni metaznaki preusmeritve so:
- <: Usmeri vsebino datoteke v ukaz. Na primer, izhod ukaza za manj .bashrc je enako kot manj < .bashrc.
- >: Usmeri izhod ukaza v datoteko. Ukaz ls /etc > lists.txt shrani izhod v datoteko lists.txt.
- >>: doda izhod ukaza vsebini datoteke.
wc pomeni štetje besed in z njim lahko prikažete razliko med datoteko pred in po tem, ko jo dodate k izhodu.
Povezano: Razumevanje standardnega V/I v Linuxu
Metaznak razširitve oklepajev vam omogoča razširitev znakov v imenike, imena datotek ali druge argumente ukazne vrstice. Na primer, lahko ustvarite nov imenik naramnica znotraj /tmp mapo in ustvarite niz datotek z ukazom na dotik, kot sledi:
sudo mkdir /tmp/brace; cd /tmp/brace
preizkus na dotik{1,2,3,4,5}
Zdaj lahko z ukazom ls preverite, ali je dotik ustvaril datoteke ali ne.
ls
Izhod:
test1 test2 test3 test4 test5
Določite lahko več seznamov, da ustvarite imena datotek na podlagi kombinacij elementov na seznamu. Na primer:
dotaknite se {jabolko, jabolčnik, kis}.{sadje, tekočina, kislo}
dotaknite se {a, b, c}.{1,2,3}
Zadnji ukaz bo ustvaril naslednje datoteke v trenutnem imeniku:
Prvi ukaz uporablja dva niza oklepajev za povezovanje imen datotek v vsakem nizu z drugim. Zadnji ukaz lahko napišete tudi kot dotaknite se {a..c}.{1..3} da določite razpon med a in c ter 1 in 3.
Poleg ustvarjanja datotek lahko uporabite tudi razširitev oklepajev za odstranitev ali kopiranje datotek na druge lokacije.
Tukaj je tabela nekaterih metaznakov, ki jih je treba poznati za povezavo in razširitev ukazov, z njihovimi imeni, opisom in primeri za vadbo:
ime | Opis | Primer |
---|---|---|
cev (|) | Poveže izhod ukaza kot vhod z drugim ukazom. | mačka /etc/passwd | grep koren |
Podpičje (;) | Omogoča izvajanje zaporednih ukazov enega za drugim. | cd /itd; ls -la; chmod +x /tmp/script.php |
ampersand (&) | Zažene procese ali ukaze v ozadju. | najdi / -perm -u=s -type f & |
dolar ($) | Razširi aritmetični izraz in ga posreduje v lupino | echo "skupaj datotek v tem imeniku je: $(ls | wc -l)" |
Ničelna preusmeritev (2>) | Usmeri standardna sporočila o napakah v datoteko /dev/null | vaš_ukaz 2>/dev/null |
Circumflex (^) | Ujema se s katerim koli vzorcem, ki se začne z izrazom, ki mu sledi ^ | cd /etc/ssh; ls | grep ^s |
Metaznaki Linuxa so znani tudi kot nadomestni znaki, ki ukazom dodajo poseben pomen in nadzorujejo njihovo vedenje. Metaznaki optimizirajo uporabnikovo delovno zmogljivost v produktivnem okolju, medtem ko delajo okoli datotek/imenikov in povezujejo/razširjajo ukaze lupine Linuxa.
Poleg tega so metaznaki tudi gradniki regularnih izrazov. Tudi učenje o metaznakih in njihovi uporabi je pomembna veščina, ki jo morate imeti, če želite postati uporabnik pro-Linuxa.
Želite pospešiti potek dela v Pythonu z nekaj preprostimi ukazi? Regularni izrazi so tvoj prijatelj.
Preberite Naprej
- Linux
- Linux Elementary
- Linux Bash Shell
Rumaisa je svobodna pisateljica pri MUO. Nosila je veliko klobukov, od matematike do navdušenca za informacijsko varnost, zdaj pa dela kot analitik SOC. Njena zanimanja vključujejo branje in pisanje o novih tehnologijah, distribucijah Linuxa in karkoli v zvezi z informacijsko varnostjo.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!
Kliknite tukaj, da se naročite