Klíčové příkazy pro práci v linuxovém terminálu: efektivní využití

Klíčové příkazy pro práci v terminálu Linuxu: Efektivita

Proč ovládat práci v linuxovém terminálu

Terminál (shell) je nejefektivnějším rozhraním pro správu Linuxu. Umožňuje automatizovat rutinní úkoly, spravovat souborový systém, procesy, síť i bezpečnostní politiku 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 Bashi (použitelných i v dalších shellech, jako jsou Zsh či Fish).

Základy prostředí: shell, prompt a nápověda

  • Aktuální shell: příkaz echo $SHELL zobrazí výchozí shell uživatele.
  • Nápověda: man <příkaz> zobrazí manuál; <příkaz> --help stručnou nápovědu.
  • Historie: history vypíše předchozí příkazy; vyhledávání pomocí Ctrl+R (zpětné vyhledávání).
  • Automatické doplňování: Tab doplňuje cesty a názvy; dvojité stisknutí Tab nabídne možnosti.

Navigace v souborovém systému

  • pwd zobrazí aktuální pracovní adresář.
  • ls -la vypíše podrobný seznam včetně skrytých souborů; přepínače -h (čitelné velikosti), -t (podle času).
  • cd /cesta změní adresář; cd - vrátí do předchozího; cd ~ přejde do domovského adresáře.
  • tree -L 2 zobrazí přehlednou stromovou strukturu (balíček tree může být nutné doinstalovat).

Práce se soubory a adresáři

  • touch soubor vytvoří prázdný soubor nebo změní časové značky.
  • cp zdroj cíl kopíruje; rekurzivně cp -r; atributy zachováte pomocí -a.
  • mv zdroj cíl přesune nebo přejmenuje.
  • rm soubor smaže soubor; rekurzivně rm -r; s přepínačem -f zacházejte opatrně.
  • mkdir -p cesta/novy/adresar vytvoří strukturu adresářů.
  • stat soubor zobrazí metadata (práva, inode, časové údaje).

Zobrazení obsahu a vyhledávání

  • cat, tac, nl pro výpis; less pro stránkovaný náhled (vyhledávání /řetězec, ukončení q).
  • head -n 50 a tail -n 50 zobrazí začátek nebo konec; sledování logu pomocí tail -f.
  • grep -Rin "vzor" cesta/ provádí rekurzivní vyhledávání; přepínač -E slouží pro rozšířené regulární výrazy, --color=auto pro zvýraznění.
  • find /cesta -type f -name "*.log" -mtime -1 vyhledá soubory podle typu, názvu a stáří; akce pomocí -exec.

Přesměrování a roury (pipes)

  • Standardní proudy: 0=STDIN, 1=STDOUT, 2=STDERR.
  • Přesměrování: > log.txt přepíše obsah, >> log.txt přidá obsah; chybový výstup 2>&1.
  • Roury: příkaz1 | příkaz2 předá výstup jako vstup; např. dmesg | grep -i error.

Textové zpracování: sed, awk, sort, uniq, xargs

  • sed 's/vzor/nahrada/g' nahrazuje text v proudu; -E slouží pro rozšířené regulární výrazy.
  • awk -F, '{print $1, $3}' soubor.csv pracuje s poli; agregace: awk '{sum+=$2} END{print sum}'.
  • sort a uniq -c slouží k odstranění duplicit a počítání výskytů; kombinace sort | uniq -c | sort -nr seřadí výsledky podle četnosti.
  • xargs převádí vstup na argumenty: find . -type f -name "*.tmp" | xargs rm.

Oprávnění, vlastníci a ACL

  • ls -l zobrazuje práva (rwx); vlastníka změníte příkazem chown uživatel:skupina soubor, oprávnění příkazem chmod 640 soubor.
  • Symbolický zápis: chmod u+rx,g-w,o= soubor.
  • ACL (pokročilá oprávnění): getfacl, setfacl -m u:alice:r-- soubor.

Uživatelé, skupiny a sudo

  • id zobrazí UID/GID; whoami aktuálního uživatele.
  • useradd, usermod, passwd slouží ke správě lokálních účtů (vyžadují oprávnění správce).
  • sudo <příkaz> spustí příkaz s oprávněními správce; konfigurace je v /etc/sudoers (upravujte pomocí visudo).

Procesy, služby a plánování

  • ps aux, top (případně htop) zobrazí přehled procesů; ukončení pomocí kill -TERM PID, v nouzových případech -KILL.
  • nice, renice slouží k nastavení priority; nohup <příkaz> & spustí proces na pozadí.
  • systemctl slouží ke správě služeb (systemd): systemctl status nginx, start, enable, journalctl -u nginx zobrazí logy služby.
  • crontab -e slouží k nastavení pravidelných úloh; formát min hod den měsíc den_v_týdnu; jednorázové úlohy pomocí at 23:00.

Disky, souborové systémy a využití místa

  • lsblk zobrazí seznam blokových zařízení; blkid identifikátory a typy souborových systémů.
  • df -h zobrazí využití disků; du -sh * velikosti adresářů; rychlé hledání „žroutů místa“ pomocí du -h --max-depth=1.
  • mount, umount; záznamy v /etc/fstab.
  • Kontrola a opravy: fsck (používejte opatrně a mimo připojený souborový systém).

Síťová diagnostika

  • ip a a ip r (adresy a směrování); ss -tulpen zobrazí naslouchající sockety a spojení.
  • ping, traceroute (nebo tracepath) slouží ke zjištění latence a trasy.
  • dig domena.cz a dig +short MX domena.cz slouží k vyhledávání v DNS; alternativou je host.
  • Přenosy: curl -I https://server zobrazí hlavičky; wget slouží ke stahování.

Šifrování, SSH a přenos souborů

  • ssh uživatel@host naváže připojení; klíče vygeneruje ssh-keygen, distribuuje ssh-copy-id.
  • scp a rsync -avz slouží ke kopírování přes SSH; rsync --delete synchronizuje včetně mazání.
  • Archivace: tar -czf archiv.tgz adresar/ komprimuje, tar -xzf rozbalí; alternativou jsou zip a unzip.

Balíčkovací systémy a aktualizace

  • Debian/Ubuntu: apt update, apt upgrade, instalace pomocí apt install balicek.
  • RHEL/CentOS/Fedora: dnf check-update, dnf upgrade, instalace pomocí dnf install.
  • Ověření původu a podpisů balíčků je zásadní pro bezpečnost systému.

Logy a observabilita

  • journalctl slouží k prohlížení systémových logů; filtry: -u služba, --since "1 hour ago", sledování pomocí -f.
  • Klasické logy se nacházejí v /var/log (např. syslog, messages, aplikační logy).
  • Výkon: vmstat, iostat (balíček sysstat), free -h pro paměť, sar pro historická data.

Bezpečnostní minimum v praxi

  • S příkazem sudo a destruktivními příkazy zacházejte opatrně (rm -rf / je nebezpečný; používejte explicitní cesty).
  • Pravidelně aktualizujte; kontrolujte integritu konfigurací (verzování pomocí git nad /etc je užitečné).
  • SELinux/AppArmor: ověřte režim (getenforce), logy odmítnutí a vhodné politiky.

Aliasy, proměnné prostředí a profil shellu

  • alias ll='ls -alF' slouží ke zkrácenému zápisu příkazů; trvale jej nastavíte v ~/.bashrc.
  • Proměnné: export PATH="/opt/bin:$PATH"; výpis pomocí printenv.
  • Konfigurační soubory: ~/.bashrc, ~/.bash_profile nebo ~/.profile podle distribuce.

Skriptování v Bashi: základy a idiomy

  • Shebang #!/usr/bin/env bash, nastavení spustitelnosti pomocí chmod +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 pomocí $?.

Pokročilé nástroje pro správce

  • tmux/screen pro trvalé relace a práci s více panely.
  • strace pro sledování systémových volání; lsof pro zobrazení otevřených souborů a portů.
  • ncdu (interaktivní analýza využití místa na disku), iftop/nload pro síťové toky.
  • podman/docker pro kontejnery; podman ps, docker logs, docker exec.

Bezpečné a efektivní postupy (best practices)

  • Před spuštěním náročného příkazu proveďte zkušební běh (pokud je k dispozici přepínač typu --dry-run).
  • Vždy ověřujte globy a expanze: pomocí echo si zobrazte, jaké argumenty příkaz skutečně obdrží.
  • Pro destruktivní operace používejte explicitní seznamy (xargs -0 s -print0 pro bezpečné zpracování názvů).
  • Skripty pro automatizaci opatřete logováním a idempotencí (opakované spuštění bez vedlejších účinků).

Ukázkové kombinace příkazů pro běžné úlohy

  • Najít největší soubory v adresáři: find . -type f -printf "%s %pn" | sort -nr | head -n 20.
  • Počet výskytů řetězce v logu: grep -o "ERROR" app.log | wc -l.
  • 10 nejčastějších IP adres v access logu: awk '{print $1}' access.log | sort | uniq -c | sort -nr | head.
  • Rekurzivní nahrazení textu v souborech: grep -RIl "stary_text" . | xargs sed -i 's/stary_text/novy_text/g'.

Tipy pro produktivitu a ergonomii

  • Využívejte klávesové zkratky Bashi: Ctrl+A na začátek řádku, Ctrl+E na konec, Alt+Backspace pro smazání slova.
  • Prompt na míru (PS1) s informacemi o větvi Gitu, návratovém kódu a prostředí.
  • Standardizujte konfigurační soubory (např. .bashrc, .inputrc) napříč servery pomocí správy konfigurací.

Závěr

Ovládnutí terminálu znásobuje efektivitu práce v Linuxu – od správy souborů přes automatizaci až po diagnostiku a bezpečnost. Sestavte si repertoár příkazů, osvojte si idiomy práce s rourami a textovým zpracováním a průběžně si vytvářejte vlastní „provozní příručky“. Díky disciplinovaným návykům (verzování konfigurací, ověřování příkazů, logování automatizace) se terminál stane spolehlivým nástrojem pro každodenní i kritické úkoly.