Jak používat příkaz less v systému Linux

Photo of author

By etechblogcz

Příkaz less je nástroj, který umožňuje procházet textové soubory po částech, zobrazujíc vždy celou obrazovku textu. Ačkoliv se může zdát na první pohled jednoduchý, skrývá v sobě mnohem více funkcí, než by se mohlo zdát.

Historie příkazu less

V Linuxu a Unixu má téměř vše svůj původ. Příkaz less vychází z příkazu more, který byl poprvé vydán v roce 1978 jako součást 3.0 Berkeley Software Distribution Unix (3.0BSD). more umožňoval postupné procházení textových souborů po celých obrazovkách.

Nedostatek možnosti posouvat se v souboru zpět u starších verzí příkazu more inspiroval Marka Nudelmana k vývoji příkazu less, který tuto omezení odstranil. Práce na less začaly v roce 1983 a první verze byla vydána o dva roky později. Od roku 2019 je Mark Nudelman stále jeho správcem.

Je těžké si představit uživatele Linuxu, který by příkaz less nikdy nepoužil. I když jste ho nepoužili přímo k procházení textového souboru, pravděpodobně jste se setkali s příkazem man. A právě man využívá less k zobrazení manuálových stránek.

Tento příkaz nabízí mnoho užitečných funkcí.

Proč preferovat less před more

Příkaz less se v průběhu let neustále vyvíjel a přidávaly se do něj nové funkce. Disponuje rozsáhlým množstvím voleb příkazového řádku a klávesových zkratek. Porovnáme-li manuálovou stránku příkazu less s manuálovou stránkou příkazu more, je ihned patrné, že less má nad more výraznou převahu.

Ačkoli more později překonal svou počáteční slabinu a umožňuje posouvání zpět v souboru, platí to pouze pro soubory. Nezpracuje vstup přes rouru, což less zvládá bez problémů.

Díky své flexibilitě při navigaci v souborech, prohlížení více souborů, vyhledávání textu, vytváření záložek a práci s proudem dat je less jasnou volbou. Je vhodnější používat less namísto more.

Čtení souboru pomocí less

Pro načtení souboru do less zadejte jeho název do příkazového řádku:

less Dr-Jekyll-and-Mr-Hyde-001.txt

Soubor se načte a zobrazí, přičemž se zobrazí horní (tedy začátek) souboru. K procházení textu dopředu a dozadu můžete použít kolečko myši.

K posunu po celých obrazovkách textu vpřed použijte mezerník nebo klávesu Page Down.

Klávesa Page Up posouvá text zpět (směrem k začátku souboru). Klávesy Home a End vás přesunou přímo na začátek, respektive konec textového souboru.

Název souboru je zobrazen v levém dolním rohu obrazovky. Při pohybu v souboru se spodní řádek vymaže a je používán pro zobrazování zpráv a zadávání příkazů.

Pro ukončení less stiskněte klávesu „q“.

Zobrazení čísel řádků

Chcete-li nechat očíslovat řádky textového souboru, použijte volbu -N (čísla řádků).

less -N Dr-Jekyll-and-Mr-Hyde-001.txt

Čísla řádků mohou být užitečná pro navigaci zpět ke konkrétním řádkům nebo sekcím v log souborech a dalších souborech, které nejsou psány běžným textem.

Vyhledávání v less

Pro vyhledávání textu v souboru stiskněte klávesu „/“ a zadejte hledaný výraz. Vyhledávání rozlišuje malá a velká písmena. Váš hledaný výraz se zobrazí na spodním řádku obrazovky. Pro provedení vyhledávání stiskněte klávesu „Enter“.

V tomto příkladu je hledaný výraz „Enfield“, jak lze vidět ve spodní části obrazovky.

Vyhledávání probíhá od aktuální pozice do konce textového souboru. Chcete-li prohledat celý soubor, musíte se před vyhledáváním přesunout na jeho začátek.

Pokud nejsou nalezeny žádné shody, budete o tom informováni. V opačném případě se obrazovka přesune na pozici nalezeného výrazu.

Chcete-li najít další výskyt hledaného výrazu, stiskněte klávesu „n“. Pro vyhledání předchozího výskytu stiskněte „N“.

Pro vyhledávání směrem k začátku souboru od aktuální pozice stiskněte klávesu „?“ a zadejte hledaný výraz. Další výskyt najdete klávesou „n“ a předchozí pomocí „N“.

Je důležité si uvědomit, že při vyhledávání zpět se směr vyhledávání „n“ a „N“ obrací. „n“ hledá výskyt blíže k začátku souboru a „N“ hledá výskyt blíže ke konci souboru.

Otevření souboru s hledaným výrazem

Pomocí volby -p (vzor) můžete nechat less prohledat textový soubor a najít první výskyt hledaného výrazu. Následně zobrazí stránku s nalezeným výskytem namísto první stránky souboru, pokud hledaný výraz není obsažen na první stránce.

Je důležité si všimnout, že mezi -p a hledaným výrazem není mezera.

less -pEnfield Dr-Jekyll-and-Mr-Hyde-001.txt

Soubor se zobrazí s prvním nalezeným výskytem hledaného výrazu zvýrazněným.

Navigace v less: Nejužitečnější klávesy

Následující klávesy vám usnadní pohyb a vyhledávání v textovém souboru:

Posun o řádek vpřed: Šipka dolů, Enter, e nebo j
Posun o řádek zpět: Šipka nahoru, y nebo k
Posun o stránku vpřed: Mezerník nebo Page Down
Posun o stránku zpět: Page Up nebo b
Posun doprava: Šipka vpravo
Posun doleva: Šipka doleva
Přejít na začátek souboru: Home nebo g
Přejít na konec souboru: End nebo G
Přejít na konkrétní řádek: Zadejte číslo řádku a poté stiskněte „g“
Skok na procento v souboru: Zadejte procento a poté stiskněte „p“ nebo „%“. (Můžete zadat i desetinná čísla, např. „27.2“ a poté „p“ nebo „%“.)
Hledat vpřed: Stiskněte „/“ a zadejte hledaný výraz, např. „/Jekyll“, a stiskněte Enter
Hledat zpět: Stiskněte „?“ a zadejte hledaný výraz, např. „/Hyde“, a stiskněte Enter
Další odpovídající hledaný výraz: n
Předchozí odpovídající hledaný výraz: N
Konec: q

Odstranění prázdných řádků

Volba -s (squeeze prázdných řádků) slouží k odstranění sekvencí prázdných řádků a nahrazuje je jediným prázdným řádkem.

Náš ukázkový soubor obsahuje několik po sobě jdoucích prázdných řádků. Podívejme se, jak se s nimi less vypořádá po použití volby -s:

less -s Dr-Jekyll-and-Mr-Hyde-001.txt

Všechny dvojité (nebo vícenásobné) prázdné řádky byly nahrazeny jediným prázdným řádkem.

Prohlížení více souborů

less umí otevřít i více souborů. Můžete se mezi nimi snadno přepínat tam a zpět. less si pamatuje vaši pozici v každém souboru.

less Dr-Jekyll-and-Mr-Hyde-001.txt Dr-Jekyll-and-Mr-Hyde-002.txt

Soubory se otevřou a zobrazí se první z nich. Bude vám zobrazeno, na který soubor se díváte a kolik souborů bylo načteno.

Pro zobrazení dalšího souboru stiskněte klávesu „:“ a poté „n“.

Zobrazí se druhý soubor a informace ve spodním řádku se aktualizují, aby indikovaly, že si prohlížíte druhý soubor.

Pro přesun na předchozí soubor napište „:“ a poté stiskněte „p“.

Použití značek

less vám umožňuje vkládat značky, abyste se mohli snadno vrátit k označenému místu v textu. Každá značka je reprezentována písmenem. Pro vložení značky na aktuálně zobrazený řádek stiskněte „m“ a poté písmeno, které chcete pro značku použít, například „a“.

Po stisknutí „m“ se ve spodním řádku obrazovky zobrazí výzva, dokud nestisknete klávesu s písmenem.

Jakmile stisknete písmeno, výzva zmizí.

Z jakéhokoli jiného místa v souboru se můžete snadno vrátit ke značce stisknutím apostrofu (jednoduchých uvozovek) „’“ a následným stisknutím písmene značky, ke které se chcete vrátit. Po stisknutí „’“ budete vyzváni k zadání značky, na kterou chcete přejít.

Stiskněte písmeno značky, ke které se chcete vrátit, a zobrazí se vám daná část textového souboru.

Použití Piped Input s less

less dokáže stejně snadno zobrazovat informace, které přicházejí jako proud textu, jako by to byl soubor.

Příkaz dmesg zobrazuje zprávy z kruhové vyrovnávací paměti jádra. Výstup z dmesg můžeme přesunout do less pomocí následujícího příkazu:

dmesg | less

Zobrazí se výstup z dmesg.

Můžete procházet a prohledávat zadaný vstup, jako by to byl soubor. Pro zobrazení nejnovějších zpráv stiskněte klávesu „End“ pro přesun na konec souboru.

Když přicházejí nové zprávy, musíte držet stisknutou klávesu „End“, aby se spodní část souboru zobrazovala v less. To není příliš pohodlné. Pokud chcete, aby se spodní část textu vždy zobrazovala, i když jsou přidávána nová data, použijte možnost +F (vpřed). Všimněte si použití znaku + a ne - jako příznaku možnosti.

dmesg | less +F

Příznak volby + říká less, aby s volbou zacházelo, jako byste tento příkaz použili uvnitř less. Pokud jste tedy zapomněli použít možnost +F, můžete stisknout klávesu „F“ uvnitř less.

less zobrazí spodní část textu, která ukazuje nejnovější zprávy z dmesg. Zobrazí zprávu, že čeká na další data. Když se objeví další zprávy jádra, obrazovka se posouvá, takže vždy vidíte nejnovější zprávy.

V tomto režimu nelze posouvat ani stránkovat; je určen pro zobrazení spodní části odesílaného textu. Pro opuštění tohoto režimu stiskněte Ctrl+c a vrátíte se do běžného interaktivního režimu less.

Úpravy souborů s less

Soubory můžete upravovat pomocí less – no, tak trochu. Tento příkaz nemůže upravovat soubory, ale pokud při prohlížení souboru napíšete „v“, soubor se otevře ve vašem výchozím editoru. Po zavření editoru se vrátíte zpět do less.

Stiskněte „v“ při prohlížení souboru v less:

Soubor se načte do výchozího editoru, v tomto případě nano:

Po zavření editoru se přepnete zpět do less.

Závěr

Ačkoli se to může zdát nelogické, v tomto případě less > more.