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> --helpposkytne stručnou nápovědu. - Historie:
historyvypíše předchozí příkazy; vyhledávání v historii pomocíCtrl+R(reverse search). - Autodokončování: stisknutí
Tabdoplní cesty a názvy; dvojitýTabzobrazí všechny možnosti.
Navigace v souborovém systému
pwdzobrazí aktuální pracovní adresář.ls -lavypíše detailní seznam souborů včetně skrytých; přepínače-h(čitelné velikosti),-t(řazení podle času).cd /cestazmění pracovní adresář;cd -přepne zpět do předchozího adresáře;cd ~otevře domovský adresář uživatele.tree -L 2zobrazí stromovou strukturu do hloubky 2 (balíčektreemůže být potřeba doinstalovat).
Práce se soubory a adresáři
touch souborvytvoří prázdný soubor nebo aktualizuje časové značky existujícího souboru.cp zdroj cílkopíruje soubory; rekurzivní kopírování scp -r; zachování atributů s-a.mv zdroj cílpřesune nebo přejmenuje soubor či adresář.rm souborsmaže soubor; rekurzivní mazání srm -r; opatrně s přepínačem-f.mkdir -p cesta/novy/adresarvytvoří adresářovou strukturu včetně nadřazených adresářů.stat souborzobrazí metadata souboru (práva, inode, časy zápisu a přístupu).
Zobrazení obsahu a vyhledávání
cat,tac,nlk výpisu obsahu;lesspro stránkované prohlížení (vyhledávání pomocí/řetězec, ukončeníq).head -n 50atail -n 50pro zobrazení začátku či konce souboru; sledování aktualizovaného souboru (např. logu) pomocítail -f.grep -Rin "vzor" cesta/rekurzivní vyhledávání textového vzoru; přepínače-Epro rozšířené regulární výrazy,--color=autopro zvýraznění výskytů.find /cesta -type f -name "*.log" -mtime -1vyhledá soubory podle typu, názvu a stáří; možné vykonání akcí s-exec.
Přesměrování a roury (pipes)
- Standardní proudy:
0=STDIN,1=STDOUT,2=STDERR. - Přesměrování:
> log.txtpřepíše soubor;>> log.txtpřidá na konec; přesměrování chybového výstupu2>&1. - Roury:
příkaz1 | příkaz2předá 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í proudové nahrazení textu;-Epovolí rozšířené regulární výrazy.awk -F, '{print $1, $3}' soubor.csvzpracovává položky oddělené čárkou; agregace např.awk '{sum+=$2} END{print sum}'.sortauniq -cpro deduplikaci a počítání výskytů; kombinacesort | uniq -c | sort -nrpro seřazení podle četnosti.xargspřevádí vstupní data na argumenty příkazů:find . -type f -name "*.tmp" | xargs rm.
Oprávnění, vlastníci a ACL
ls -lzobrazuje oprávnění (rwx); změna vlastníkachown uživatel:skupina soubor, změna oprávněníchmod 640 soubor.- Symbolická forma změny práv:
chmod u+rx,g-w,o= soubor. - ACL (pokročilá oprávnění):
getfaclpro zobrazení,setfacl -m u:alice:r-- souborpro nastavení práv uživatele.
Uživatelé, skupiny a sudo
idzobrazuje UID a GID uživatele;whoamiukáže aktuálního uživatele.useradd,usermod,passwdpro správu lokálních uživatelů (vyžadují administrátorská práva).sudo <příkaz>spustí příkaz s administrátorskými právy; konfigurace v souboru/etc/sudoers(upravovat přesvisudo).
Procesy, služby a plánování
ps aux,top(nebohtop) zobrazují běžící procesy; ukončení příkazemkill -TERM PID, v nouzi-KILL.nice,renicenastavují prioritu procesů;nohup <příkaz> &zajistí běh procesu na pozadí.systemctlspravuje služby (systemd):systemctl status nginx,start,enable,journalctl -u nginxzobrazí logy služby.crontab -edefinuje pravidelné úlohy; formát:min hod den měsíc den_v_týdnu; jednorázové spuštění pomocíat 23:00.
Disky, souborové systémy a využití místa
lsblkzobrazí bloková zařízení;blkidukáže identifikátory a typ souborového systému.df -hzobrazuje využití diskového prostoru;du -sh *rozměry adresářů; rychlé vyhledání „žroutů místa“ sdu -h --max-depth=1.mount,umountk připojování a odpojování souborových systémů; záznamy uloženy v/etc/fstab.- Kontrola a opravy:
fsck(používejte opatrně mimo aktivní FS).
Síťová diagnostika
ip aaip rzobrazí síťová rozhraní a směrovací tabulky;ss -tulpenzobrazuje naslouchající sockety a aktivní spojení.ping,traceroute(nebotracepath) umožňují měřit latenci a trasu paketů.dig domena.czadig +short MX domena.czpro dotazy na DNS; alternativněhost.- Přenosy:
curl -I https://serverpro HTTP hlavičky;wgetpro stahování obsahu.
Šifrování, SSH a přenos souborů
ssh uživatel@hostnaváže zabezpečené připojení; generování klíčůssh-keygen, distribuce klíčůssh-copy-id.scparsync -avzslouží pro kopírování přes SSH;rsync --deletesynchronizuje včetně mazání souborů.- Archivace:
tar -czf archiv.tgz adresar/(komprimace); rozbalenítar -xzf;zipaunzipjako alternativa.
Balíčkovací systémy a aktualizace
- Debian/Ubuntu:
apt update,apt upgrade, instalace balíčků sapt install balicek. - RHEL/CentOS/Fedora:
dnf check-update,dnf upgrade, instalace balíčkůdnf install. - Ověření původu a podpisů balíčků je klíčové pro bezpečnost systému.
Logy a observabilita
journalctlslouží ke čtení systémových logů; filtry:-u služba,--since "1 hour ago", sledování v reálném čase-f.- Klasické logy jsou uloženy v
/var/log(např.syslog,messages, aplikační logy). - Monitorování výkonu:
vmstat,iostat(balíksysstat),free -hpro paměť,sarpro historická statistická data.
Bezpečnostní minimum v praxi
- Opatrně používejte
sudoa destruktivní příkazy (např.rm -rf /je extrémně nebezpečný; preferujte explicitní cesty). - Pravidelně aktualizujte systém; kontrolujte integritu konfigurací (versování konfigurací pomocí
gitnad/etcje velmi užitečné). - SELinux/AppArmor: ověřte režim příkazem
getenforce, sledujte logy odmítnutí a nastavte vhodné bezpečnostní politiky.
Alias, proměnné prostředí a profil shellu
alias ll='ls -alF'zjednodušuje časté příkazy; trvalé nastavení v souboru~/.bashrc.- Proměnné prostředí:
export PATH="/opt/bin:$PATH"; vypsání všech proměnných pomocíprintenv. - Konfigurační soubory:
~/.bashrc,~/.bash_profilenebo~/.profilepodle distribuce a typu shellu.
Bash skriptování: základy a idiomy
- Shebang
#!/usr/bin/env bashpro přenositelnost, nastavení spustitelnostichmod +x script.sh. - Parametry skriptu:
$1,$@; doporučená kontrola chyb:set -euo pipefail. - Podmínky a cykly:
if ... fi,for,while; kontrola existence souboru[ -f soubor ], adresáře[ -d adresar ]. - Funkce a návratové hodnoty:
return, kontrola kódu posledního příkazu s$?.
Pokročilé nástroje pro správce
- tmux/screen pro perzistentní seance a práci s více panely v terminálu.
- strace pro sledování systémových volání; lsof zobrazí otevřené soubory a síťové porty.
- ncdu (interaktivní analýza využití diskového prostoru), iftop/nload pro vizualizaci 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)
- Před spuštěním náročných příkazů proveďte suchý běh (pokud je dostupný přepínač
--dry-run). - Vždy validujte globy a proměnné rozšiřování: použijte
echopro náhled skutečných argumentů. - Pro destruktivní operace používejte explicitní a bezpečně zpracované seznamy souborů (
xargs -0sfind … -print0). - Logujte automatizační skripty a zajistěte jejich idempotenci (opakované spuštění bez vedlejších efektů).


























