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(podle času).cd /cestazmění adresář;cd -vrátí předchozí;cd ~domovský adresář.tree -L 2přehled stromu (balíčektreemůže být nutné doinstalovat).
Práce se soubory a adresáři
touch souborvytvoří prázdný soubor nebo změní časové značky.cp zdroj cílkopírování; rekurzivněcp -r; zachovat atributy-a.mv zdroj cílpřesun/pojmenování.rm souborsmaže; rekurzivněrm -r; opatrně s-f.mkdir -p cesta/novy/adresarvytvoří strukturu adresářů.stat souborzobrazí metadata (práva, inode, časy).
Zobrazení obsahu a vyhledávání
cat,tac,nlpro výpis;lesspro stránkovaný náhled (vyhledávání/řetězec, ukončeníq).head -n 50atail -n 50pro začátek/konec; sledování logutail -f.grep -Rin "vzor" cesta/rekurzivní vyhledávání; přepínače-Epro rozšířené regulární výrazy,--color=autozvýraznění.find /cesta -type f -name "*.log" -mtime -1vyhledání podle typu, jména a stáří; akce 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,>> log.txtpřidá; chybový výstup2>&1. - Roury:
příkaz1 | příkaz2předá výstup jako vstup; např.dmesg | grep -i error.
Textové zpracování: sed, awk, sort, uniq, xargs
sed 's/vzor/nahrada/g'proudové nahrazení;-Epro rozšířené regexy.awk -F, '{print $1, $3}' soubor.csvpráce s poli; agregace:awk '{sum+=$2} END{print sum}'.sortauniq -cpro deduplikaci a počty; kombinacesort | uniq -c | sort -nrpro pořadí četnosti.xargspřevádí vstup na argumenty:find . -type f -name "*.tmp" | xargs rm.
Oprávnění, vlastníci a ACL
ls -lzobrazuje práva (rwx); změna vlastníkachown uživatel:skupina soubor, oprávněníchmod 640 soubor.- Symbolická forma:
chmod u+rx,g-w,o= soubor. - ACL (pokročilá práva):
getfacl,setfacl -m u:alice:r-- soubor.
Uživatelé, skupiny a sudo
idzobrazí UID/GID;whoamiaktuální uživatel.useradd,usermod,passwdspráva lokálních účtů (vyžaduje práva správce).sudo <příkaz>spustí s administrátorskými právy; konfigurace v/etc/sudoers(editovat přesvisudo).
Procesy, služby a plánování
ps aux,top(případněhtop) pro přehled procesů; ukončeníkill -TERM PID, nouzově-KILL.nice,renicepro prioritu;nohup <příkaz> &běh na pozadí.systemctlspráva služeb (systemd):systemctl status nginx,start,enable,journalctl -u nginxlogy služby.crontab -epravidelné úlohy; formátmin hod den měsíc den_v_týdnu; jednorázověat 23:00.
Disky, souborové systémy a využití místa
lsblkseznam blokových zařízení;blkididentifikátory a typy FS.df -hvyužití disků;du -sh *velikosti adresářů; rychlé hledání “žroutů místa”du -h --max-depth=1.mount,umount; záznamy v/etc/fstab.- Kontrola a opravy:
fsck(používat s opatrností a mimo připojený FS).
Síťová diagnostika
ip aaip r(adresy a směrování);ss -tulpennaslouchající sockety a spojení.ping,traceroute(nebotracepath) pro latenci a trasu.dig domena.czadig +short MX domena.czpro DNS; alternativněhost.- Přenosy:
curl -I https://serverhlavičky;wgetstahování.
Šifrování, SSH a přenos souborů
ssh uživatel@hostpřipojení; klíče generujessh-keygen, distribucessh-copy-id.scparsync -avzpro kopie přes SSH;rsync --deletesynchronizace včetně mazání.- Archivace:
tar -czf archiv.tgz adresar/komprese, rozbalenítar -xzf;zipaunzipjako alternativa.
Balíčkovací systémy a aktualizace
- Debian/Ubuntu:
apt update,apt upgrade, instalaceapt install balicek. - RHEL/CentOS/Fedora:
dnf check-update,dnf upgrade, instalacednf install. - Ověření původu a podpisů balíčků je klíčové pro bezpečnost systému.
Logy a observabilita
journalctlpro systémové logy; filtry:-u služba,--since "1 hour ago", sledování-f.- Klasické logy v
/var/log(např.syslog,messages, aplikační logy). - Výkon:
vmstat,iostat(balíksysstat),free -hpro paměť,sarpro historická data.
Bezpečnostní minimum v praxi
- Opatrně s
sudoa destruktivními příkazy (rm -rf /je nebezpečné; používejte explicitní cesty). - Pravidelně aktualizujte; kontrolujte integritu konfigurací (verzování:
gitnad/etcje užitečné). - SELinux/AppArmor: ověřte režim (
getenforce), logy odmítnutí a vhodné politiky.
Alias, proměnné prostředí a profil shellu
alias ll='ls -alF'pro zkrácené příkazy; trvalé v~/.bashrc.- Proměnné:
export PATH="/opt/bin:$PATH"; vypsáníprintenv. - Konfigurační soubory:
~/.bashrc,~/.bash_profilenebo~/.profilepodle distribuce.
Bash skriptování: základy a idiomy
- Shebang
#!/usr/bin/env bash, proveditelnostchmod +x script.sh. - Parametry:
$1,$@; kontrola chyb:set -euo pipefail. - Podmínky a smyčky:
if ... fi,for,while; testy souborů[ -f soubor ],[ -d adresar ]. - Funkce a návratové kódy:
return, kontrola$?.
Pokročilé nástroje pro správce
- tmux/screen pro perzistentní seance a práci na více panelech.
- strace sledování systémových volání; lsof otevřené soubory a porty.
- ncdu (interaktivní analýza místa na disku), iftop/nload pro síťové toky.
- podman/docker pro kontejnery;
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č typu
--dry-run). - Vždy validujte globy a expanze: použijte
echok náhledu, co příkaz skutečně obdrží. - Pro destruktivní operace používejte explicitní seznamy (
xargs -0s-print0pro bezpečné zpracování názvů). - Logujte automatizační skripty a opatřete je idempotencí (opakované spuštění bez vedlejších efektů).
Ukázkové komba příkazů pro běžné úlohy
- Najít největší soubory v adresáři:
find . -type f -printf "%s %p\n" | sort -nr | head -n 20. - Počty výskytů řetězce v logu:
grep -o "ERROR" app.log | wc -l. - Top 10 nejčastějších IP v access logu:
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head. - Rekurzivní nahrazení textu v souborch:
grep -RIl "stary_text" . | xargs sed -i 's/stary_text/novy_text/g'.
Tipy pro produktivitu a ergonomii
- Využívejte klávesové zkratky Bash:
Ctrl+Ana začátek řádku,Ctrl+Ena konec,Alt+Backspacemazání slova. - Prompt na míru (
PS1) s informacemi o větvi Git, exit kódu a prostředí. - Standardizujte dot-files (např.
.bashrc,.inputrc) napříč servery pomocí správy konfigurací.
Závěr
Ovládnutí terminálu násobí efektivitu práce v Linuxu – od správy souborů přes automatizaci až po diagnostiku a bezpečnost. Postavte si repertoár příkazů, osvojte si idiomy rour a textového zpracování a průběžně si tvořte vlastní „runbooky“. S disciplinovanými návyky (verzování konfigurací, validace přikazů, logování automatizace) se terminál stane spolehlivým nástrojem pro každodenní i kritické úlohy.