comandos bash que não cabem em uma página - tornam a saída rolável

comandos bash que não cabem em uma página - tornam a saída rolável

Provavelmente foi respondido em algum lugar, mas é difícil enquadrar a frase de pesquisa.

Estou executando uma janela de terminal bash e alguns comandos são grandes demais para caber na página (por exemplo ps -A)

Lembro-me vagamente de um parâmetro/método de linha de comando que mostra a saída do comando página por página para que eu possa rolar pela saída, mas não consigo lembrar o que é... alguma indicação?

Responder1

Para comandos que uso com frequência, geralmente configuro um functionem meu.bashrcpara fazê-los paginar se forem maiores que uma tela.

Como seu exemplo: (ps -A)

function ps { command ps "$@" |& less -F; }

Isso é substituído pspor uma função chamada ps, que chama o pscomando original com quaisquer argumentos fornecidos na linha de comando e, em seguida, canaliza a saída (stdoutestderr, usando o |&pipe) into less -F, que pausa se houver mais de uma tela cheia, mas sai imediatamente se houver menos de uma tela cheia.

MUITO prático, não interfere em nada que trabalhei até agora e é muito legal!

Você também pode adicionar opções frequentemente usadas aos comandos/funções:

function nm { command nm --demangle "$@" |& less -F; }

Isso nmsempre desmonta os símbolos C++. Epagina a saída. Yay!

Estou correndoDebian, então eu uso o apt-cachecomando com bastante frequência,procuraremostrarmajoritariamente. Esta função faz com que essas opções específicas sejam paginadas,procurara saída é classificada e tudo pagina:

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

Se o comando for 'pesquisar', classifique a saída e paginate com less -F, mas se o comando for qualquer outra coisa, apenas paginate, sem classificar.

Ocasionalmente, esqueço que tenho as funções e faço algo como:

apt-cache search gcc | less

A função não interfere, tudo funciona conforme o esperado, sem prejuízo de qualquer maneira.

Outro pequeno ajuste, eu uso o mesmo .bashrcem todos os meus sistemas, então às vezes um utilitário pode não estar instalado, então não há necessidade da função. Eu os faço condicionais assim:

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

Isso apenas usa o whichcomando para determinar se um programa está disponível; se não estiver, ele falha silenciosamente e ignora a instalação da função. Taa Daa!

Responder2

O método normal é canalizar a saída para "menos".

ls -R / | less

qé a chave para sair, assim como uma página de manual.

Se o comando puder produzir erros ou outra saída para stderr, você também pode direcioná-lo para o canal.

ls -R 2>&1 | less

Qualquer máquina que tenha bash também deveria ter menos. Em máquinas Linux antigas o programa eramais, mas isso faz apenas uma página por vez,menospermitirá que você role como desejar.

Responder3

Canalize a saída para 'mais'

output | more -d


Enter - > Scroll by line
Space - > Scroll by Page
q     - > Quit

Testado em sistema operacional baseado em rpm.

informação relacionada