Proč ovládat práci v linuxovém terminálu
Terminál (shell) je nejefektivnější rozhraní pro správu Linuxu. Umožňuje automatizovat rutinní úkoly, spravovat souborový systém, procesy, síť i bezpečnostní politiku, a to s minimální režijní zátěží. Tento článek přináší přehled klíčových příkazů, idiomů a postupů pro každodenní i pokročilou práci v Bash (aplikovatelné i na další shelly jako Zsh či Fish).
Základy prostředí: shell, prompt a nápověda
- Aktuální shell: příkaz
echo $SHELLzobrazí výchozí shell uživatele. - Nápověda:
man <příkaz>zobrazí manuál;<příkaz> --helpstručnou nápovědu. - Historie:
historyvypíše předchozí příkazy; vyhledávání pomocíCtrl+R(reverse search). - Autodokončování:
Tabdoplňuje cesty a názvy; dvojitýTabnabídne možnosti.
Navigace v souborovém systému
pwdzobrazí aktuální pracovní adresář.ls -lavypíše detailní seznam včetně skrytých souborů; přepínače-h(čitelné velikosti),-t(řazení podle času).cd /cestazmění adresář;cd -vrátí do předchozího adresáře;cd ~přechod do domovského adresáře.tree -L 2přehled stromu adresářů (balíčektreemůže být nutné doinstalovat).
Práce se soubory a adresáři
touch souborvytvoří prázdný soubor nebo upraví časové značky existujícího souboru.cp zdroj cílkopírování souborů; rekurzivně scp -r; zachování atributů s-a.mv zdroj cílpřesun nebo přejmenování souboru či adresáře.rm souborodstraní soubor; rekurzivně srm -r; opatrnost při použití-f(bez dotazu).mkdir -p cesta/novy/adresarvytvoří celou strukturu adresářů včetně nadřazených složek.stat souborzobrazí metadata souboru (práva, inode, časové značky).
Zobrazení obsahu a vyhledávání
cat,tac,nlpro výpis obsahu;lesspro stránkovaný náhled s vyhledáváním pomocí/řetězec, ukončeníq.head -n 50atail -n 50zobrazí začátek nebo konec souboru;tail -fsleduje soubor v reálném čase (např. logy).grep -Rin "vzor" cesta/rekurzivní vyhledávání textu; přepínače-E(rozšířené regulární výrazy),--color=auto(zvýraznění výskytů).find /cesta -type f -name "*.log" -mtime -1vyhledávání podle typu, názvu a stáří souboru; s akcemi přes-exec.
Přesměrování a roury (pipes)
- Standardní proudy:
0=STDIN(vstup),1=STDOUT(výstup),2=STDERR(chyby). - Přesměrování:
> log.txtpřepisuje soubor,>> log.txtpřidává na konec; přesměrování chybového výstupu2>&1. - Roury (pipes):
příkaz1 | příkaz2přesměruje výstup prvního příkazu jako vstup druhému, např.dmesg | grep -i error.
Textové zpracování: sed, awk, sort, uniq, xargs
sed 's/vzor/nahrada/g'provádí proudovou náhradu textu;-Epovoluje rozšířené regulární výrazy.awk -F, '{print $1, $3}' soubor.csvpráce s poli ve formátu CSV; agregace např.awk '{sum+=$2} END{print sum}'.sortauniq -cslouží k deduplikaci a počítání výskytů; kombinacesort | uniq -c | sort -nrřadí podle frekvence.xargspřevádí vstup na argumenty příkazů:find . -type f -name "*.tmp" | xargs rmodstraní vyhovující soubory.
Oprávnění, vlastníci a ACL
ls -lzobrazuje práva (rwx); změna vlastníka příkazemchown uživatel:skupina soubor, nastavení oprávněníchmod 640 soubor.- Symbolická forma
chmod:chmod u+rx,g-w,o= soubor. - ACL (pokročilá přístupová práva): zobrazení
getfacl, změnasetfacl -m u:alice:r-- soubor.
Uživatelé, skupiny a sudo
idzobrazí UID a GID uživatele;whoamiukáže aktuální uživatelské jméno.useradd,usermod,passwdspráva lokálních účtů (vyžaduje administrátorská práva).sudo <příkaz>spustí příkaz s administrátorskými právy; konfigurace v/etc/sudoersupravovaná přesvisudo.
Procesy, služby a plánování
ps aux,top(případněhtop) pro přehled běžících procesů; ukončení příkazemkill -TERM PID, v nouzi-KILL.nice,renicepro úpravu priority procesů;nohup <příkaz> &pro běh na pozadí bez přerušení.systemctl(správa služeb systemd):systemctl status nginx,start,enable,journalctl -u nginxpro zobrazení logů.crontab -epro plánování pravidelných úloh; formátmin hod den měsíc den_v_týdnu; jednorázové úlohy sat 23:00.
Disky, souborové systémy a využití místa
lsblkvypíše seznam blokových zařízení;blkidzobrazí identifikátory a typy souborových systémů.df -hzobrazí využití diskového prostoru;du -sh *velikosti adresářů; rychlé hledání největších spotřebitelů místadu -h --max-depth=1.mountaumountpřipojování a odpojování souborových systémů; záznamy v/etc/fstab.- Kontrola a opravy souborových systémů:
fsck(používat s opatrností a mimo připojený souborový systém).
Síťová diagnostika
ip aaip rzobrazí adresy a směrovací tabulky;ss -tulpenukáže naslouchající sokety a otevřená spojení.ping,traceroute(nebotracepath) pro měření latence a trasování cesty k cíli.dig domena.czadig +short MX domena.czpro DNS dotazy; alternativněhost.- Test přenosů:
curl -I https://serverzobrazí HTTP hlavičky;wgetslouží ke stahování souborů.
Šifrování, SSH a přenos souborů
ssh uživatel@hostpro vzdálené připojení; generování klíčů pomocíssh-keygen, rozšíření autorizace pomocíssh-copy-id.scparsync -avzpro bezpečný přenos souborů přes SSH; synchronizace včetně mazání srsync --delete.- Archivace:
tar -czf archiv.tgz adresar/pro kompresi, rozbalenítar -xzf; alternativnězipaunzip.
Balíčkovací systémy a aktualizace
- Debian/Ubuntu:
apt update,apt upgrade, instalace balíčků pomocíapt install balicek. - RHEL/CentOS/Fedora:
dnf check-update,dnf upgrade, instalace přesdnf install. - Ověření původu a podpisů balíčků je klíčové pro bezpečnost systému.
Logy a observabilita
journalctlpro prohlížení systémových logů; filtrace pomocí-u služba,--since "1 hour ago", sledování v reálném čase-f.- Klasické logy v adresáři
/var/log(např.syslog,messages, aplikační logy). - Sledování výkonu:
vmstat,iostat(součást balíkusysstat),free -hpro přehled paměti,sarpro historická data výkonu.
Bezpečnostní minimum v praxi
- Obezřetnost při používání
sudoa destruktivních příkazů (např.rm -rf /je velmi nebezpečný; vždy používejte explicitní cesty). - Pravidelné aktualizace systému; kontrola integrity konfigurací (verzionování pomocí
gitnad/etcje užitečné). - SELinux/AppArmor: ověřte aktuální režim příkazem
getenforce, sledujte logy odmítnutí přístupů a nastavte vhodné bezpečnostní politiky.
Alias, proměnné prostředí a profil shellu
alias ll='ls -alF'pro vytvoření zkrácených příkazů; trvalé nastavení v souboru~/.bashrc.- Správa proměnných prostředí:
export PATH="/opt/bin:$PATH"; výpis aktuálních proměnných pomocíprintenv. - Konfigurační soubory:
~/.bashrc,~/.bash_profilenebo~/.profilev závislosti na distribuci a konfiguraci shellu.
Bash skriptování: základy a idiomy
- Shebang
#!/usr/bin/env bash, nastavení proveditelnosti skriptu příkazemchmod +x script.sh. - Předávání parametrů:
$1,$@; bezpečnostní nastavení sset -euo pipefailpro zachycení chyb. - Podmínky a smyčky:
if ... fi,for,while; testování souborů s[ -f soubor ],[ -d adresar ]. - Funkce a vracené kódy:
return, kontrola návratové hodnoty s$?.
Pokročilé nástroje pro správce
- tmux/screen pro perzistentní relace a práci s více panely v terminálu.
- strace pro sledování systémových volání; lsof zobrazuje otevřené soubory a síťové porty.
- ncdu (interaktivní analýza využití diskového prostoru), iftop/nload pro sledování síťových toků.
- podman/docker pro správu kontejnerů; příkazy
podman ps,docker logs,docker exec.
Bezpečné a efektivní vzory (best practices)
- Než spustíte náročný příkaz, proveďte suchý běh (pokud je k dispozici přepínač
--dry-run). - Vždy validujte globální výraz a expanze: použijte
echok náhledu, co bude příkaz zpracovávat. - Pro destruktivní operace používejte explicitní seznamy souborů (
xargs -0s-print0vefindpro bezpečné zpracování názvů). - Logujte automatizační skripty a zajistěte jejich idempotenci (opak



























