12. Prohlížení textových souborů
Řada 2.x vanilkové příchuti Linuxu: Knihy kouzel je od 15. července 2022
do 1. března 2025 ve stavu dlouhodobé pasivní údržby;
nahlášené chyby budou opravovány, ale aktivní vývoj se již věnuje jiným
projektům. Máte-li zájem pokračovat v tvorbě Linuxu: Knihy kouzel
pro novější verze linuxových operačních systémů,
kontaktujte autora nebo rovnou vytvořte odnož.
1. Úvod
Tato kapitola se specializuje na prohlížení textových souborů (např. systémových záznamů), tedy zobrazování jejich obsahu uživateli bez možnosti tento obsah měnit, ale s možností ho prohledávat a filtrovat.
Pokud máte na práci se soubory větší požadavky, než co vám nabízejí nástroje popsané v této kapitole, měli byste použít plnohodnotný editor, např. vim.
Příkaz „less“ je vyvíjen v rámci projektu GNU, příkaz „more“ nikoliv.
2. Definice
- Řádek souboru (resp. řádka souboru) je řádek, jak se nachází v prohlíženém souboru (tedy posloupnost znaků oddělená od ostatních řádků ukončovačem řádky).
- Řádka obrazovky (resp. řádek obrazovky) je řádka, jak je prohlížecím programem zobrazena na terminálu. Jeden řádek souboru se může zalomit na více řádek obrazovky.
3. Zaklínadla
3/1 Prohlížení a sledování souborů
@otevřít textový soubor v programu less/programu more#1
less [volby] [--] cesta/k/souboru
more [--] cesta/k/souboru
tail -f [--] soubor
less [-N] +F [--] soubor
@otevřít textový soubor v režimu pro čtení editoru „vim“#3
view [--] cesta/k/souboru
@prohlížet text získaný přes rouru#5
zdroj | less [-N] [-R] -
3/2 Volby příkazu less
@zachovat terminálové formátování vstupu (escape-sekvence)#1
-R
@zobrazit řádek č. N/konec souboru#2
+N
+G
@po spuštění vyhledat první shodu s regulárním výrazem#3
'+/reg. výraz'
4. Zaklínadla: less (ovládání)
4/1 Základní ovládání
@ukončit less#1
q
@skok o stránku vpřed/vzad#2
PageDown
PageUp
@skok o řádku obrazovky vpřed/vzad#3
↓
↑
@skok na začátek/na konec/doprostřed souboru#5
Home
End
50p
@zobrazit vestavěnou nápovědu#6
h
@skok na řádek č. N#7
Ng
@znovunačíst obsah souboru#8
Shift+R
4/2 Vyhledávání
@skákat po řádcích obrazovky odpovídajících poslednímu hledání vpřed/zpět#1
[kolikrát]n
[kolikrát]N
@vyhledat vpřed řádku neobsahující shodu s reg. výrazem#3
/
Ctrl+N
regulární výraz
Enter
@zvýraznit podřetězce odpovídající regulárnímu výrazu#4
/
Ctrl+K
regulární výraz
Enter
@přepnout (vypnout či zapnout) zvýraznění shod s r.v.#5
Esc
U
4/3 Filtrování
@zobrazit jen řádky obsahující/neobsahující shodu s reg. výrazem#1
®ulární výrazEnter
& Ctrl+N regulární výrazEnter
@vypnout filtrování#2
&Enter
4/4 Pojmenované pozice
@přepnout zobrazení sloupce s pojmenovanými pozicemi#1
-JEnter
@pojmenovat pozici#2
mpismeno
@skok na pozici#3
'pismeno
4/5 Ostatní příkazy
@přepnout (vyp:zap) sloupec s čísly řádků#1
-NEnter
@nezalamovat řádky a umožnit pohyb doprava a doleva pomocí klávesových šipek#2
--shiftEnter1Enter-SEnter
@zobrazit ve stavové řádce pozici v souboru (dočasně/do ukončení)#3
Ctrl+G
-MEnter
@překreslit obsah terminálu#4
Ctrl+L
@spustit Bash#5
!bashEnter
5. Zaklínadla: more
5/1 Ovládání „more“
@ukončit more#1
q
@skok o stránku vpřed#2
Space
@skok o řádku obrazovky vpřed#3
Enter
@zobrazit vestavěnou nápovědu#5
h
@zobrazit číslo aktuální řádky (souboru, nebo obrazovky?)#6
=
6. Instalace na Ubuntu
Všechny použité příkazy jsou základními součástmi Ubuntu, přítomnými i v minimální instalaci, jen není-li nainstalovaný „vim“, použije se místo něj podobný editor „vi“.
7. Tipy a zkušenosti
- Program „less“ se hodí na jednoduché prohlížení, pro komplikovanější úlohy použijte editor „vim“ nebo jiný textový editor, případně s předzpracováním prohlíženého souboru vhodným nástrojem pro zpracování textu.
- Prohlížíte-li si programem „less“ text z roury, jejíž zdrojový příkaz ještě nedoběhl, a pokusíte-li se přitom přejít za konec dosud načteného vstupu, program „less“ se zastaví a bude čekat na další vstup; z tohoto stavu ho můžete probrat zkratkou Ctrl+C.
8. Další zdroje informací
- Wikipedie: less
- man less (anglicky)
- Oficiální stránka programu less (anglicky)
- TL;DR: less (anglicky)
- balíček less (anglicky)
- YouTube: less for beginners (anglicky)
9. Zákulisí kapitoly
V této verzi kapitoly chybí:
- nastavení velikosti tabulátoru (less -x)
Tato kapitola záměrně nepokrývá:
- nic
1 Příkaz „tail“ vypisuje nové řádky okamžitě, příkaz „less“ se zpožděním. Sledování v obou případech ukončíte Ctrl+C; příkaz „less“ pak musíte ještě navíc uzavřít klávesou „q“. less -N zobrazí čísla řádek.
2 Sledování ukončíte klávesovou zkratkou Ctrl+C. Náhradou příkazu „cat“ za „sed“ či „egrep“ můžete soubor před sledováním přefiltrovat.
3 Vykřičník jako první znak má v tomto případě zvláštní význam, takže pokud jím začíná váš regulární výraz, musíte ho odzvláštnit zpětným lomítkem.
Líbí se vám tento projekt a chcete, aby byl ještě lepší? Můžete mi s tím pomoci. Zmiňte se o něm technicky zdatným přátelům, opravte překlepy a nahlašte nefunkční zaklínadla, aby mohla být opravena; poskytněte mi zpětnou vazbu nebo se zapojte do vývoje nových kapitol. Další informace na GitHubu v dokumentu Jak se zapojit.