GNU/Linux >> Znalost Linux >  >> Linux

bash příkazy, které se nevejdou na jednu stránku – umožňují rolování výstupu

Pro příkazy, které často používám, obvykle nastavuji function v mém .bashrc aby mohly stránkovat, pokud jsou delší než obrazovka.

Jako váš příklad:(ps -A)

function ps { command ps "[email protected]" |& less -F; }

Nahrazuje ps s funkcí nazvanou ps , který volá původní ps příkaz s jakýmikoli argumenty zadanými na příkazovém řádku, pak výstup zprostředkuje potrubím (stdout and stderr pomocí |& potrubí) do less -F , která se pozastaví, pokud je více než plná obrazovka, ale okamžitě se ukončí, pokud je méně než plná obrazovka.

VELMI šikovné, nezasahuje do ničeho, s čím jsem doposud pracoval, a je prostě cool!

Do příkazu/funkcí můžete dokonce přidat často používané možnosti:

function nm { command nm --demangle "[email protected]" |& less -F; }

Tím je nm vždy demastovat C++ symboly. A stránkování výstupu. Hurá!

Používám Debian , takže používám apt-cache poměrně často, hledejte a zobrazit většinou. Tato funkce způsobí, že tyto konkrétní možnosti budou stránkovat, hledat výstup je setříděn a vše je stránkováno:

function apt-cache { case  "$1" in "search") command apt-cache "[email protected]" | sort | less -F;; *) command apt-cache "[email protected]" | less -F;; esac; }

Pokud je příkaz 'search', seřaďte výstup a poté stránkujte pomocí less -F , ale pokud je příkaz něco jiného, ​​stačí stránkovat, bez řazení.

Občas zapomenu, že mám funkce, a udělám něco jako:

apt-cache search gcc | less

Funkce neruší, vše funguje podle očekávání, žádná škoda.

Další malá úprava, používám stejný .bashrc na všech mých systémech, takže někdy nemusí být nástroj nainstalován, takže tato funkce není potřeba. Podmíním je takto:

which apt-cache &>/dev/null && function apt-cache { case  "$1" in "search") command apt-cache "[email protected]" |& sort | less -F;; *) command apt-cache "[email protected]" |& less -F;; esac; }

Toto používá pouze which příkaz k určení, zda je program dostupný, pokud není, tiše selže a přeskočí instalaci funkce. Taa Daa!


Normální metodou je přesměrovat výstup na "méně".

ls -R / | less

q je klíčem k ukončení, stejně jako manuálová stránka.

Pokud příkaz může způsobit chyby nebo jiný výstup do stderr, možná budete chtít nasměrovat také do roury.

ls -R 2>&1 | less

Každý stroj, který má bash, by měl mít také méně. Na starých počítačích se systémem Linux byl program více , ale to dělá jen jednu stránku najednou, méně vám umožní posouvat, jak chcete.


Linux
  1. Jak předat výstup jednoho příkazu jako argument druhému?

  2. Jak namapovat jeden příkaz Vim k provádění příkazů Bash založených na OS?

  3. 15 užitečných vestavěných příkazů Bash Shell (s příklady)

  1. UNIX / Linux :Příklady příkazů historie bash pro opakování posledních příkazů

  2. bash - příkaz make nenalezen

  3. Seznam souborů složky stránku po stránce pomocí příkazu LS

  1. Propojené příkazy s ovládacími operátory v Bash

  2. Přesměrovat výstup příkazu time v unixu do proměnné v bash?

  3. Podrobný výstup příkazu Bash find