Příkazy terminálu

Příkazy terminálu

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 $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 (reverse search).
  • Autodokončování: Tab doplňuje cesty a názvy; dvojitý Tab nabídne možnosti.

Navigace v souborovém systému

  • pwd zobrazí aktuální pracovní adresář.
  • ls -la vypíše detailní seznam včetně skrytých souborů; přepínače -h (čitelné velikosti), -t (podle času).
  • cd /cesta změní adresář; cd - vrátí předchozí; cd ~ domovský adresář.
  • tree -L 2 přehled stromu (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írování; rekurzivně cp -r; zachovat atributy -a.
  • mv zdroj cíl přesun/pojmenování.
  • rm soubor smaže; rekurzivně rm -r; opatrně s -f.
  • mkdir -p cesta/novy/adresar vytvoří strukturu adresářů.
  • stat soubor zobrazí metadata (práva, inode, časy).

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 pro začátek/konec; sledování logu tail -f.
  • grep -Rin "vzor" cesta/ rekurzivní vyhledávání; přepínače -E pro rozšířené regulární výrazy, --color=auto zvýraznění.
  • find /cesta -type f -name "*.log" -mtime -1 vyhledá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.txt přepíše, >> log.txt přidá; 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' proudové nahrazení; -E pro rozšířené regexy.
  • awk -F, '{print $1, $3}' soubor.csv práce s poli; agregace: awk '{sum+=$2} END{print sum}'.
  • sort a uniq -c pro deduplikaci a počty; kombinace sort | uniq -c | sort -nr pro pořadí č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); změna vlastníka chown 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

  • id zobrazí UID/GID; whoami aktuální uživatel.
  • useradd, usermod, passwd sprá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řes visudo).

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, renice pro prioritu; nohup <příkaz> & běh na pozadí.
  • systemctl správa služeb (systemd): systemctl status nginx, start, enable, journalctl -u nginx logy služby.
  • crontab -e pravidelné úlohy; formát min hod den měsíc den_v_týdnu; jednorázově at 23:00.

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

  • lsblk seznam blokových zařízení; blkid identifikátory a typy FS.
  • df -h využ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 a a ip r (adresy a směrování); ss -tulpen naslouchající sockety a spojení.
  • ping, traceroute (nebo tracepath) pro latenci a trasu.
  • dig domena.cz a dig +short MX domena.cz pro DNS; alternativně host.
  • Přenosy: curl -I https://server hlavičky; wget stahování.

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

  • ssh uživatel@host připojení; klíče generuje ssh-keygen, distribuce ssh-copy-id.
  • scp a rsync -avz pro kopie přes SSH; rsync --delete synchronizace včetně mazání.
  • Archivace: tar -czf archiv.tgz adresar/ komprese, rozbalení tar -xzf; zip a unzip jako alternativa.

Balíčkovací systémy a aktualizace

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

Logy a observabilita

  • journalctl pro 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ík sysstat), free -h pro paměť, sar pro historická data.

Bezpečnostní minimum v praxi

  • Opatrně s sudo a destruktivními příkazy (rm -rf / je nebezpečné; používejte explicitní cesty).
  • Pravidelně aktualizujte; kontrolujte integritu konfigurací (verzování: git nad /etc je 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_profile nebo ~/.profile podle distribuce.

Bash skriptování: základy a idiomy

  • Shebang #!/usr/bin/env bash, proveditelnost 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 $?.

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 echo k náhledu, co příkaz skutečně obdrží.
  • Pro destruktivní operace používejte explicitní seznamy (xargs -0 s -print0 pro 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+A na začátek řádku, Ctrl+E na konec, Alt+Backspace mazá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.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *