navody:prirucka:prompt

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
navody:prirucka:prompt [2009/07/03 12:50] – prikazy shellu nejsou soubory na disku covexnavody:prirucka:prompt [2022/11/14 12:26] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 2: Řádek 2:
  
 ===== Základy příkazové řádky ===== ===== Základy příkazové řádky =====
-{{:navody:48x48:apps:konsole.png }}+{{:navody:48x48:apps:utilities-terminal.png?60 }}
 I když již není znalost unixových příkazů pro soužití s //Linux//em natolik důležitá jako dříve, není od věci osvojit si alespoň několik základních příkazů. Důvodem je, že  I když již není znalost unixových příkazů pro soužití s //Linux//em natolik důležitá jako dříve, není od věci osvojit si alespoň několik základních příkazů. Důvodem je, že 
 "klikací" aplikace pro nastavení systému se mohou lišit pro jednotlivé verze distribuce - příkazy však zůstávají neměnné. Navíc v případě, kdy budete nuceni pracovat např. v záchranném módu, budete odkázáni výhradně na příkazový řádek. Sečteno a podtrženo - znalost několika málo příkazů Vás nezabije, ale posílí (navíc zažijete určitě řadu situací, kdy se Vám tato znalost bude i hodit). Jestliže Vás však tato kapitola už od prvního pohledu odpuzuje, můžete ji přeskočit.\\ "klikací" aplikace pro nastavení systému se mohou lišit pro jednotlivé verze distribuce - příkazy však zůstávají neměnné. Navíc v případě, kdy budete nuceni pracovat např. v záchranném módu, budete odkázáni výhradně na příkazový řádek. Sečteno a podtrženo - znalost několika málo příkazů Vás nezabije, ale posílí (navíc zažijete určitě řadu situací, kdy se Vám tato znalost bude i hodit). Jestliže Vás však tato kapitola už od prvního pohledu odpuzuje, můžete ji přeskočit.\\
  
-V následujícím textu budeme zaměňovat pojmy příkazový řádek a terminál. Příkazovým řádkem / terminálem budeme rozumět rozhraní, pomocí něhož zadává uživatel příkazy. Dalším pojmem, se kterým se zde můžete setkat, je //shell//. //shell// je zjednodušeně řečeno software, který umožňuje komunikaci mezi ivatelem a jádrem //OS Linux// - je totiž zodpovědný za interpertaci příkazů zadávaných uživatelem prostřednictvím příkazového řádku//Shell// kontorluje přístup uživatele k funkcím jádru, což lze chápat do jisté míry jako bezpečnostní prvek.\\ +V následujícím textu budeme zaměňovat pojmy příkazový řádek a terminál. Příkazovým řádkem / terminálem budeme rozumět rozhraní, pomocí něhož zadává uživatel příkazy. Dalším pojmem, se kterým se zde můžete setkat, je //shell//. //Shell// je program, který umožňuje uživateli komunikovat s počítačem prostřednictvím jednoduchých íkazů zapisovaných pomocí klávesnice.  
-Pro //OS Linux// bylo vyvinuto několik //shell//ů. Standardním //shell//em je //bash//, který bude s největší pravděpodobností také součástí Vaší instalace. //bash// je akronymem sousloví "**B**ourne **A**gain **SH**ell" a je pokračovatelem původního //shell//u, který napsal Stephen Bourne koncem 70.let. Samotný //bash// pak pochází z roku 1987.\\+Pro unixové systémy bylo vyvinuto několik //shell//ů. Standardním //shell//em je //bash//, který bude s největší pravděpodobností také součástí Vaší instalace. //Bash// je akronymem sousloví "**B**ourne **A**gain **SH**ell" a je pokračovatelem původního //shell//u, který napsal Stephen Bourne koncem 70.let. Samotný //bash// pak pochází z roku 1987.\\
  
-Dalším hojně používaným pojmem je íkaz. Příkaz není podstatě nic jiného než soubor, který má nastaveno právo spouštění (viz. kapitola [[prompt#Definování přístupových práv]]). Většina těchto souborů je pak uložena v adresářích ''/sbin'', ''/bin'', ''/usr/bin'' a ''/usr/sbin''. Jestliže chceme zadat daný příkaz, stačí ve většině případů do příkazové řádky napsat pouze jeho jméno.+Zadávané íkazy vykonává buď přímo //shell// nebo jsou to programy podobě spustitelných souborů (viz. kapitola [[prompt#Definování přístupových práv]]). Většina těchto souborů je uložena v adresářích ''/sbin'', ''/bin'', ''/usr/bin'' a ''/usr/sbin''. Jestliže chceme zadat daný příkaz, stačí ve většině případů do příkazové řádky napsat pouze jeho jméno.
  
-  ls -la+<code bash>ls -la</code>
  
 Je však možné také zadat kompletní cestu. Je však možné také zadat kompletní cestu.
  
-  /bin/ls -la+<code bash>/bin/ls -la</code>
  
 V případě, že adresář, ve kterém se nachází daný příkaz, není definován v proměnné ''PATH'', je uvedení celé cesty nezbytné (viz. kapitola [[prompt#Proměnná PATH]]).\\ V případě, že adresář, ve kterém se nachází daný příkaz, není definován v proměnné ''PATH'', je uvedení celé cesty nezbytné (viz. kapitola [[prompt#Proměnná PATH]]).\\
  
-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 ''ls'' lze použít přepínač ''-l'', ''-a'' ale také jejich kombinaci ''-la''.+S pojmem příkaz je velice často spojován pojem přepínač. Přepínač modifikuje chování příkazu. Jednotlivé přepínače lze velice často mezi sebou kombinovat. Např. v případě příkazu ''ls'' lze použít přepínač ''-l'', ''-a'' ale také jejich kombinaci ''-la''.
  
-**Poznámka:** Zde uvedené příkazy lze označit jako naprosté minimum příkazové řádky - seznam příkazů není ani zdaleka vyčerpávající.+**Poznámka:** Příkazy uvedené v této kapitole není ani zdaleka vyčerpávající.
  
-**Poznámka 2:** Některé příkazy jsou vykonávány přímo //shell//em a proto je nenajdete jako spustitelné soubory na disku. Jejich výpis získáte íkazem ''help'' z //shell//u.+**Poznámka:** Interní příkazy //shellu// vypíše íkaz ''help''.
  
 ==== Terminál ==== ==== Terminál ====
-Příkazový řádek otevřete v grafickém prostředí //Gnome// pomocí nabídky //Aplikace -> Systémové nástroje -> Terminál//.\\ +Příkazový řádek otevřete pomocí aplikace //Terminál//. Jedná se o výchozí aplikaci, ale v //Software// naleznete celou řadu alternativ. Stačí se podívat do kategorie //Systém->Terminálové emulátory//. Pro časté uživatele terminálu je užitečné nastavit si klávesovou zkratku, jako třeba //Ctrl + Alt + T//, která bude spouštět příkaz ''gnome-terminal''. \\ 
-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).\\ +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 tabulátor (stačí napsat část názvu souboru nebo adresáře a stisknout klávesu tabulátor).\\ 
-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 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 +===== Otevření terminálu ze Správce souborů ===== 
 +Chcete-li terminál otevřít pomocí nabídky, kterou získáte poklepáním pravého tlačítka myši kdekoliv ve správci souborů, zadejte do příkazové řádky.
  
-  yum -y install nautilus-open-terminal+  dnf -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.+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. Výchozí cesta pak bude nastavená v adresáři, který jste k otevření použili.
  
 ==== Obecné informace === ==== Obecné informace ===
Řádek 131: Řádek 132:
 === Apostrof === === Apostrof ===
  
-Jestliže text uzavřete do apostrofů, bude text zpracován jako příkaz a na jeho místo bude dosazen výstup tohoto příkazu.+Jestliže text uzavřete do apostrofů, bude text zpracován jako příkaz a na jeho místo bude dosazen výstup tohoto příkazu. Stejnou funkci má i ''$(prikaz)'' a pokud bude skript (či příkaz) obsahovat vícenásobné vnoření, může tento zápis být i nutný.
  
-  $pracovni_adresar=`pwd`+  pracovni_adresar=`pwd`
   echo $pracovni_adresar   echo $pracovni_adresar
  
Řádek 153: Řádek 154:
  
   ls -la > /dev/null   ls -la > /dev/null
 +  
 +=== Chybový výstup ===
 +Běžně používané výstupy jsou dva, standardní výstup //stdout// a standardní chybový //stderr//. Na chybovém výstupu se vypisují chyby a ačkoliv jde tedy vlastně o dva proudy textu v terminálu je vidět pouze jeden (zobrazuje vše, co přijde). Při některých typech úloh může být užitečné potlačit chybový výstup. Třeba při hledání souboru v celém systému bude mít uživatel problém s oprávněním na některých souborech. Pokud by se kromě nalezených výsledků zobrazovali i chyby a nalezené soubory by se ve výpisu mohly ztratit. Všimněte si, že chybový výstup má číselné označení 2.
 +
 +  # Od kořenového adresáře hledá všechny soubory s koncovkou .txt a případné chyby nezobrazí.
 +  find / -name "*.txt" 2>/dev/null
  
 === Roury === === Roury ===
Řádek 186: Řádek 193:
  
 **Poznámka:** Pro tohoto uživatele je ještě zapotřebí nastavit heslo pomocí příkazu ''passwd''. **Poznámka:** Pro tohoto uživatele je ještě zapotřebí nastavit heslo pomocí příkazu ''passwd''.
 +
 +=== usermod ===
 +Příkaz ''usermod'' slouží ke změně údajů u exitujícího uživatele (domovský adresář, defaultní skupina apod.) Změnu přiřazené defaultní skupiny provedeme příkazem:
 +
 +  usermod -g skupina uzivatel
 +  
 +Často také potřebujeme změnit ostatní již přiřazené skupiny, opět se použije příkaz ''usermod'':
 +
 +  usermod -G skupina1,skupina2,skupina3 uzivatel
 +  
 +**Poznámka:** Pozor tento zápis zařadí uživatele přesně do udaného výčtu skupin, kde jednotlivé skupiny jsou odděleny čárkami. Pokud byl uživatel předtím i v jiných skupinách, je z nich nyní vyřazen.
 +
 +Chceme-li uživatele pouze přidat do jedné další skupiny, použijeme následující zápis:
 +
 +  usermod -aG skupina uzivatel
  
 === userdel === === userdel ===
Řádek 497: Řádek 519:
 **Poznámka:** Jestliže ''mc'' není nainstalován, lze ho snadno přidat jako superuživatel pomocí **Poznámka:** Jestliže ''mc'' není nainstalován, lze ho snadno přidat jako superuživatel pomocí
  
-  yum -y install mc+  dnf -y install mc
  
 {{ navody:mc.png }} {{ navody:mc.png }}
Řádek 713: Řádek 735:
 Tuto aplikaci nainstalujete pomocí Tuto aplikaci nainstalujete pomocí
  
-  yum -y install nano+  dnf -y install nano
  
 popř. přímo z instalačního CD pomocí popř. přímo z instalačního CD pomocí
Řádek 826: Řádek 848:
 Každý uživatel může "zabít" svoje procesy; superuživatel pak může zabít jakýkoliv proces((Asi nemá smysl zdůrazňovat, že bezhlavé zabíjení procesů může mít za následek kolaps systému.)). Každý uživatel může "zabít" svoje procesy; superuživatel pak může zabít jakýkoliv proces((Asi nemá smysl zdůrazňovat, že bezhlavé zabíjení procesů může mít za následek kolaps systému.)).
  
-**Poznámka:** Příkaz spuštěný z příkazové řádky lze ukončit pomocí klávesové zkratky //Ctrl + Z//.+**Poznámka:** Příkaz spuštěný z příkazové řádky lze uspat (přenést na pozadí) pomocí klávesové zkratky //Ctrl + Z//. Pokud chcete vykonávání programu zcela ukončit použijte //Ctrl + C//.
  
 === nice a renice === === nice a renice ===
Řádek 890: Řádek 912:
   export $promenna   export $promenna
  
-** Tip:** Jestliže potřebujete, aby proměnné byly globálně definované již po startu systému, je vhodné je umístit do souboru ''/etc/bash.bashrc''. +** Tip:** Jestliže potřebujete, aby proměnné byly globálně definované již po startu systému, pod9vejte se do kapitoly "Konfigurační soubory .bashrc a rc.l"
   $promenna = hodnota   $promenna = hodnota
   export $promenna   export $promenna
Řádek 1488: Řádek 1509:
   at>   at>
  
-Stiskněte //Ctrl+D//.+Stiskněte //Ctrl + D//.
  
-  Job at 2007-01-04 23:00+  Job at 2019-01-04 23:00
  
 ==== Další informace ==== ==== Další informace ====
  • Poslední úprava: 2022/11/14 11:11
  • (upraveno mimo DokuWiki)