Nástroj more je vhodný pro prohlížení souborů po stránkách v terminálu Linuxu. Za své jméno vděčí nápisu more, který se zobrazuje v dolní části každé stránky. Linuxový příkaz more je jedním z nejprimitivnějších příkazů pro práci s textem. Jeho nejbližší příbuzný, příkaz less, má mnohem větší sadu možností a dalších funkcí. Podívejme se na jeho syntaxi a příklady jeho použití.
V emulátoru terminálu Linux se příkaz zapisuje takto:
$ more options_file
Seznam možností příkazu:
d -
vypisuje na konec stránky informace o klávesách použitých k pokračování, ukončení nebo přijetí pokynů;-l
- ignoruje znak přerušení stránky v textu;-f
- počítání počtu logických řádků místo řádků obrazovky;-p
- vymazání obrazovky terminálu, aby uživatel nemusel rolovat před zobrazením další části textu;-c
- odstranění nutnosti posouvání (stejně jako -p) - zobrazení textu od horního okraje obrazovky a vymazání předchozího výstupu po řádcích;-s
- nahrazení několika prázdných řádků za sebou jedním prázdným řádkem;-u
- odstranění podtržení;-n
- zobrazení n-tého počtu řádků;+n
- zobrazení textu od řádku s číslem n;+/leght
- vyhledání zadaného řádku v souboru a zahájení zobrazování textu od něj;--help
- vyvolá nápovědu;-v (--version
) - zobrazí aktuální verzi nástroje.Příkaz more má také vlastní klávesové zkratky a interaktivní příkazy:
h (?)
- nápověda (zobrazí pouze informace o interaktivních příkazech);SPACE
- zobrazení další části textu (ve výchozím nastavení závisí počet řádků na aktuální velikosti okna terminálu);z
- totéž jako SPACE;ENTER
- zobrazení textu po řádcích (krok příkazu - jeden řádek);d (^D
) - posun textu o počet řádků odpovídající velikosti terminálu;q (Q)
- ukončení nástroje;s
- posun o jeden řádek vpřed;f
- posun o jednu stránku obrazovky vpřed;b (^B
) - posun o jednu stránku obrazovky zpět;'
- návrat na místo, kde vyhledávání začalo;=
- zobrazí aktuální počet řádků;/pattern
- vyhledávání pomocí regulárních výrazů;n
- vyhledávání slov a frází odpovídajících naposledy použitému regulárnímu výrazu;!command (:příkaz)
- provedení příkazu v podskupině;v
- otevření souboru ve výchozím přiřazeném textovém editoru, a pokud není žádný nalezen, použije se k otevření souboru konzolový textový editor;^L
- vymazání všeho kromě obsahu souboru z obrazovky;:n
- přechod na další soubor;:p
- přesun na předchozí soubor;:f
- zobrazí název aktuálního souboru a počet řádků v něm;.
- opakování provedení předchozího příkazu.Pro zobrazení textu ze souboru se používá příkaz :
$ more example-file-for-more-command.txt
V příkazu můžete také vypsat několik názvů souborů za sebou a oddělit je mezerou. Obsah těchto souborů se zobrazí ve stejném pořadí.
Example:
$ more abc1.txt dfg2.txt
Pokud se soubor nenachází v aktuálním adresáři, musíte zadat jeho úplnou adresu.
Někdy je třeba zobrazit ne celý text, ale jen jeho část. Pro takové případy jsou k dispozici volby - (mínus) a + (plus), vedle nichž se zadává počet řádků. Například pro zobrazení obsahu souboru od řádku 8 je třeba k příkazu přidat volbu +8
, a aby příkaz zobrazil výsledek sestávající maximálně z 5 řádků, je třeba přidat volbu -5
:
$ more +8 -5 example-file-for-more-command.txt
Ve výchozím nastavení počítá příkaz more Linux jako řádek přesně řádek obrazovky - počet znaků, které se vejdou do jednoho řádku přes celou šířku okna. Chcete-li provádět počítání v logických řetězcích (při psaní se oddělují stisknutím klávesy Enter), použije se volba -f
.
Příklad:
$ more -f +8 -5 example-file-for-more-command.txt
more umí zpracovávat nejen textové soubory - lze do něj přesměrovat výstup jiných příkazů (pipelining). První je hlavní příkaz, druhý je more
s požadovanými volbami. Příkazy jsou nutně odděleny svislou čarou.
Příklad: Příkaz pro zadání příkazů se zobrazí na obrazovce:
$ locate bin | more -10
Pokud příkaz vypsal část textu a nečinně čeká na další uživatelské akce, mohou být provedeny interaktivní příkazy. Jsou potřebné k řízení výstupu.
Chcete-li zjistit číslo aktuálního řádku, stiskněte klávesu =
a chcete-li zobrazit soubor v textovém editoru, stiskněte klávesu v.
Všimněte si, že ne všechny příkazy lze provést, pokud je výstup jiného příkazu přesměrován do nástroje. Otevření textového editoru, stejně jako návrat o jednu stránku zpět (b nebo ^B) funguje pouze při prohlížení textových souborů.
Chcete-li zobrazit seznam všech interaktivních příkazů, stiskněte klávesu h
.