Less (Unix)

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

less ( tj. méně) je v informatice název unixového příkazu, který vypisuje obsah textových souborů, vždy jednu celou obrazovku najednou. Jedná se tedy o pager (stránkovací utilitu).

Původ tohoto příkazu vyjadřuje fráze „less is more“ (méně je více). Příkaz less se podobá příkazu more, což je původní stránkovací nástroj z Berkeley UNIXu, ale je v mnoha ohledech vylepšen. +more Po výpisu stránky textu se less zastaví, zobrazí výzvu a čeká až mu předáte jeden z mnoha dostupných příkazů. V rámci souboru lze provádět množství různých úloh, například stránkovat směrem dopředu i dozadu, spouštět editor, nebo vyhledávat text podle vzoru.

Syntaxe

$ less [přepínače] [seznam-souborů]

Argument seznam-souborů je seznam názvů souborů, které chcete zobrazit. V případě, že není zadán žádný soubor, čte less data ze standardního vstupu.

Přepínače

--clear-screen nebo -c : Namísto posouvání obsahu překreslí celou obrazovku odshora dolů. * --quit-at-eof nebo -e : ( tj. +more konec) Příkaz less je normálně nutné ukončit stiskem q. Tento přepínač ukončí less automaticky poté, co je podruhé načten konec souboru, neboli EOF . * --QUIT-AT-EOF nebo -E : Podobně jako -e ukončí less, ale už při prvním načtení konce souboru. * --quit-if-one-screen nebo -F : Zobrazí soubor a ukončí less, pokud se celý soubor vejde na jednu obrazovku. * --LINE-NUMBERS nebo -N : Ve výpisu zobrazí čísla řádků. Zde je důležité chápat číslo řádku jako pořadí celého řádku, tedy posloupnost znaků od začátku do konce řádku (zkratka EOL), ne jako pořadí řádku v automaticky zalomeném textu v okně terminálu. * --long-prompt nebo -m : U každé další výzvy příkazu less se bude zobrazovat i procentuální podíl již zhlédnuté části souboru, s výjimkou čtení ze standardního vstupu, kde se nedá dopředu určit kolik dat bude ještě zadáno. * --squeeze-blank-lines nebo -s : Zobrazí více sousedních prázdných řádků jako jeden řádek. Hodí se například pro text, který je naformátován pro tisk. Prázdný prostor na začátku a konci textu bude tedy zredukován vždy na jeden řádek. * --tabs=n nebo -xn : Nastaví zarážky tabulátoru na n znaků od sebe. Implicitní rozestup je osm znaků. * --window=n nebo -zn : Implicitně je velikost posunu stránky nahoru a dolů o velikost obrazovky (okna terminálu). Tento přepínač nastaví velikost posunu stránky na n řádků.

Příkazy

Jak již bylo řečeno, po zobrazení textu se na posledním řádku terminálu zobrazí výzva a less čeká na váš další příkaz. Tyto příkazy jsou vlastně stisknutí určitých kláves nebo jejich kombinace, za kterými už není potřeba zadávat ENTER. +more K ovlivnění některých příkazů je možné použít číselný argument n, který je ale nepovinný a je implicitně nastaven na hodnotu 1 (pokud není řečeno jinak).

* h nebo H : ( nápověda) Zobrazí přehled všech dostupných příkazů, který je díky své obsáhlosti rovněž stránkován příkazem less :-) * q : Ukončí příkaz less. * nMEZERA : Stiskem mezerníku zobrazíte další obrazovku. +more S argumentem zobrazíte následujících n řádků. * nd nebo n + : ( dolů) Posune obrazovku o n řádků směrem dolů (vpřed). Hodnota n je zde polovina výšky obrazovky. Změníte-li n, stane se až do ukončení příkazu less novou implicitní hodnotou. * nb nebo n + : ( zpět) Posune obrazovku o n řádků směrem nahoru (zpět). Implicitní hodnota n je výška obrazovky. * ng : ( přejít) Přejde na řádek číslo n. * nENTER nebo nj : ( skok) Přejde směrem dopředu o n řádků. * v : Otevře aktuální soubor v editoru s kurzorem umístěným na aktuálním řádku. Pokud není v proměnné prostředí nastaveno jinak, less zavolá editor vim. * + : Překreslí celou obrazovku. Vhodné v případě, že dojde k rozsypání textu na obrazovce. * [n]:n : Skočí na další soubor v seznamu-souborů. Je-li n zadáno, půjde o skok na n-tý další soubor v seznamu-souborů. * . [příkazový-řádek] : Provede příkazový-řádek v shellu, implicitně sh (obvykle linkovaném na bash). Vynecháte-li příkazový-řádek, spustí less interaktivní shell. Znak procenta (%) v příkazovém řádku, bude nahrazen názvem aktuálního souboru.

Vyhledávání

V souborech otevřených pomocí stránkovacího nástroje less lze vyhledávat pomocí regulárních výrazů.

* /regulární-výraz : Hledá text odpovídající regulárnímu-výrazu směrem dopředu (dolů). Pokud regulární-výraz začíná znakem at (@), bez ohledu na to, kde v souboru se nacházíme, bude příkaz vyhledávat od začátku směrem ke konci souboru. +more Prohledává se nejen aktuální soubor, ale celý zadaný seznam-souborů. * . regulární-výraz : Podobný předchozímu příkazu, ale prohledává směrem zpět (nahoru). Se znakem at (@) bude hledat od posledního řádku v seznamu-souborů.

Pokud se v prvním zobrazeném řádku textu objeví levá závorka {, stiskněte ji a less přesune kurzor dopředu na odpovídající pravou závorku }. Obdobně pro stisk pravé závorky bude směrem zpět nalezena odpovídající levá. +more To to platí nejen pro složené { }, ale i hranaté [ ] a kulaté závorky.

Proměnné prostředí

Přepínače zadávané v příkazovém řádku lze nastavit i jako implicitní hodnotu v proměnné prostředí LESS. Například pokud chceme pro každé použití less mít velikost tabulátorů 4 a zobrazovat více prázdných řádků jako jeden, nastavíme proměnnou takto:

$ export LESS="-x4 -s"

Toto lze také nastavit v souboru ~/.bash_profile (bash) nebo ~/.login (tcsh).

Chcete-li less používat jako standardní stránkovací nástroj v příkazu man a dalších, nastavte proměnnou prostředí PAGER na less:

$ export PAGER=less

Předchozí příkaz přidal do souboru ~/bash_profile odpovídající řádek.

Související články

Seznam unixových utilit * more - původní stránkovací příkaz

Externí odkazy

[url=http://www.linuxmanpages.com/man1/less.1.php]less[/url] - manuálová stránka příkazu less (anglicky) - neplatný odkaz !

Kategorie:Standardní unixové příkazy Kategorie:Svobodný software

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top