Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

bash_úvod [2012/07/16 15:02]
Ubuntu vytvořeno
bash_úvod [2012/07/18 20:18] (aktuální)
Ubuntu
Řádek 1: Řádek 1:
-| | +====== ​Bash úvod ======
- +
-|{{.:​sipka.gif}} [[HlavníStránka| Hlavní stránka]]|{{.:​sipka.gif}} [[Příkazová řádka]]|{{.:​sipka.gif}} [[Bash a skripty]]|+
  
 Bash je součástí Linuxu a jeho používání Vám značně usnadní Vaši práci v Linuxu. Při programování v jazyce Bash Bash je součástí Linuxu a jeho používání Vám značně usnadní Vaši práci v Linuxu. Při programování v jazyce Bash
 vytváříte vlastní skripty, které pak vykonávají nějakou akci. Tyto skripty se dají psát v libovolném textovém editoru vytváříte vlastní skripty, které pak vykonávají nějakou akci. Tyto skripty se dají psát v libovolném textovém editoru
-linuxu, doporučuji používat [[Geany|Geany]]. Ve skriptu se používájí ​buď již Vámi vytvořené skripty nebo nástroje, které poskytuje přímo Linux.+Linuxu, doporučuji používat [[Geany|Geany]]. Ve skriptu se používají ​buď již Vámi vytvořené skriptynebo nástroje, které poskytuje přímo Linux.
  
 ====== Výstupy ====== ====== Výstupy ======
-{{.:​info.png}} Každý program nebo skript vypisuje výsledky konání na výstup. V linuxu ​rozlišujeme dva výstupy ''​stdout - standartní ​výstup''​ a ''​stderr - chybový výstup''​. Tyto výstupy jsou očíslovany ​''​1 standartní výstup''​ a ''​2 chybový výstup''​. Pokud nám program v konzoli vypíše svůj výstup, tak se může zdát že to vypisuje stále stejně. To ovšem není pravda, program ''​ls''​ v konzoli vypíše seznam souborů do standartního ​výstupu, ale program ''​strace ls''​ ho vypíše do chybového výstupu, nicméně v konzole se zobrazí oba stejně. Proto je potřeba si uvědomit s kterým výstupem pracujeme.+{{.:​info.png}} Každý program nebo skript vypisuje výsledky konání na výstup. V Linuxu ​rozlišujeme dva výstupy ''​stdout - standardní ​výstup''​ a ''​stderr - chybový výstup''​. Tyto výstupy jsou očíslovány ​''​1 standartní výstup''​ a ''​2 chybový výstup''​. Pokud nám program v konzoli vypíše svůj výstup, tak se může zdát že to vypisuje stále stejně. To ovšem není pravda, program ''​ls''​ v konzoli vypíše seznam souborů do standardního ​výstupu, ale program ''​strace ls''​ ho vypíše do chybového výstupu, nicméně v konzole se zobrazí oba stejně. Proto je potřeba si uvědomit s kterým výstupem pracujeme.
  
 ====== Přesměrování ====== ====== Přesměrování ======
 Každý výstup programu se dá také přesměrovat do souboru. Máme několik typů přesměrování:​\ ​ Každý výstup programu se dá také přesměrovat do souboru. Máme několik typů přesměrování:​\ ​
-  * **standartníVýstup > soubor** - standartní ​výstup programuje přesměruje do souboru. Pokud soubor neexistuje, tak se vytvoří a naplní daty, pokud existuje tak se přepíše novými daty.+  * **standartníVýstup > soubor** - standardní ​výstup programuje přesměruje do souboru. Pokud soubor neexistuje, tak se vytvoří a naplní daty, pokud existuje tak se přepíše novými daty.
   * **standartníVýstup >> soubor** - stejné jako v předchozím případě, ale pokud existuje soubor **nepřepíše** se, ale data jsou přidána na konec souboru   * **standartníVýstup >> soubor** - stejné jako v předchozím případě, ale pokud existuje soubor **nepřepíše** se, ale data jsou přidána na konec souboru
-  * **chybovýVýstup 2> soubor** totožné s předchozími body, ale do souboru se nahraje chybový výstup místo ​standartního +  * **chybovýVýstup 2> soubor** totožné s předchozími body, ale do souboru se nahraje chybový výstup místo ​standardního 
-  * **chybovýVýstup 2>> soubor** totožné s předchozími body, ale do souboru se nahraje chybový výstup místo ​standartního+  * **chybovýVýstup 2>> soubor** totožné s předchozími body, ale do souboru se nahraje chybový výstup místo ​standardního
   * kostrukce: **odkud** > **kam** nebo **kam** < **odkud**, neplést si s **rourou** !   * kostrukce: **odkud** > **kam** nebo **kam** < **odkud**, neplést si s **rourou** !
   * obdobně tedy fungují všechny příkazy pokud se použije **>** místo **<** a musí se samozřejmě prohodit strany   * obdobně tedy fungují všechny příkazy pokud se použije **>** místo **<** a musí se samozřejmě prohodit strany
Řádek 33: Řádek 31:
  
 ====== Roura ====== ====== Roura ======
-Roura je speciální typ souboru v linuxu. Slouží k **přesměrování výstupu jednoho programu na vstup druhého programu**. V linuxu ​se značí znakem ''​|''​.\ Roura implicitně přesměrovává **standartní ​výstup (1) na standartní ​vstup**.\ ​+Roura je speciální typ souboru v Linuxu. Slouží k **přesměrování výstupu jednoho programu na vstup druhého programu**. V Linuxu ​se značí znakem ''​|''​.\ Roura implicitně přesměrovává **standardní ​výstup (1) na standardní ​vstup**.\ ​
 Konstrukce: Konstrukce:
 <​code>​ <​code>​
Řádek 44: Řádek 42:
 ls | nl | wc -l ls | nl | wc -l
 </​code>​ </​code>​
-Pokud chceme přesměrovat **chybový výstup (2) na standartní ​vstup** použijeme následující konstrukci:+Pokud chceme přesměrovat **chybový výstup (2) na standardní ​vstup** použijeme následující konstrukci:
 <​code>​ <​code>​
 chybovýVýstup 2>&1 | standartníVstup chybovýVýstup 2>&1 | standartníVstup
Řádek 55: Řádek 53:
 </​code>​ </​code>​
 ====== Zacyklení / Program neodpovídá ====== ====== Zacyklení / Program neodpovídá ======
-{{.:​info.png}} Jakýkoliv program se může zacyklit (**neustále provádí výpočty a nikdy se neukončí**) nebo může dojít k jeho pádu a program pak neodpovídá. Pokud pracujeme v konzoli a zdá se nám že výpočet trvá příliš dlouho, můžeme jej usmrtit. K tomu v linuxu ​slouží klávesa **Ctrl+C**.+{{.:​info.png}} Jakýkoliv program se může zacyklit (**neustále provádí výpočty a nikdy se neukončí**) nebo může dojít k jeho pádu a program pak neodpovídá. Pokud pracujeme v konzoli a zdá se nám že výpočet trvá příliš dlouho, můžeme jej usmrtit. K tomu v Linuxu ​slouží klávesa **Ctrl+C**.
  
 ====== Spuštění programu na pozadí ====== ====== Spuštění programu na pozadí ======
-{{.:​info.png}} Pokud chcete ​spusti ​program na pozadí, tak se to provádí takto:​\ ​+{{.:​info.png}} Pokud chcete ​spustí ​program na pozadí, tak se to provádí takto:​\ ​
 <​code>​ <​code>​
 program & nebo ./program & program & nebo ./program &
Řádek 78: Řádek 76:
 <​code>​ <​code>​
 bfu@lynx:~$ bg 1 bfu@lynx:~$ bg 1
-</​code>​Nyní můžu zadávat další přikazy. Seznam všech příkazů si vypíšu příkazem ''​jobs'':​\ ​+</​code>​Nyní můžu zadávat další příkazy. Seznam všech příkazů si vypíšu příkazem ''​jobs'':​\ ​
 <​code>​ <​code>​
 bfu@lynx:~$ jobs bfu@lynx:~$ jobs
Řádek 122: Řádek 120:
 </​code>​ </​code>​
 ===== nl ===== ===== nl =====
-Očísluje ​standartní ​vstup a na standartní ​výstup vypíše výsledek.+Očísluje ​standardní ​vstup a na standardní ​výstup vypíše výsledek.
  
  
Řádek 137: Řádek 135:
 </​code>​ </​code>​
 ===== wc ===== ===== wc =====
-Vypíše počet znaků, slov a řádků ​standartního ​vstupu na standartní ​výstup. +Vypíše počet znaků, slov a řádků ​standardního ​vstupu na standardní ​výstup. 
-  * ''​wc -l''​ zobrazí počet řádků ​standartního ​vstupu +  * ''​wc -l''​ zobrazí počet řádků ​standardního ​vstupu 
-  * ''​wc''​ program sám o sobě vypíše tři čísla, které vypočítal ze standartního ​vstupu. Jedná se (zleva doprava) o počet řádků, počet slov, počet znaků.+  * ''​wc''​ program sám o sobě vypíše tři čísla, které vypočítal ze standardního ​vstupu. Jedná se (zleva doprava) o počet řádků, počet slov, počet znaků.
  
 Použití: Použití:
Řádek 170: Řádek 168:
 ===== date ===== ===== date =====
 Vypíše aktuální datum. Vypíše aktuální datum.
-  * ''​date '​+Datum:​ %d/​%m/​%Y%nCas:​ %H:​%M'''​ - předformátovaný výpis ​datumu. Pro význam zkratek viz ''​date --help''​+  * ''​date '​+Datum:​ %d/​%m/​%Y%nCas:​ %H:​%M'''​ - předformátovaný výpis ​data. Pro význam zkratek viz ''​date --help''​
  
 Použití: Použití:
Řádek 220: Řádek 218:
 ===== ps ===== ===== ps =====
 Zobrazí seznam spuštěných procesů. Zobrazí seznam spuštěných procesů.
-  * ''​ps''​ - zobrazí seznam procesů, které jsou aktálně spuštěny v terminálu+  * ''​ps''​ - zobrazí seznam procesů, které jsou aktuálně spuštěny v terminálu
   * ''​ps -A''​ - zobrazí seznam všech procesů běžících na počítači   * ''​ps -A''​ - zobrazí seznam všech procesů běžících na počítači
   * ''​ps -A > SeznamProcesu.txt''​ - uloží seznam všech procesů běžících na počítači do textového souboru   * ''​ps -A > SeznamProcesu.txt''​ - uloží seznam všech procesů běžících na počítači do textového souboru
Řádek 237: Řádek 235:
 </​code>​ </​code>​
 ===== Textové editory ===== ===== Textové editory =====
-Pro zpracování textu má linux tři výborné programy:+Pro zpracování textu má Linux tři výborné programy:
   * [[Grep]] - vybírá řádek podle zadané předlohy   * [[Grep]] - vybírá řádek podle zadané předlohy
-  * [[Sed]] - zpracování souborů a standartního ​výstupu+  * [[Sed]] - zpracování souborů a standardního ​výstupu
   * [[Awk]] - obdobně jako Sed, ale má víc možností   * [[Awk]] - obdobně jako Sed, ale má víc možností
  
 ====== Shrnutí ====== ====== Shrnutí ======
-Tento návod co jsem napsal tak doufám že Vám pomůže v začátcích používání konzole. Není úplný, protože celkový počet programů či nástrojů co nabízí linux je spoustu a jejich celkové rozebrání by zabralo spoustu času. Nejlépe se s těmito nástroji naučíte dělat až při psaní vlastních skriptů. Doporučuji Vám projít celou kategorii [[Bash a skripty]], hlavně pak část s skriptami ​a to Vás naučí příkazovou řádku perfektně ovládat a psát vlastní užitečné skripty. Hodně zdaru při zkoušení a programování přeje Roman Makudera.+Tento návod co jsem napsal tak doufám že Vám pomůže v začátcích používání konzole. Není úplný, protože celkový počet programů či nástrojů co nabízí linux je spoustu a jejich celkové rozebrání by zabralo spoustu času. Nejlépe se s těmito nástroji naučíte dělat až při psaní vlastních skriptů. Doporučuji Vám projít celou kategorii [[Bash a skripty]], hlavně pak část s skripty ​a to Vás naučí příkazovou řádku perfektně ovládat a psát vlastní užitečné skripty. Hodně zdaru při zkoušení a programování přeje Roman Makudera.
  
 ====== Odkazy ====== ====== Odkazy ======
-  * Autor návodu: RomanMakudera 
  
  
  • Poslední úprava: 2012/07/18 20:18
  • autor: Ubuntu