⌨️ Příkazová řádka Linuxu

Rozhovor s počítačem

O čem to je

Na serveru v datovém centru není monitor ani myš. Správce se k němu připojí přes síť a píše příkazy do terminálu. Jedním řádkem udělá, na co by v oknech potřeboval sto kliknutí.

Základní příkazy Linuxu potřebuje každý ajťák: pro správu serverů, Raspberry Pi, routerů i cloudu. Naučíš se pohybovat ve složkách, kopírovat, hledat v souborech a spojovat příkazy.

Nové pojmy

Terminál a shellTerminál je okno, do kterého píšeš text. Shell je program, který tvoje příkazy čte a spouští. V Linuxu nejčastěji Bash.
Výzva (prompt)Text na začátku řádku, který říká, že shell čeká na příkaz. Ukazuje uživatele, počítač a složku.jana@pc:~/skola$
Příkaz, přepínač a argumentPříkaz je název programu. Přepínač (začíná pomlčkou) mění jeho chování. Argument říká, s čím pracovat.V ls -l /etc je ls příkaz, -l přepínač, /etc argument.
Aktuální složkaSložka, ve které právě „stojíš“. Relativní cesty se počítají od ní. ~ je tvoje domovská složka, .. nadřazená složka.

Pohyb a prohlížení

PříkazCo děláPříklad
pwdvypíše, kde jsi/home/jana
lsvypíše obsah složkyls -l podrobně, ls -a i skryté
cdpřejde do složkycd skola, cd .., cd ~
catvypíše obsah souborucat poznamky.txt
lessprohlížení dlouhého souboru po stránkáchkonec klávesou q
mannápověda k příkazuman ls

Práce se soubory

PříkazCo děláPříklad
mkdirvytvoří složkumkdir projekty
touchvytvoří prázdný soubortouch seznam.txt
cpkopírujecp a.txt zaloha.txt, složku cp -r foto zaloha
mvpřesune nebo přejmenujemv a.txt b.txt
rmsmaže (bez koše!)rm a.txt, složku rm -r stare
Jsi v /home/jana. Vytvoř složku zaloha a zkopíruj do ní soubor skola/referat.txt.
mkdir zaloha vytvoří složku. cp skola/referat.txt zaloha/ zkopíruje soubor. Kontrola: ls zaloha vypíše referat.txt.

Hledání a spojování

grepPříkaz, který v textu najde řádky obsahující zadané slovo.grep error log.txt vypíše řádky se slovem error.
Roura (pipe) |Svislá čára spojí dva příkazy: výstup prvního se stane vstupem druhého.ls -l | grep txt ukáže jen řádky s „txt“.
Přesměrování > a >>> uloží výstup příkazu do souboru (přepíše ho), >> ho připíše na konec.ls > seznam.txt
Kolik řádků v souboru /var/log/syslog obsahuje slovo „error“?
grep error /var/log/syslog | wc -l. grep vybere řádky s „error“, roura je předá příkazu wc -l, který spočítá řádky. Vyjde jedno číslo, třeba 42.

Doplň příkaz podle úkolu.

✗rm smazaný soubor najdu v koši.
✓rm maže natrvalo, bez koše. Před rm -r si zkontroluj cestu, bezpečnější je rm -i (ptá se).

Příkazová řádka předpokládá, že víš, co děláš. Proto se rm -rf s chybnou cestou bojí každý správce.

Pohyb: pwd, ls, cd. Soubory: mkdir, touch, cp, mv, rm (bez koše). Čtení a hledání: cat, less, grep. Roura | posílá výstup do dalšího příkazu, > a >> ho ukládají do souboru. Nápověda: man.

Recepty pro správce

O čem to je

Správce dostane ráno úkol: „Zjisti, kdo se v noci neúspěšně přihlašoval, zazálohuj konfiguraci a nainstaluj aktualizace.“ Zvládne to pár příkazy. Projdeme typické úkoly jako recepty krok za krokem.

Nové pojmy

Shell (Bash)Program, který čte a vykonává příkazy, které napíšeš do terminálu.
PřepínačVolba příkazu začínající pomlčkou. Krátké jdou spojit: ls -la = ls -l -a.
Root a sudoroot je správce s neomezenými právy. sudo spustí jeden příkaz s právy správce, když na to máš povolení. Zeptá se na tvoje heslo.sudo apt update
Standardní vstup a výstupKaždý příkaz čte data ze vstupu (obvykle klávesnice) a píše na výstup (obvykle obrazovka). Roura | a přesměrování > je umí přepojit.
TabulátorKlávesa Tab doplní rozepsaný název příkazu nebo souboru. Šetří čas a brání překlepům.

Recept 1: orientace

pwd – kde jsem?
ls -la – co tu je, včetně skrytých souborů (začínají tečkou) a oprávnění.
cd /var/log – přejdi do složky s logy.
cd - – vrať se do předchozí složky, cd bez argumentu domů.

Recept 2: záloha konfigurace

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak – zkopíruj soubor pod novým jménem.
ls -l /etc/ssh/ – ověř, že záloha existuje.
Teprve potom soubor upravuj (např. editorem nano).

Recept 3: hledání v logu

Na serveru s Ubuntu vypiš posledních 5 neúspěšných přihlášení přes SSH ze souboru /var/log/auth.log.
sudo grep "Failed password" /var/log/auth.log | tail -n 5. grep najde řádky s neúspěšným heslem, tail -n 5 z nich ukáže posledních 5. Soubor patří správci, proto sudo.
Ulož seznam souborů v /etc, které obsahují v názvu „conf“, do souboru konfigurace.txt a pak připiš datum.
ls /etc | grep conf > konfigurace.txt vytvoří soubor se seznamem. date >> konfigurace.txt připíše datum na konec. > by soubor přepsal, >> připisuje.

Další užitečné příkazy

PříkazK čemu
head, tailzačátek nebo konec souboru; tail -f sleduje log živě
wc -lpočet řádků
sort, uniqseřazení, odstranění opakovaných řádků
findhledání souborů podle jména: find ~ -name "*.pdf"
nanojednoduchý textový editor v terminálu
sudo apt update && sudo apt upgradeaktualizace v Debianu a Ubuntu
historydříve zadané příkazy
  • pwd – vypíše aktuální složku
  • cd .. – o úroveň výš
  • cp -r – kopíruje složku i s obsahem
  • mv – přesune nebo přejmenuje
  • grep – najde řádky se slovem
  • | – pošle výstup dalšímu příkazu
  • >> – připíše výstup na konec souboru
✗Příkaz ls -l > grep txt vypíše soubory s „txt“.
✓Správně je `ls -l | grep txt`.

> neposílá výstup dalšímu příkazu, ale ukládá ho do souboru. Tady by vznikl soubor s názvem grep. Pro předání příkazu slouží roura |.

sudo spustí příkaz jako správce. Před úpravou konfigurace udělej zálohu (cp). Hledání v logu: grep + tail, počítání: wc -l. Roura | spojuje příkazy, > přepisuje soubor, >> připisuje.