Arch Linux CZ

Moderní CLI: bat – cat se superschopnostmi

Moderní CLI Bat

Když si soubor vypíšu přes cat, dostanu holý text. Bez barev, bez čísel řádků, bez orientace. bat (jako netopýr 🦇) přidává všechno, co bys od moderního nástroje čekal – a stále se chová jako cat, když ho pipuješ dál.

Instalace

sudo pacman -S bat

Balíček je v oficiálním repu. Pro plnou funkčnost (git integrace, stránkování) je dobré mít i less a git, což na Archu máš.

Základní použití

# jednoduchý výpis
bat soubor.md

# bez čísel řádků
bat -n soubor.md

# bez stránkování (jako cat)
bat --paging=never soubor.md

# jen konkrétní řádky
bat -r 10:20 soubor.py

# více souborů najednou
bat *.md

Co bat umí navíc oproti cat

Zvýraznění syntaxe pro víc než 150 jazyků – bash, python, yaml, JSON, markdown, Rust, Go, TOML, INI, systemd unit files a spousta dalších. Autodetekce podle přípony.

Čísla řádků vlevo, s barevnou hranicí sekcí.

Git integrace. Vedle čísla řádku vidíš + (přidaný), ~ (změněný), - (smazaný) oproti HEAD. Rychlý přehled bez git diff.

Automatické stránkování. Když je soubor delší než terminál, bat ho pošle do less. Krátký výpis se rovnou vypíše.

Detekce non-textových souborů. Když omylem cat-uješ binárku, bat tě upozorní místo toho, aby ti rozházel terminál.

Chování v pipe

Klíčové: když bat pipuješ dál, chová se jako cat – jen holý text, žádné barvy, žádné čísla.

bat data.json | jq .
cat data.json | jq .    # totéž

Tohle je důvod, proč můžeš cat nahradit aliasem bez obav, že rozbije skripty.

Aliasy

Do ~/.zshrc:

alias cat='bat --paging=never'
alias catp='bat'             # cat s pagingem, když ho chceš

Když opravdu potřebuješ původní cat (třeba pro rychlé pipe operace):

\cat soubor.txt

Praktické triky

Použij bat jako pager pro man:

export MANPAGER="sh -c 'col -bx | bat -l man -p'"
export MANROFFOPT="-c"

Manuálové stránky teď dostanou zvýrazněnou syntax.

Kombinace s find / fd a fzf:

fzf --preview 'bat --color=always {}'

Máš okamžitý náhled souboru při procházení.

Diff přes bat:

diff soubor1 soubor2 | bat -l diff
git diff | bat -l diff --paging=never

Nebo nainstaluj rovnou git-delta, který používá bat pod kapotou.

Zvýraznění pro nestandardní přípony:

bat -l ini /etc/pacman.conf
bat -l bash /etc/profile

Výpis všech podporovaných jazyků:

bat --list-languages

Konfigurace

Vytvoř config:

mkdir -p ~/.config/bat
bat --generate-config-file

Otevře se ~/.config/bat/config s příklady. Typická konfigurace:

--theme="Catppuccin Mocha"
--style="numbers,changes,header"
--paging=auto
--italic-text=always

Dostupná témata:

bat --list-themes

Vlastní téma můžeš přidat do ~/.config/bat/themes/ a pak spustit:

bat cache --build

Souborové operace navíc

Sjednotit více souborů (jako cat file1 file2 > out):

bat -pp file1.md file2.md > combined.md

-pp = plain plain = žádné dekorace, jen text.

Vytisknout s hlavičkou souboru:

bat --style="header,numbers" *.md

Kdy se vrátit k cat?

Ve skriptech – i když bat v pipe funguje jako cat, přidává zbytečnou závislost. Když píšeš skript, který má běžet i na jiných strojích, použij cat.

Ve výkonově kritických operacích – bat má o něco víc overheadu při inicializaci. Když děláš velké dávkové operace, cat bude rychlejší.

Shrnutí

bat je pravděpodobně nejjednodušší upgrade, který můžeš svému terminálu udělat. Pár set kilobajtů, jeden alias, a najednou vidíš struktury v každém konfiguráku.

Příště se podíváme na fd – rychlejší, jednodušší a přátelštější náhradu za find.

Číst dál

Vyšlo EndeavourOS Titan Nova

Tapeta EndeavourOS

EndeavourOS vydal Titan Nova – menší "mezirelease", který má přemostit čekání na příští velký release Triton. Ten se zpožďuje kvůli přechodu na Wayland v Live prostředí (kvůli změnám v Plasma) a EOS tým na tom pořád pracuje.

Co je Titan Nova

Jde jen o aktualizaci instalátoru a ISO – běžící systémy nic upgradovat nemusí, stačí normální pacman -Syu. Změny se týkají pouze nových instalací (Calamares, offline instalátor, Live prostředí).

Nové verze na ISO:

  • Calamares 26.03.2.3-1
  • Firefox 135.0.4-1
  • Linux 7.1.8.arch1-3
  • Mesa 1:26.1.7-1
  • Xorg-server 21.1.24-1
  • Nvidia-utils 610.57.04-1
  • Nvidia-open 610.54.04-6

Opravy

  • oprava chyby v nastavení klávesnice při instalaci (dočasný patch, definitivní řešení přijde s Tritonem)
  • vylepšená podpora Nouveau ovladačů pro NVIDIA na ISO
  • dočasně odebrán Budgie z instalátoru – upstream je v přechodu na Wayland a EOS s aktuálním stavem není spokojený, má se vrátit později

Stažení

Stáhnout a/nebo seedovat torrent/magnet soubory zde.

Zdroj: endeavouros.com

Číst dál

Moderní CLI: eza – ls jak má vypadat v roce 2026

eza výpis s ikonami a git statusem

ls je základní nástroj Unixu už od 70. let. Funguje spolehlivě, ale jeho výstup dneska vypadá archaicky – jenom sloupce textu, žádný git status, žádné ikony. eza řeší přesně tohle.

Je to fork populárního exa, které přestalo být udržované. eza v tom pokračuje: aktivní vývoj, opravy bugů, nové funkce.

Instalace

sudo pacman -S eza

Balíček je v oficiálním extra repozitáři, žádný AUR.

Pro ikony budeš potřebovat Nerd Font nainstalovaný a nastavený v terminálu. Bez něj eza --icons ukáže čtverečky místo ikon.

sudo pacman -S ttf-jetbrains-mono-nerd

Základní použití

eza -la --icons --git --group-directories-first

Co eza umí navíc oproti ls

Ikony podle typu souboru. Složky, Python skripty, markdown, obrázky – každý typ má svou ikonu.

Git status. Vedle názvu souboru vidíš N (nový), M (modifikovaný), I (ignorovaný).

Stromový výpis.

eza --tree --level=2 --icons

Nahrazuje tree a nemusíš instalovat další balíček.

Aliasy pro každodenní použití

Do ~/.zshrc:

alias ls='eza --icons --group-directories-first'
alias ll='eza -la --icons --git --group-directories-first'
alias lt='eza --tree --level=2 --icons'

Kdy se vrátit k ls?

Ve skriptech a cronu, kde potřebuješ striktní POSIX chování.

files=$(\ls *.md)   # obejde alias

Shrnutí

eza je jedna z nejjednodušších náhrad – nainstaluješ, přidáš alias a hned máš hezčí a informativnější výpis.

Příště se podíváme na bat – náhradu cat, která přidává zvýraznění syntaxe a integraci s gitem.

Číst dál

"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

Hugo na OSCloud: Statický web bez kompromisů

Hugo na OSCloud

WordPress nám sloužil roky a pro spoustu projektů je skvělá volba. Pro náš technický blog o Arch Linuxu jsme ale hledali něco bližšího naší filozofii — psát články v Markdownu, verzovat v Gitu a mít web pod plnou kontrolou bez zbytečné komplexity.

Přešli jsme na Hugo — statický generátor napsaný v Go, který z Markdownu vytvoří kompletní web za zlomek sekundy. Žádné PHP, žádná databáze, žádné bezpečnostní díry. A celé to běží na OSCloud.

Co je Hugo?

Hugo je open-source generátor statických webů. Místo toho, aby server při každém požadavku tahal data z databáze a skládal stránku za běhu (jako WordPress), Hugo vygeneruje všechny HTML soubory předem. Výsledek je jednoduchá složka souborů, kterou hodíte na jakýkoliv webserver.

Co to znamená v praxi:

  • Rychlost — stránky se načítají okamžitě, protože server jen servíruje hotové soubory
  • Bezpečnost — žádný PHP interpret, žádná databáze = žádný útočný vektor
  • Jednoduchost — články píšete v Markdownu, verzujete v Gitu
  • Nulová údržba — žádné aktualizace pluginů, žádné padající databáze

Hugo má přes 88 000 hvězd na GitHubu a aktivní komunitu. Podporuje témata, vícejazyčnost, taxonomie, RSS, vyhledávání a spoustu dalšího.

Co je OSCloud?

OSCloud je česká cloudová platforma zaměřená na soukromí a open source. OSCloud nabízí hosting open-source aplikací jako alternativu ke komerčním cloudům. Najdete tu Nextcloud, Matrix, PeerTube, Gitea, GoToSocial,Mastodon, Pixelfed, VHSky a desítky dalších služeb. A taky hosting webů — WordPress, LAMP, Grav nebo Surfer pro statické weby.

Pro hosting Hugo webu máte na OSCloud dvě varianty: Surfer a LAMP. Každá se hodí na něco jiného.

Varianta 1: Surfer — jednoduchý statický hosting

Surfer je minimalistická Cloudron aplikace pro servírování statických souborů. Nic víc, nic míň. Nahrajete soubory a web běží — žádný Apache, žádný nginx config.

Surfer nabízí:

  • Webové rozhraní pro správu souborů na https://vasedomena.cz/_admin/
  • CLI nástroj pro nahrávání z terminálu
  • SFTP přístup pro nahrávání přes FileZilla nebo příkazovou řádku
  • WebDAV endpoint
  • Vlastní 404 stránka — stačí nahrát 404.html do kořene
  • Řízení přístupu — veřejný, heslem chráněný, nebo jen pro přihlášené uživatele

Surfer je ideální když: chcete prostě hodit Hugo web na server a nic víc neřešit.

Surfer nestačí když: potřebujete server-side redirecty (.htaccess), servírovat soubory z tečkových složek (.well-known) nebo třeba Fediverse webfinger identitu.

Varianta 2: LAMP — když potřebujete víc

LAMP aplikace na Cloudronu dává plný Apache s podporou .htaccess. Hugo web na něm běží úplně stejně — Apache servíruje statické soubory bez problémů — ale navíc můžete:

  • Nastavit redirecty a rewrite pravidla přes .htaccess
  • Servírovat obsah z .well-known složky (webfinger, Let's Encrypt verifikace)
  • Propojit web s Fediverse — například redirect @arch@arch-linux.cz na GoToSocial instanci

Právě proto tento web (arch-linux.cz) běží na LAMP — potřebujeme webfinger redirect pro naši Fediverse identitu @arch@arch-linux.cz.

LAMP zvolte když: potřebujete cokoliv nad rámec prostého servírování souborů.

Krok za krokem: Hugo web na OSCloud

1. Instalace Hugo

Na Arch Linuxu:

sudo pacman -S hugo
hugo version

Na Ubuntu/Debianu:

sudo apt install hugo

Nebo stáhněte nejnovější verzi z GitHubu.

2. Vytvoření projektu

hugo new site muj-web
cd muj-web
git init

3. Přidání tématu

Můžete použít libovolné téma z themes.gohugo.io. My používáme Blowfish, ale pro začátek je dobré třeba Ananke:

git submodule add https://github.com/gohugo-ananke/ananke themes/ananke
echo 'theme = "ananke"' >> hugo.toml

4. Základní konfigurace

Upravte hugo.toml:

baseURL = "https://vasedomena.cz/"
languageCode = "cs"
title = "Můj web"
theme = "ananke"

5. První článek

hugo new posts/prvni-clanek/index.md

Otevřete content/posts/prvni-clanek/index.md a napište obsah v Markdownu:

---
title: "Můj první článek"
date: 2026-07-04
draft: false
description: "Zkušební článek na Hugo webu"
tags: ["hugo", "test"]
---

Tady je obsah článku v **Markdownu**.

## Podnadpis

- položka jedna
- položka dvě

Obrázky k článku umístěte do stejné složky (content/posts/prvni-clanek/) a v textu je vložte:

![Popis obrázku](obrazek.jpg)

6. Lokální náhled

hugo server -D

Otevřete http://localhost:1313 v prohlížeči. Hugo sleduje změny a automaticky stránku obnovuje.

7. Build

hugo --minify

Výsledné soubory najdete ve složce public/. To je váš kompletní web — čisté HTML, CSS a JavaScript.

8. Nasazení na OSCloud

Deploy záleží na tom, kterou aplikaci jste si zvolili.

Pro Surfer — CLI:

# instalace CLI
npm -g install cloudron-surfer

# konfigurace
surfer config --server https://vasedomena.cz --token VAS_API_TOKEN

# nahrání souborů
surfer put public/* /

API token vytvoříte v Surfer admin rozhraní (https://vasedomena.cz/_admin/) v sekci Settings.

Pro Surfer — SFTP:

lftp -p 222 -u "vas_uzivatel" sftp://vas-server.oscloud.cz
> mirror -R public/ /
> quit

Pro Surfer — webové rozhraní:

Přetáhněte soubory do správce na https://vasedomena.cz/_admin/.

Pro LAMP — SFTP:

lftp -p 222 -u "vas_uzivatel" sftp://vas-server.oscloud.cz
> mirror -R public/ /public/
> quit

U LAMP aplikace je SFTP root /app/data/, takže cílová složka je /public/.

Pokud potřebujete .htaccess, nahrajte ho do složky static/ v Hugo projektu — Hugo ho zkopíruje do public/ při buildu a SFTP ho nahraje na server.

9. Automatizace (volitelné)

Celý deploy se dá zabalit do jednoho skriptu:

#!/bin/bash
# deploy.sh
hugo --minify
surfer put public/* /
echo "Nasazeno!"
sudo bash ./deploy.sh

Pro LAMP variantu nahraďte surfer put za odpovídající lftp příkaz.

WordPress vs Hugo

WordPress i Hugo mají své místo. Tady je srovnání, proč jsme se pro náš konkrétní případ rozhodli jinak:

WordPressHugo
Načítánízávisí na cachinguokamžité
Bezpečnostpravidelné záplatyžádný vektor
Údržbapluginy, jádrožádná
ZálohyDB + souboryGit repo
ObsahWYSIWYG editorMarkdown
VerzovánínepraktickéGit nativně
ServerPHP + MySQLstatický

WordPress je výborný pro weby s e-shopem, členskou sekcí nebo tam, kde obsah spravují netechničtí uživatelé přes přehledné admin rozhraní. Pro blog, kde články píšeme v terminálu a verzujeme v Gitu, nám Hugo prostě sedl líp.

Závěr

Hugo na OSCloud je kombinace, která dává smysl. Rychlý, bezpečný a jednoduchý web bez zbytečné komplexity. Články píšete v Markdownu, verzujete v Gitu a nasadíte jedním příkazem.

Pro jednoduchý statický web sáhněte po Surferu. Pokud potřebujete redirecty, .well-known nebo Fediverse integraci, zvolte LAMP — obojí na OSCloud funguje skvěle.

Pokud vás zajímá self-hosting a chcete mít svá data pod kontrolou, mrkněte na OSCloud — českou platformu postavenou na open-source technologiích. Kromě hostingu webů nabízí Nextcloud, Matrix chat, PeerTube, Gitea a další služby.

Zdrojový kód tohoto webu je veřejně dostupný na naší Gitea — pull requesty vítány.


Máte otázky? Napište nám na Fediverse, Matrix nebo na fórum.

Číst dál