Spôsoby platby Abuse

Príkaz more v systéme Linux

26.11.2021, 20:00

Nástroj more je vhodný na prezeranie jednotlivých stránok súborov v termináli Linuxu. Za svoj názov vďačí nápisu more, ktorý sa zobrazuje v spodnej časti každej stránky. Linuxový príkaz more je jedným z najprimitívnejších príkazov na prácu s textom. Jeho najbližší príbuzný, príkaz less, má oveľa väčšiu sadu možností a ďalších funkcií. Pozrime sa na jeho syntax a príklady jeho použitia.

Syntax, možnosti

V emulátore terminálu Linux sa príkaz zapisuje nasledovne:

$ more options_file

Zoznam možností príkazu:

  • -d - na konci stránky vypíše informácie o klávesoch použitých na pokračovanie, ukončenie alebo prijatie pokynov;
  • -l - ignoruje znak prelomenia stránky v texte;
  • -f - počítanie počtu logických riadkov namiesto riadkov obrazovky;
  • -p - vymazanie obrazovky terminálu, aby používateľ nemusel rolovať pred zobrazením ďalšej časti textu;
  • -c - odstránenie potreby posúvania (podobne ako -p) - zobrazenie textu od horného okraja obrazovky a vymazanie predchádzajúceho výstupu po riadkoch;
  • -s - nahradenie niekoľkých prázdnych riadkov za sebou jedným prázdnym riadkom;
  • -u - odstránenie podčiarknutia;
  • -n - zobrazenie n-tého počtu riadkov;
  • +n - zobrazenie textu začínajúceho od riadku s číslom n;
  • +/leght - vyhľadá v súbore zadaný riadok a začne zobrazovať text od neho;
  • --help - vyvolanie nápovedy;
  • -v (--version ) - zobrazí aktuálnu verziu nástroja.

Príkaz more má aj vlastné klávesové skratky a interaktívne príkazy:

  • h (?) - nápoveda (zobrazí informácie len o interaktívnych príkazoch);
  • SPACE - zobrazenie ďalšej časti textu (štandardne počet riadkov závisí od aktuálnej veľkosti okna terminálu);
  • z - to isté ako SPACE;
  • ENTER - zobrazenie textu po riadkoch (krok príkazu - jeden riadok);
  • d (^D ) - posúvanie textu o počet riadkov zodpovedajúci veľkosti terminálu;
  • q (Q) - ukončenie programu;
  • s - posun o jeden riadok dopredu;
  • f - posun o jednu stránku obrazovky dopredu;
  • b (^B ) - posun o jednu stranu obrazovky dozadu;
  • ' - návrat na miesto, kde sa vyhľadávanie začalo;
  • = - zobrazí aktuálny počet riadkov;
  • /pattern - vyhľadávanie pomocou regulárnych výrazov;
  • n - vyhľadávanie slov a fráz zodpovedajúcich naposledy použitému regulárnemu výrazu;
  • !command (:príkaz ) - vykonanie príkazu v podskupine;
  • v - otvorenie súboru v predvolene priradenom textovom editore, a ak sa žiadny nenájde, použije sa na otvorenie súboru konzolový textový editor;
  • ^L - vymazanie všetkého okrem obsahu súboru z obrazovky;
  • :n - presun na ďalší súbor;
  • :p - presun na predchádzajúci súbor;
  • :f - zobrazí názov aktuálneho súboru a počet riadkov v ňom;
  • . - zopakovať vykonanie predchádzajúceho príkazu.

Ako používať

Na zobrazenie textu zo súboru sa používa príkaz:

$ more example-file-for-more-command.txt

V príkaze môžete uviesť aj niekoľko názvov súborov za sebou, pričom ich oddeľte medzerou. Obsah týchto súborov sa zobrazí v rovnakom poradí.

Príklad: Súbory, ktoré sa nachádzajú v zozname súborov, sa zobrazia ako súbory:

$ more abc1.txt dfg2.txt

Ak sa súbor nenachádza v aktuálnom adresári, musíte zadať jeho úplnú adresu.

Niekedy je potrebné zobraziť nie celý text, ale len jeho časť. Pre takéto prípady sú k dispozícii možnosti - (mínus) a + (plus), vedľa ktorých sa uvádza počet riadkov. Napríklad, ak chcete zobraziť obsah súboru začínajúci od riadku 8, treba do príkazu pridať voľbu +8, a aby príkaz zobrazil výsledok pozostávajúci z maximálne 5 riadkov, treba pridať voľbu -5:

$ more +8 -5 example-file-for-more-command.txt

V predvolenom nastavení príkaz more Linux počíta za riadok presne riadok obrazovky - počet znakov, ktoré sa zmestia do jedného riadku na šírku okna. Na vykonanie počítania v logických reťazcoch (pri písaní sa oddeľujú stlačením klávesu Enter) sa používa voľba -f.

Príklad:

$ more -f +8 -5 example-file-for-more-command.txt

viac dokáže spracovať nielen textové súbory - možno doň presmerovať výstup iných príkazov (pipelining). Prvý je hlavný príkaz, druhý je more s požadovanými voľbami. Príkazy sú nevyhnutne oddelené zvislou čiarou.

Príklad: Príkaz na zadanie príkazov, ktorý sa nachádza na obrazovke, sa zobrazí na obrazovke:

$ locate bin | more -10

Keď príkaz vyprodukoval časť textu a nečinne čaká na ďalšie akcie používateľa, môžu sa vykonať interaktívne príkazy. Sú potrebné na riadenie výstupu.

Ak chcete zistiť číslo aktuálneho riadku, stlačte kláves = a ak chcete zobraziť súbor v textovom editore, stlačte kláves v.

Všimnite si, že nie všetky príkazy je možné vykonať, ak je výstup iného príkazu presmerovaný do nástroja. Otvorenie textového editora, ako aj návrat o jednu stránku späť (b alebo ^B) funguje len pri prezeraní textových súborov.

Ak chcete získať zoznam všetkých interaktívnych príkazov, stlačte kláves h.