Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
| navody:fc6prompt [2006/12/22 20:16] – macky | navody:fc6prompt [2022/11/14 11:25] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 19: | Řádek 19: | ||
| S pojmem příkaz je velice často spojován pojem přepínač. Přepínač lze chápat jako fakultativní parametr, který modifikuje chování příkazu. Jednotlivé přepínače lze velice často mezi sebou kombinovat. Např. v případě příkazu '' | S pojmem příkaz je velice často spojován pojem přepínač. Přepínač lze chápat jako fakultativní parametr, který modifikuje chování příkazu. Jednotlivé přepínače lze velice často mezi sebou kombinovat. Např. v případě příkazu '' | ||
| - | |||
| - | Příkazový řádek otevřete v grafickém prostředí //Gnome// pomocí nabídky //Aplikace -> Příslušenství -> Terminál// | ||
| **Poznámka: | **Poznámka: | ||
| + | |||
| + | ==== Terminál ==== | ||
| + | Příkazový řádek otevřete v grafickém prostředí //Gnome// pomocí nabídky //Aplikace -> Příslušenství -> Terminál// | ||
| + | V historii zadaných příkazů můžete listovat pomocí šipky nahoru a dolů. Dále je možné automaticky doplňovat názvy souborů a adresářů pomocí klávesy tabelator (stačí napsat část názvu souboru nebo adresáře a stisknout klávesu tabelatoru).\\ | ||
| + | Chcete-li zamezit pípání terminálu, klikněte v okně terminálu na //Upravit -> Aktuální profil...// a odškrtněte položku //pípání terminálu// | ||
| + | Chcete-li terminál otevřít pomocí nabídky, kterou získáte poklepáním na plochu, zadejte do příkazové řádky | ||
| + | |||
| + | yum -y install nautilus-open-terminal | ||
| + | |||
| + | Terminál pak otevřete kliknutím pravého tlačítka myši a výběrem //Otevřít terminál// z předložené nabídky. | ||
| ==== Obecné informace === | ==== Obecné informace === | ||
| Řádek 771: | Řádek 779: | ||
| ps aux | grep macky | ps aux | grep macky | ||
| + | |||
| + | === top === | ||
| + | |||
| + | Dalším z příkazů, který souvisí s procesy, se tzv. '' | ||
| + | |||
| + | top | ||
| === kill === | === kill === | ||
| Řádek 784: | Řádek 798: | ||
| **Poznámka: | **Poznámka: | ||
| + | |||
| + | === nice a renice === | ||
| + | Systémové prostředky (např. procesorový čas a paměť) jsou " | ||
| + | |||
| + | Pomocí příkazů '' | ||
| + | |||
| + | Běžný uživatel může " | ||
| + | |||
| + | Pomocí příkazu '' | ||
| + | |||
| + | nice -n 5 / | ||
| + | |||
| + | Prioritu již spuštěného přikazu lze změnit pomocí '' | ||
| + | |||
| + | renice 10 pid_procesu | ||
| + | |||
| + | Hodnotu //PID// daného procesu lze získat např. pomocí '' | ||
| + | |||
| + | **Poznámka: | ||
| ==== Matematika z příkazové řádky ==== | ==== Matematika z příkazové řádky ==== | ||
| Řádek 789: | Řádek 822: | ||
| === Proměnné === | === Proměnné === | ||
| - | Proměnné v // | + | Proměnné v unixových |
| Proměnná se vytvoří specifikací jejího jména a přiřazením hodnoty a není ji tak potřeba před použitím deklarovat. Jméno proměnné musí vždy začínat písmenem. | Proměnná se vytvoří specifikací jejího jména a přiřazením hodnoty a není ji tak potřeba před použitím deklarovat. Jméno proměnné musí vždy začínat písmenem. | ||
| K hodnotám uloženým v proměnné se přistupuje pomocí znaku dolar '' | K hodnotám uloženým v proměnné se přistupuje pomocí znaku dolar '' | ||
| Řádek 811: | Řádek 844: | ||
| echo " | echo " | ||
| - | Příkaz '' | + | Hodnotu proměnné je možné zadávat také interaktivně. K tomuto účelu slouží příkaz '' |
| read x | read x | ||
| Řádek 826: | Řádek 859: | ||
| echo `expr 1 '<' | echo `expr 1 '<' | ||
| + | 1 | ||
| + | | ||
| + | echo `expr 1 '>' | ||
| + | 0 | ||
| + | | ||
| echo `expr 5 ' | echo `expr 5 ' | ||
| + | 1 | ||
| + | | ||
| echo `expr 1 '&' | echo `expr 1 '&' | ||
| + | 0 | ||
| | | ||
| x = `expr 1 ' | x = `expr 1 ' | ||
| echo $x | echo $x | ||
| + | 7 | ||
| - | **Poznámka: | + | **Poznámka: |
| x=1 | x=1 | ||
| - | y=$a+1 | + | y=$x+1 |
| echo $y | echo $y | ||
| 1+1 | 1+1 | ||
| x=1 | x=1 | ||
| - | y=`expr $a+1` | + | y=`expr $x+1` |
| echo $y | echo $y | ||
| 2 | 2 | ||
| - | |||
| - | |||
| Příkaz '' | Příkaz '' | ||
| Řádek 860: | Řádek 900: | ||
| echo `expr index " | echo `expr index " | ||
| 2 | 2 | ||
| + | | ||
| echo `expr index " | echo `expr index " | ||
| 0 | 0 | ||
| Řádek 900: | Řádek 941: | ||
| Dle výše uvedeného výpisu je k dispozici pouze jedna tiskárna, která se jmenuje '' | Dle výše uvedeného výpisu je k dispozici pouze jedna tiskárna, která se jmenuje '' | ||
| - | Seznam úloh, které se momentálně nachází v tiskové frontě získáte pomocí | + | Seznam úloh, které se momentálně nachází v tiskové frontě získáte pomocí |
| lpq | lpq | ||
| Řádek 906: | Řádek 947: | ||
| Rank Owner Job File(s) | Rank Owner Job File(s) | ||
| 1st | 1st | ||
| - | |||
| - | popř. | ||
| lpq -Pjmeno_tiskarny | lpq -Pjmeno_tiskarny | ||
| Řádek 979: | Řádek 1018: | ||
| ==== Programování ==== | ==== Programování ==== | ||
| - | Shell je možné použít jako programovací jazyk. Není sice tak všestranný jako např. Java nebo C++, ale přesto je možné s jeho využitím řešit řadu problémů. Následující kapitola předpokládá znalost základních příkazů a představuje tak zakončení této kapitoly. | + | //Shell// je možné použít jako programovací jazyk. Není sice tak všestranný jako např. |
| === Skript === | === Skript === | ||
| - | V souvislosti s shellem | + | V souvislosti s // |
| === Argumenty předávané skriptu === | === Argumenty předávané skriptu === | ||
| - | Skriptu je možné předávat hodnoty pomocí argumentů. K tomu slouží deset tzv. pozičních parametrů, které odpovídají speciálním // | + | Skriptu je možné předávat hodnoty pomocí argumentů. K tomu slouží deset tzv. pozičních parametrů, které odpovídají speciálním // |
| Vytvořte následující soubor, který pojmenujte součet. | Vytvořte následující soubor, který pojmenujte součet. | ||
| Řádek 1013: | Řádek 1052: | ||
| Jedna se o nasledujici parametry: | Jedna se o nasledujici parametry: | ||
| - | **Poznámka: | + | **Poznámka: |
| === Příkazy větvení === | === Příkazy větvení === | ||
| Řádek 1042: | Řádek 1081: | ||
| prikazy | prikazy | ||
| fi | fi | ||
| - | + | Výraz '' | |
| - | **Poznámka: | + | |
| # ilustracni priklad | # ilustracni priklad | ||
| Řádek 1053: | Řádek 1091: | ||
| fi | fi | ||
| exit | exit | ||
| + | | ||
| + | ./skript | ||
| + | pravda | ||
| + | |||
| + | # ilustracni priklad | ||
| + | if x=`expr 1 ' | ||
| + | then | ||
| + | echo " | ||
| + | else | ||
| + | echo " | ||
| + | fi | ||
| + | exit | ||
| + | | ||
| + | ./skript | ||
| + | expr: non-numeric argument | ||
| + | nepravda | ||
| + | |||
| + | Jestliže chcete, aby výraz '' | ||
| + | |||
| + | # ilustracni priklad | ||
| + | if test 0 -le 1 | ||
| + | then | ||
| + | echo " | ||
| + | else | ||
| + | echo " | ||
| + | fi | ||
| + | exit | ||
| + | | ||
| + | ./skript | ||
| + | pravda | ||
| + | |||
| + | # ilustracni priklad | ||
| + | if test 2 -le 1 | ||
| + | then | ||
| + | echo " | ||
| + | else | ||
| + | echo " | ||
| + | fi | ||
| + | exit | ||
| + | | ||
| + | ./skript | ||
| + | nepravda | ||
| + | |||
| + | Vedle operátoru '' | ||
| + | |||
| + | ^ Operátor ^ Význam ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | Dále je možné používat také speciální " | ||
| + | |||
| + | # ilustracni priklad | ||
| + | if test -f " | ||
| + | then | ||
| + | echo " | ||
| + | else | ||
| + | echo " | ||
| + | fi | ||
| + | exit | ||
| + | |||
| + | Následující tabulka představuje kompletní seznam těchto speciálních přepínačů. | ||
| + | |||
| + | ^ Operátor ^ Význam ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| == case == | == case == | ||
| Řádek 1077: | Řádek 1189: | ||
| Neznamy operator! | Neznamy operator! | ||
| - | Výše uvedený skript vyžaduje tři parametry. Skript podle hodnoty druhého | + | Výše uvedený skript vyžaduje tři parametry. Skript podle hodnoty druhého |
| == Konstruktory && a || == | == Konstruktory && a || == | ||
| Řádek 1083: | Řádek 1195: | ||
| Konstruktory ''&&'' | Konstruktory ''&&'' | ||
| - | Konstruktor ''&&'' | + | Konstruktor ''&&'' |
| uname | grep Linux i686 && echo " | uname | grep Linux i686 && echo " | ||
| Řádek 1097: | Řádek 1209: | ||
| Příkaz '' | Příkaz '' | ||
| - | Následující syntaxe způsobí, že cyklus proběhne tolikrát, kolik je zadáno parametrů, přičemž proměnná '' | + | Následující syntaxe způsobí, že cyklus proběhne tolikrát, kolik je zadáno parametrů, přičemž proměnná '' |
| + | # ilustracni priklad | ||
| for x | for x | ||
| do | do | ||
| - | | + | |
| done | done | ||
| + | | ||
| + | ./skript 1 2 3 | ||
| + | Parametr: 1 | ||
| + | Parametr: 2 | ||
| + | Parametr: 3 | ||
| Níže uvedený cyklus proběhne tolikrát, kolik je uvedeno hodnot za klíčovým slovem '' | Níže uvedený cyklus proběhne tolikrát, kolik je uvedeno hodnot za klíčovým slovem '' | ||
| - | for x in hodnota1 hodnota2 ... | + | |
| + | | ||
| do | do | ||
| - | | + | |
| done | done | ||
| Řádek 1119: | Řádek 1238: | ||
| prikazy | prikazy | ||
| done | done | ||
| - | |||
| Ve výrazu '' | Ve výrazu '' | ||
| Řádek 1166: | Řádek 1284: | ||
| == Přerušení cyklu == | == Přerušení cyklu == | ||
| - | K přerušení cyklu slouží příkazy '' | + | K přerušení cyklu slouží příkazy '' |
| Příkaz '' | Příkaz '' | ||
| Řádek 1174: | Řádek 1293: | ||
| do | do | ||
| case $x in | case $x in | ||
| - | [0-9]) echo $x "je ciselny parametr." | + | [0-9]) echo $x "je ciselny parametr." |
| - | *) echo $x "neni ciselny parametr!" | + | |
| esac | esac | ||
| done | done | ||
| Řádek 1198: | Řádek 1317: | ||
| do | do | ||
| case $x in | case $x in | ||
| - | [0-9]) echo $x "je ciselny parametr." | + | |
| - | *) echo $x "neni ciselny parametr!" | + | *) echo $x "neni ciselny parametr!" |
| esac | esac | ||
| done | done | ||
| Řádek 1229: | Řádek 1348: | ||
| Následující funkce vyhledá soubory a adresáře. Jako prvni parametr je zadána část jména hledaného souboru popř. adresáře. Ostatní parametry představují adresáře, které mají být prohledány. Je-li zadán pouze první parametr, prohledává se celý systém souborů. | Následující funkce vyhledá soubory a adresáře. Jako prvni parametr je zadána část jména hledaného souboru popř. adresáře. Ostatní parametry představují adresáře, které mají být prohledány. Je-li zadán pouze první parametr, prohledává se celý systém souborů. | ||
| - | | + | # NAZEV SKRIPTU: skript |
| + | | ||
| searchfile() | searchfile() | ||
| { | { | ||
| Řádek 1248: | Řádek 1368: | ||
| } | } | ||
| - | **Poznámka: | + | **Poznámka: |
| Aby bylo možné funkci používat, je třeba nejprve načíst soubor, který obsahuje definice funkcí. Přesuňte se do adresáře, který obsahuje tento soubor a do příkazové řádky zadejte | Aby bylo možné funkci používat, je třeba nejprve načíst soubor, který obsahuje definice funkcí. Přesuňte se do adresáře, který obsahuje tento soubor a do příkazové řádky zadejte | ||
| Řádek 1262: | Řádek 1382: | ||
| ... | ... | ||
| - | ==== Konfigurační soubory .bashrc a barshr | + | ==== Konfigurační soubory .bashrc a rc.local |
| Jestliže chcete, aby se určité příkazy, skripty nebo aliasy automaticky spouštěly při přihlášení se do systému, je třeba je přidat do konfiguračních souborů.\\ | Jestliže chcete, aby se určité příkazy, skripty nebo aliasy automaticky spouštěly při přihlášení se do systému, je třeba je přidat do konfiguračních souborů.\\ | ||
| - | Konkrétně se jedná soubor '' | + | Konkrétně se jedná soubor '' |
| + | |||
| + | ==== Periodické spouštění procesů ==== | ||
| + | * Přečtěte si kapitolu [[navody: | ||
| + | |||
| + | === cron === | ||
| + | Jestliže chcete spouštět skript((Skript je soubor, který obsahuje posloupnost příkazů a který má nastaveno právo spouštění.)) s určitou periodicitou, | ||
| + | |||
| + | Další možností je vytvořit si vlastní konfigurační soubor '' | ||
| + | Syntaxe tohoto konfiguračního souboru je následující | ||
| + | |||
| + | minuta hodina den mesic den_v_tydnu [jmeno_uzivatele] prikaz | ||
| + | |||
| + | ^ **Pole** ^ **Popis** ^ **Rozsah** ^ | ||
| + | | minuta | minuta příslušného hodiny | 0 - 59 | | ||
| + | | hodina | hodina příslušného dne | 0 - 23 | | ||
| + | | den | den v měsíci | 1 - 31 | | ||
| + | | mesic | měsíc v roce | 1 - 12 | | ||
| + | | den_v_tydnu | den v týdnu | 0 - 6 (0 = neděle)| | ||
| + | |||
| + | Každé pole navíc může obsahovat znak: | ||
| + | - hvězdička ('' | ||
| + | - dvě čísla oddělená pomlčkou, která značí rozsah hodnot | ||
| + | - seznam čísel popř. rozsahů oddělených čárkou | ||
| + | |||
| + | '' | ||
| + | |||
| + | Následující konfigurační soubor spusti '' | ||
| + | |||
| + | #crontab - ilustracni priklad | ||
| + | 0 12 1 1 * | ||
| + | 0 3 * * 1-5 prikaz2 | ||
| + | 0 * * * * | ||
| + | |||
| + | ** Poznámka: | ||
| + | |||
| + | #crontab - ilustracni priklad | ||
| + | 0 12 1 * 5 prikaz | ||
| + | |||
| + | tak nespustí '' | ||
| + | |||
| + | O spouštění souborů v adresáří ''/ | ||
| + | |||
| + | **Poznámka: | ||
| + | |||
| + | === at === | ||
| + | Jestliže chcete spustit příkaz či skript v danou dobu a nechcete k tomu použít '' | ||
| + | |||
| + | at 11pm | ||
| + | at> / | ||
| + | at> | ||
| + | |||
| + | Stiskněte // | ||
| + | |||
| + | Job at 2007-01-04 23:00 | ||
| ==== Další informace ==== | ==== Další informace ==== | ||
| + | |||
| + | === man === | ||
| Bližší informace o výše uváděných příkazech můžete získat pomocí | Bližší informace o výše uváděných příkazech můžete získat pomocí | ||
| Řádek 1289: | Řádek 1465: | ||
| of -cftuSUX nor --sort. | of -cftuSUX nor --sort. | ||
| ... | ... | ||
| - | + | ||
| + | === apropos === | ||
| + | | ||
| Informace uvedené v sekci //NAME// jsou využívány příkazem '' | Informace uvedené v sekci //NAME// jsou využívány příkazem '' | ||
| Například seznam všech manuálových stránek, které se váží ke slovu //file//, získáte pomocí | Například seznam všech manuálových stránek, které se váží ke slovu //file//, získáte pomocí | ||
| apropos file | apropos file | ||
| + | |||
| + | === info === | ||
| Dalším užitečným příkazem pro získání nápovědy je '' | Dalším užitečným příkazem pro získání nápovědy je '' | ||