Úvod do BASH

Čo je Bash (Bourne Again SHell) ?

Odpoveď by mohla byť: shell dostupný v Linuxe a nie je len výborným príkazovým riadkom ale zároveň plnohodnotný skriptovací jazyk.

V jednotlivých článkoch sa budem snažiť vytvoriť sprievodcu BASHom, teda prostredím ktoré veľmi veľa užívateľov linuxu neznáša alebo mu vôbec nerozumie.

 

Kde sa ten Bash nachádza? Ako sa k nemu dostanem? Ako ho spustím?

  • Jeden zo spôsobov sú virtuálne konzoly, ktoré ticho bežia v pozadí paralelne s naším systémom. Štandardne ich v Ubuntu beží až 6 .. môžeme si ich prepnúť [Ctrl + Alt + F1] ... [Ctrl + Alt + F6]. Do nášho grafického prostredia sa vrátime [Ctrl + Alt + F7]. Keď už sme v textovej konzole pri prechode medzi jednotlivými obrazovkami už [ctrl] nemusíme držať. Aj do textovej konzoly sa musíme prihlásiť. Po zadaní mena , hesla a stlačení [enter] sa nám spustí Bash.
  • Ďalší spôsob je pripojiť sa cez emulátor terminálu priamo v grafickom prostredí. K tomu slúži napríklad. xterm, Konsole (KDE), alebo gnome-terminal (GNOME). Po spustení mame hneď Bash. Prihlasovať sa nemusíme lebo sme sa už prihlásili do správcu okien. 
  • Najčastejšie využívané pripojenie je po sieti. Aj pri vzdialenom pripojení sa bude overovať totožnosť.

Základné pojmy

Prvé čím sa nám Bash ohlasí, je niekoľko znakov na začiatku riadku, za ktorými stojí kurzor. Nazývame to anglickým slovom prompt. Štruktúra pred kurzorom sa dá meniť na požiadanie užívateľa. Môžu tam byť rôzne informácie napr: meno počítača, aktuálny adresár, čas , .... 

Keď sa zobrazí Prompt a kurzor bliká je možne zadávať príkazy, ale ak kurzor stojí na začiatku riadku, interpret zrejme vykonáva príkazy. Ak ho potrebujeme násilne ukončiť urobíme to klávesami [Ctrl+c].



To čo zadáme na riadok ako prvé je chápane ako príkaz. Interné príkazy sú také, ktoré sú súčasťou shellu a ten ich pred vykonaním nemusí čítať z disku napr: pwd,  ....Ak neodpovedá náš zadaný príkaz žiadnemu internému, začne Bash hľadať spustiteľný súbor (program) na disku. Napríklad externého príkazu je ls, ktorý vypisuje obsah aktuálneho/zadaného adresára. Príkazy sa dajú použiť samostatne ale väčšina vyžaduje parametre.

 

Manuál a nápoveda

Nápoveda je jednoduchý popis jednotlivých argumentov príkazu. Vyvoláme ju príkazom --help. Zadáme príkaz touch --help získame nápovedu k tomuto príkazu.

 

V prvom riadku vidíme správny postup zápisu príkazu (syntax)

     napr: Usage: touch [OPTION]... FILE... ,

     touch - názov príkazu,

     [OPTION] - volby v hranatých zatvorkach nie sú povinné,

     ... - znamena že volieb môže byť viac

     FILE - povinný súbor ktorého sa chceme "dotknúť"

     ... - súborov môže byť zadaných súčasne viac, musia byť oddelene medzerou

V druhom riadku je stručný popis príkazu.

Posledná časť nápovedy obsahuje popis jednotlivých volieb.

 

Na výpis helpu po stránkach použijeme ls -- help | more.

 

Manuál  - vyvoláme ho pomocou príkazu man. Je to asi najpoužívanejší program v BASHe. K jednotlivým príkazom nájdeme podrobné manuálové stránky, ktoré vyvoláme man príkaz. napr: man touch.

 

V položke NAME vidíme jednoduchý popis príkazu.

Nasleduje SYNOPSIS kde je podrobná syntax príkazu. (pis jednotlivých častí je vysvetleny vyššie v nápovede platí to iste). Ak sú možností odelené zvislou čiarou | znamená to, že si môžeme vybrať len jednu z ponuknutých možnosti. 

Napr: [--color[={yes,no,tty}]] znamená, že môžeme použiť paramater --color, a to sám alebo so znakom =. Ale ak už pridáme =, musíme pokračovať s jedným zo slov yes, no, tty.

V ďalšej časti manuálových stránok je podrobný popis daného programu. Túto časť je veľmi dobrá na zistenie informácií ohľadom jednotlivých príkazov. Niekedy tu bývajú odkazy na inú dokumentáciu ku skúmanému problému.

Na konci stránok vidíme informácie o autorovi, kam reportovať chyby ak sa nejake vyskytnú atď

 

Pri čítaní manuálových stránok vidíme v dolnom riadku blok s textom ako --more-- alebo "Line 1". Znamená to, že k danému príkazu existuje viacej informácií.

 

Man nám zobrazí prvú stránku ak chceme pokračovať ďalej stlačíme <spacebar> a zobrazí sa nasledovná stránka. Ďalej sa môžeme pohybovať [šípkami], klávesami [PgUp] a [PgDn] sa posúvame po stránkach. Fungujú tu aj ďalšie klávesy tie môže získať pomocou [h].Na začiatok prejdeme pomocou  [gg].  Manuál ukončujeme pomocou klávesy [q].

 

Manuál k manuálu vyvoláme pomocou príkazu man man. Veľmi často používam man -k hľadané slovo, čiže chcem nájsť nejaký editor ale vôbec neviem ako sa volá zadám man -k editor  dostanem výpis všetkých editorov aj s krátkym popisom.

To isté môžeme urobiť aj pomocou príkazu apropos editor - hľadá v manuálových stránkach názov programu editor a tiež v poznámke slovo editor. Všetky nájdene vypíše.

 

 

Na záver

Na záver by som rád spomenul ako sa správne z Bashu odhlásime. Môžeme použiť jeden z príkazov logout a exit. Alebo ich nahradiť kombináciou kláves [Ctrl + d].

 

Poznámky

  • Linux a unix je rozlišuje malé a veľké písmená, čo znamená, že písmeno d je iné ako D.
  • všetky príkazy som testoval v ubuntu 9.04, ktorý bol predvolene nastavený.

Literatúra

výborným zdrojom informacií sú samotné manualové stránky man bash