27Jun
Naučili ste sa vytvárať skripty, používať argumenty a vytvárať pre slučky. Teraz sa pozrime na niektoré ďalšie základné príkazy, manipuláciu s textovými súbormi a presmerovanie vstupov a výstupov na súbory a iné príkazy.
Niektoré základné užitočné príkazy
Už sme vám poskytli základné rozdelenie shell skriptov a príkladov na základe obrysu pre slučky, ale nezabudnite si tieto články skontrolovať, ak ste doposiaľ zmeškali našu sprievodcu skriptmi pre shell.
Príkazový riadok je skvelý z mnohých dôvodov a presmerovanie je jedným z najvýznamnejších. Ak ste museli vziať na vedomie a reprodukovať výstup každého príkazu, aby ste podnikli ďalšie kroky alebo použili to pre niečo iné, potom by sme sa už dávno zbláznili. Presmerovanie nám umožňuje použiť tento výstup a uložiť ho, alebo ho okamžite použiť ako vstup pre iný príkaz. Môžeme tiež použiť súbory ako vstupy pre iné príkazy.
Skôr ako budeme pokračovať, poďme sa zaoberať niektorými základnými príkazmi, ktoré môžu byť použiteľné na mnohých rôznych miestach.
echo - Tento príkaz jednoducho vytlačí( zobrazuje) celý argument na príkazovom riadku ako výstup
echo argument s medzerami
Ako vidíte, špeciálne znaky musia byť "uniknuté", aby boli normálne spracované.To sa deje pomocou spätného lomka( \) pred znakom. Je to lepší nápad použiť cenové ponuky. Príkaz echo funguje aj s premennými.
Ako vidíte, jednotlivé a dvojité citácie sa správajú inak. Ak chcete získať viac informácií, pozrite sa, aký je rozdiel medzi jednorazovými a dvojitými cenami v Bash Shell?
mačka - Tento príkaz zobrazuje obsah textových súborov ako výstup.
cat file_to_be_read
Povedzme, že vytvoríme tento textový súbor v nano:
Keď použijeme príkaz cat na súbor, môžeme vidieť jeho výstup.
grep - Toto je jeden z najsilnejších a najužitočnejších príkazov, ktoré máte k dispozícii v systéme Linux. Ide o globálny / regulárny výraz. Vyzerá cez súbor a vytlačí ľubovoľný riadok, ktorý zodpovedá určitému vzoru. Pretože tento vzor je založený na "regulárnom vyjadrení", stručná línia môže priniesť množstvo vzorov, ktoré sa majú zhodovať.Nie, ale môžete zadať ternu na vyhľadávanie.
grep vzor súboru
Uisťujem vás, grep môže robiť viac, ale teraz sa držme jednoduchšie veci.
Presmerovanie výstupov
Ak chcete presmerovať výstup príkazu do súboru, používame špeciálny znak, väčší ako symbol( & gt;).
Zmeňme náš zoznam hore, či nie? Zadajte nasledujúci príkaz:
echo pepperoni & gt;zoznam
Môžete vidieť, že ozvena už nezobrazuje riadok a keď sa pozrieme na obsah súboru "zoznam", vidíme, čo sme tam odzneli.
Taktiež berte na vedomie, že predchádzajúci obsah "zoznamu" bol odstránený.Vyskúšajte to znova:
Toto môže byť užitočné, ak chcete súbor opätovne použiť, ale často sa chceme pridať k existujúcemu súboru. Na tento účel používame dva po sebe idúce symboly:
echo yellow pappers & gt;zoznam
Ľahko! Použite tento príkaz na vytvorenie väčšieho zoznamu, či nie?
Tam ideme. Myslím, že môžete pochopiť, prečo toľko geekov používa príkazový riadok na zoznamy úloh a podobne, ale ešte lepšie.
Vychutnajte si výstup príkazu a vložte ho do súboru:
ls -al / & gt;~ / rootlist
Vytváranie zoznamov súborov, ich úpravy a následné spustenie príkazov na tých, ktoré chcete, nebolo nikdy jednoduchšie. A práve vtedy, keď robíme tieto základné funkcie v príkazovom riadku, fungujú to aj v skriptoch.
potrubia alebo reťazovanie
potrubia je takto pomenované, pretože používa potrubie,( |, zdieľané s \ key na väčšine klávesníc).V podstate trvá výstup jedného príkazu a priamo ho posiela do iného. Môžete vytvoriť dlhé reťazce príkazov, aby ste získali veľmi špecifický požadovaný výstup týmto spôsobom a je to veľmi výhodné pre príkazy ako grep.
Pôsobí ako "& gt;" s výnimkou toho, že môže byť viazaný niekoľkokrát a jeho účinok je všeobecnejší v tom, že nepotrebuje prejsť textový súbor.
Ako vidíte, grep sa rozlišuje veľké a malé písmená.Príznak "-i" môžete použiť, aby ste ignorovali prípad.
Presmerovanie vstupov
Môžete tiež prijímať vstupy zo súborov pre príkazy pomocou symbolu menej ako( & lt;).
cat "To nie je iné ako použitie argumentu!", Môžete povedať.No, v tomto prípade by ste boli správne. Kde presmerovanie vstupu naozaj príde vhod, je to v príkaze spojenia. Povedzme, že chceme filtrovať každé slovo, ktoré má "pep" v našom aktuálnom "zozname", do nového súboru s názvom "revisions". grep pep Opakujme tento príkaz a pridáme nejaké triedenie. grep pep Použije sa ako vyhľadávací výraz zo zoznamu vstupného súboru, usporiada ho v abecednom poradí( všetky veľké písmená budú nasledovať všetky malé výrazy) a potom sa do súboru "revisions". Ak chcete zobraziť príkaz triedenia, pozrite sa na nasledujúci príklad: Ako vidíte, pridanie príznaku "-f" príkazu sort umožňuje ignorovať prípad. To nám uľahčuje alfabetizovať riadky v textových súboroch a ignorovať veľké písmená, keď to nezáleží. Vytvorme si skript, ktorý má nasledujúcu podobu: skript searchterm listfile Bude trvať na termíne a použijete grep na vyhľadávanie v zozname súborov, triedenie výsledkov a ich výstup do iného súboru. Tu je adresár, ktorý budeme testovať skript v: A môžeme vytvoriť zoznam toho, čo tu a potom spustiť skript. Tu idete!Čím viac sa naučíte pravidlá regulárnych výrazov, tým lepšie môžete spojiť príkaz na vyhľadávanie. A všetko, čo je platné v úvodzovkách, môže nahradiť váš prvý argument! Čo sa týka triedenia, môžete robiť viac ako len triediť abecedne. Pozrite sa na manuálovú stránku pre niektoré z nasledujúcich príkazov: na niektorých ďalších základoch dnes, ktoré môžu byť rovnako užitočné na príkazovom riadku ako v skriptoch. Textové údaje sú často jadrom vecí, ktoré používame denne, takže s nimi môžeme pracovať, vyhľadávať ich a manipulovať s nimi. Aké sú vaše obľúbené skripty? Máte skripty na špeciálne použitie pre textové súbory? Zdieľajte to, čo poznáte v komentároch! Jednoduchý skript