Uživatelské nástroje

Nástroje pro tento web


znaky-a-vyrazy

Rozdíly

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

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
znaky-a-vyrazy [2019/04/10 09:24]
Miroslav Bernát
znaky-a-vyrazy [2019/10/08 00:35] (aktuální)
Miroslav Bernát
Řádek 3: Řádek 3:
 ^ SPECIÁLNÍ ZNAKY (metaznaky) ^ mají zvláštní význam, interpretem je shell ^ ^ SPECIÁLNÍ ZNAKY (metaznaky) ^ mají zvláštní význam, interpretem je shell ^
 | **$** | dolar\\ prompt (výzva), vyjadřuje připravenost shellu k přijetí příkazu (výchozí označení pro běžného uživatele) | | **$** | dolar\\ prompt (výzva), vyjadřuje připravenost shellu k přijetí příkazu (výchozí označení pro běžného uživatele) |
-| **#** | křížek\\ 1) prompt (výzva), vyjadřuje připravenost shellu k přijetí příkazu (výchozí označení pro uživatele root)\\ 2) komentář v konfiguračních souborech či skriptech (každé slovo uvedené po tomto znaku je systémem ignorováno,​ výjimkou je „#!“ (sha-bang) na začátku skriptu následovaný absolutní cestou k shellu nebo programu určenému pro spuštění souboru) |+| **#** | křížek\\ 1) prompt (výzva), vyjadřuje připravenost shellu k přijetí příkazu (výchozí označení pro uživatele root)\\ 2) komentář v konfiguračních souborech či skriptech (každé slovo uvedené po tomto znaku je systémem ignorováno,​ výjimkou je „#!“ (shebang) na začátku skriptu následovaný absolutní cestou k shellu nebo programu určenému pro spuštění souboru) |
 | **\** | zpětné lomítko (na konci řádku), značí zalomení řádku příkazu | | **\** | zpětné lomítko (na konci řádku), značí zalomení řádku příkazu |
 | **>** | znaménko „větší než“ – $PS2 (na začátku řádku), značí pokračování řádku příkazu | | **>** | znaménko „větší než“ – $PS2 (na začátku řádku), značí pokračování řádku příkazu |
Řádek 22: Řádek 22:
 | **$**<​promenna>​ / **${**<​promenna>​**}** | hodnota proměnné\\ ''​$ echo $xy''​\\ ''​den''​\\ ''​$ echo je novy ty$xy''​ / ''​echo "je novy ty$xy"''​\\ ''​je novy tyden''​\\ ''​$ echo "​ty${xy}ni dovolena"''​\\ ''​tydenni dovolena''​\\ (za proměnnou musí být mezera, jinak je třeba ji uzavřít do složených závorek)\\ ''​$ echo $pracovni_adresar''​\\ ''/​home/​root''​\\ ''​$ echo $SHELL''​\\ (vypíše přihlašovací shell přihlášeného uživatele)\\ ''​$ echo $TERM''​\\ (vypíše typ terminálu; seznam terminálů je uveden v ///​usr/​share/​terminfo//​) | | **$**<​promenna>​ / **${**<​promenna>​**}** | hodnota proměnné\\ ''​$ echo $xy''​\\ ''​den''​\\ ''​$ echo je novy ty$xy''​ / ''​echo "je novy ty$xy"''​\\ ''​je novy tyden''​\\ ''​$ echo "​ty${xy}ni dovolena"''​\\ ''​tydenni dovolena''​\\ (za proměnnou musí být mezera, jinak je třeba ji uzavřít do složených závorek)\\ ''​$ echo $pracovni_adresar''​\\ ''/​home/​root''​\\ ''​$ echo $SHELL''​\\ (vypíše přihlašovací shell přihlášeného uživatele)\\ ''​$ echo $TERM''​\\ (vypíše typ terminálu; seznam terminálů je uveden v ///​usr/​share/​terminfo//​) |
 | **${#​**<​promenna>​**}** | délka proměnné (počet znaků) | | **${#​**<​promenna>​**}** | délka proměnné (počet znaků) |
-| **Poziční parametry:​** | **číselné parametry uvnitř ​shellového ​skriptu ​reprezentující ​obsah argumentů ​zadaných ​na příkazovém řádku v daném pořadí** |+| **Poziční parametry:​** | **číselné parametry uvnitř ​shellovém ​skriptu ​představující ​obsah argumentů ​předaných skriptu ​na příkazovém řádku v daném pořadí** |
 | **$**<​n>​ / **${**<​n>​**}** | hodnota číselného parametru\\ ''​$ ./zaloha.sh /​media/​disk-1''​\\ (určí zařízení,​ kam se záloha provede; ve skriptu je uvedeno např. „target_dir="​$1"​”) | | **$**<​n>​ / **${**<​n>​**}** | hodnota číselného parametru\\ ''​$ ./zaloha.sh /​media/​disk-1''​\\ (určí zařízení,​ kam se záloha provede; ve skriptu je uvedeno např. „target_dir="​$1"​”) |
 | **Zvláštní parametry:​** | **parametry,​ jejichž obsah lze pouze číst** | | **Zvláštní parametry:​** | **parametry,​ jejichž obsah lze pouze číst** |
-| **$**<​parametr>​ / **${**<​parametr>​**}** | hodnota zvláštního parametru\\ **$#** uvnitř skriptu ​reprezentuje ​počet ​zadaných pozičních parametrů, **$*** či **$@** uvnitř skriptu ​reprezentuje ​všechny ​zadané poziční parametry, **$0** uvnitř skriptu ​reprezentuje ​jméno shellového skriptu, na příkazovém řádku ​reprezentuje  ​jméno současného shellu, **$$** ​reprezentuje ​PID současného shellu, **$?​** ​reprezentuje ​návratový kód předchozího procesu spuštěného na popředí, **$!** ​reprezentuje ​PID posledního procesu spuštěného na pozadí |+| **$**<​parametr>​ / **${**<​parametr>​**}** | hodnota zvláštního parametru\\ **$#** uvnitř skriptu ​představuje celkový ​počet ​argumentů předaných skriptu na příkazovém řádku, **$*** či **$@** uvnitř skriptu ​představuje ​všechny ​argumenty předané skriptu na příkazovém řádku (při použití „$*“ jsou všechny argumenty považovány za jediné slovo, zatímco při použití „$@“ je každý argument považován za samostatné slovo), **$0** uvnitř skriptu ​představuje ​jméno shellového skriptu, na příkazovém řádku ​představuje ​jméno současného shellu, **$$** ​představuje ​PID současného shellu, **$?​** ​představuje ​návratový kód předchozího procesu spuštěného na popředí, **$!** ​představuje ​PID posledního procesu spuštěného na pozadí |
 | **ZNAKY PŘESMĚROVÁNÍ** | **přesměrují standardní vstup / výstup / chybový výstup příkazu** | | **ZNAKY PŘESMĚROVÁNÍ** | **přesměrují standardní vstup / výstup / chybový výstup příkazu** |
 | **<** / **0<** | přesměrování standardního vstupu (STDIN / souborový popisovač 0)\\ ''​$ mail tom@atlas.cz < seznam.txt''​ | | **<** / **0<** | přesměrování standardního vstupu (STDIN / souborový popisovač 0)\\ ''​$ mail tom@atlas.cz < seznam.txt''​ |
Řádek 31: Řádek 31:
 | **2>** | přesměrování chybového výstupu (STDERR / souborový popisovač 2)\\ ''​$ cat soubor1 soubor2 > soubor3 2> /​dev/​null''​\\ (chybový výstup příkazu se zahodi)\\ ''​$ make all 2> /​dev/​pts/​3''​\\ (chybový výstup zobrazí v jiném terminálu) | | **2>** | přesměrování chybového výstupu (STDERR / souborový popisovač 2)\\ ''​$ cat soubor1 soubor2 > soubor3 2> /​dev/​null''​\\ (chybový výstup příkazu se zahodi)\\ ''​$ make all 2> /​dev/​pts/​3''​\\ (chybový výstup zobrazí v jiném terminálu) |
 | **2>&​1** | přesměrování chybového výstupu na standardní výstup (záleží však na pořadí přesměrování STDOUT)\\ ''​$ ls sb1 sb2 > sb3 2>&​1''​ / ''​ls sb1 sb2 &> sb3''​\\ (STDOUT i STDERR se zapíše pouze do sb3)\\ ''​$ ls soub1 soub2 2>&1 > soub3''​\\ (STDERR vypíše na obrazovku a STDOUT do soub3)\\ ''​$ make all 2>&1 | less''​\\ (vhodné pokud proces vypisuje více chybových hlášení) | | **2>&​1** | přesměrování chybového výstupu na standardní výstup (záleží však na pořadí přesměrování STDOUT)\\ ''​$ ls sb1 sb2 > sb3 2>&​1''​ / ''​ls sb1 sb2 &> sb3''​\\ (STDOUT i STDERR se zapíše pouze do sb3)\\ ''​$ ls soub1 soub2 2>&1 > soub3''​\\ (STDERR vypíše na obrazovku a STDOUT do soub3)\\ ''​$ make all 2>&1 | less''​\\ (vhodné pokud proces vypisuje více chybových hlášení) |
 +| **&>​** | přesměrování standardního a chybového výstupu\\ ''#​ yum install -y libstdc++.x86_64 &> /​dev/​null''​ |
 | **>>​** | přesměrování standardního výstupu na konec souboru\\ ''​$ tail /​var/​log/​messages >> logs.txt''​\\ (výstup příkazu přidá na konec daného souboru, pokud neexistuje, vytvoří ho) | | **>>​** | přesměrování standardního výstupu na konec souboru\\ ''​$ tail /​var/​log/​messages >> logs.txt''​\\ (výstup příkazu přidá na konec daného souboru, pokud neexistuje, vytvoří ho) |
 | **2>>​** | přesměrování chybového výstupu na konec souboru\\ ''#​ fsck /dev/sda1 2>> error''​ | | **2>>​** | přesměrování chybového výstupu na konec souboru\\ ''#​ fsck /dev/sda1 2>> error''​ |
Řádek 37: Řádek 38:
 | **ZÁSTUPNÉ ZNAKY** | **slouží pro specifikaci jmen souborů** | | **ZÁSTUPNÉ ZNAKY** | **slouží pro specifikaci jmen souborů** |
 | ***** | hvězdička,​ zastupuje ​ libovolný počet jakýchkoliv znaků včetně mezery, kromě výrazů začínajících tečkou\\ ''#​ rm -Rf /​*''​\\ (smaže celý systém)\\ ''​$ ls *' '​*''​\\ (vypíše z aktuálního adresáře soubory obsahující mezeru v názvu) | | ***** | hvězdička,​ zastupuje ​ libovolný počet jakýchkoliv znaků včetně mezery, kromě výrazů začínajících tečkou\\ ''#​ rm -Rf /​*''​\\ (smaže celý systém)\\ ''​$ ls *' '​*''​\\ (vypíše z aktuálního adresáře soubory obsahující mezeru v názvu) |
-| **?** | otazník, zastupuje právě jeden libovolný znak včetně mezery, kromě výrazů začínajících tečkou\\ ''#​ find / -name "​*.19??"''​\\ (najde všechny soubory s příponou „.19xx“) |+| **?** | otazník, zastupuje právě jeden libovolný znak včetně mezery, kromě výrazů začínajících tečkou\\ ''#​ find / -name "​*.19??"''​\\ (najde všechny soubory s příponou „.19xx“)\\ ''#​ find / -name "???​*"''​\\ (najde všechny soubory, jejichž název obsahuje alespoň 3 znaky) |
 | **[**...**]** | hranaté závorky, definují právě jeden z uvedených znaků, jenž má či nemá daný výraz obsahovat; pro označení intervalu znaků se užívá „-“ (např. [A-Z], [a-z] nebo [0-9]), pro negaci výčtu znaků slouží „!“ nebo „%%^%%“ na začátku posloupnosti\\ ''​$ ls -l text_[ab].txt''​\\ (vypíše údaje o souborech „text_a.txt” a „text_b.txt”)\\ ''​$ ls -l text_*[ab]*.txt''​\\ (vypíše soubory obsahující v názvu kombinaci daných znaků)\\ ''​$ rm -f .[!.]*''​\\ (smaže všechny skryté soubory v aktuálním adresáři) | | **[**...**]** | hranaté závorky, definují právě jeden z uvedených znaků, jenž má či nemá daný výraz obsahovat; pro označení intervalu znaků se užívá „-“ (např. [A-Z], [a-z] nebo [0-9]), pro negaci výčtu znaků slouží „!“ nebo „%%^%%“ na začátku posloupnosti\\ ''​$ ls -l text_[ab].txt''​\\ (vypíše údaje o souborech „text_a.txt” a „text_b.txt”)\\ ''​$ ls -l text_*[ab]*.txt''​\\ (vypíše soubory obsahující v názvu kombinaci daných znaků)\\ ''​$ rm -f .[!.]*''​\\ (smaže všechny skryté soubory v aktuálním adresáři) |
 | **ZNAKY VÝLUKY** | **potlačují význam speciálních znaků** | | **ZNAKY VÝLUKY** | **potlačují význam speciálních znaků** |
Řádek 51: Řádek 52:
 | **%%|%%** | roura, znamená „nebo“, odděluje hledané výrazy | | **%%|%%** | roura, znamená „nebo“, odděluje hledané výrazy |
 | **\** | zpětné lomítko, snižuje význam následujícího speciálního znaku | | **\** | zpětné lomítko, snižuje význam následujícího speciálního znaku |
 +| **%%[[:​alpha:​]]%%** / **[a-zA-Z]** | alfabetické výrazy |
 +| **%%[[:​lower:​]]%%** | malá písmena |
 +| **%%[[:​upper:​]]%%** | velká písmena |
 +| **%%[[:​digit:​]]%%** / **[0-9]** | numerické výrazy |
 +| **%%[[:​alnum:​]]%%** / **[0-9a-zA-Z]** | alfanumerické výrazy |
 +| **%%[[:​punct:​]]%%** | interpunkční znaménka |
 +| **%%[[:​print:​]]%%** | tisknutelné výrazy |
 +| **%%[[:​blank:​]]%%** | mezera nebo tabulátor |
 | **Poziční znaky:** | **definují pozici výrazu** | | **Poziční znaky:** | **definují pozici výrazu** |
 | **^** | stříška, značí začátek řádku | | **^** | stříška, značí začátek řádku |
 | **$** | dolar, značí konec řádku | | **$** | dolar, značí konec řádku |
-| **\<​**...**\>​** | potlačené lomené závorky, definují ​daný řetězec |+| **\<​**...**\>​** | potlačené lomené závorky, definují řetězec, který není obklopen písmenem, číslicí nebo podtržítkem ​|
 | **Kvantifikátory:​** | **uvádí počet opakování předchozího výrazu** | | **Kvantifikátory:​** | **uvádí počet opakování předchozího výrazu** |
 | **?** | otazník, min. 0krát, max. 1krát | | **?** | otazník, min. 0krát, max. 1krát |
Poslední úprava: 2019/04/10 09:24 autor: Miroslav Bernát

počet návštěv: