Způsoby platby Abuse

Příkaz more v systému Linux

26.11.2021, 20:00

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í.

Syntaxe, možnosti

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.

Jak používat

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.