Štítekarch

"Moderní CLI nástroje: úvod do nové generace utilit"

Moderní CLI nástroje

Klasické Unix nástroje jako ls, cat, find a grep slouží desítky let. Jsou spolehlivé, jsou všude a v systému bez nich nešlápneš. Za tu dobu ale svět kolem nich pokročil – gitové repozitáře, .gitignore, obří monorepa, terminály s emoji a Nerd Fonts. Původní utility na tohle prostředí nebyly stavěné.

Poslední roky se objevila celá vlna nástrojů, které řeší stejný úkol, ale moderně: rychleji, hezčí výstup, chytré defaulty, integrace s gitem. Většina je napsaná v Rustu, takže jsou i bezpečnější a paralelní out-of-the-box.

Tahle série ti představí sadu, kterou používám denně a bez které si už terminál nedokážu představit.

Co budeme probírat

Sérii jsem rozdělil na pět praktických dílů plus bonus:

  1. Úvod – tenhle článek, kontext a filozofie
  2. eza – náhrada ls s ikonami a git statusem
  3. bat – náhrada cat se zvýrazněním syntaxe
  4. fd – rychlejší a přátelštější find
  5. ripgrep – bleskové hledání v souborech
  6. Bonus – kompletní setup, aliasy a integrace s fzf

Každý díl obsahuje instalaci na Archu, praktické příklady, srovnání s klasickou variantou a pár triků z praxe.

Proč zrovna Rust?

Většina těch nástrojů je psaná v Rustu a není to náhoda:

  • Rychlost – kompiluje se do nativního kódu, žádný interpret ani JIT
  • Paralelismus – Rust má silné garance okolo threadů, takže autoři nemají problém pouštět práci na víc jádrech
  • Bezpečná paměť – žádné segfaulty a buffer overflows jako v C
  • Ekosystémcargo a crates.io udělaly z distribuce knihoven příjemnou zkušenost

Když vidíš, že ripgrep je 10× rychlejší než grep, není to marketing – je to tím, jak je napsaný.

Přerušuju původní nástroje?

Ne. Klasické ls, cat, find a grep zůstávají v systému (jsou součást balíčků coreutils, findutils, grep). Aliasy je jen překryjí, když je zavoláš interaktivně.

Ve skriptech se pořád vyplatí sáhnout po originálech – jsou všude, chovají se předvídatelně a nemají volitelné závislosti. Když v aliasu máš alias grep='rg', uvnitř skriptu použij command grep nebo \grep – tím obejdeš alias.

Nainstalujme všechno najednou

Ať máš základ pro celou sérii, můžeš to udělat jedním příkazem:

sudo pacman -S eza bat fd ripgrep

Všechny nástroje jsou v oficiálním Arch repozitáři, žádný AUR není potřeba. Pár set kilobajtů, žádné komplikace.

V dalších dílech se na každý nástroj podíváme detailně. Začneme příště s eza – náhradou za ls, která ti ukáže git status u každého souboru přímo ve výpisu.

Číst dál