Comandos bash que no caben en una página: hacen que la salida sea desplazable

Comandos bash que no caben en una página: hacen que la salida sea desplazable

Probablemente haya sido respondida en alguna parte, pero es difícil formular la frase de búsqueda.

Estoy ejecutando una ventana de terminal bash y algunos comandos son demasiado grandes para caber en la página (p. ej. ps -A)

Recuerdo vagamente un parámetro/método de línea de comando que muestra la salida del comando página por página para poder desplazarme por la salida, pero no recuerdo qué es... ¿algún consejo?

Respuesta1

Para los comandos que uso con frecuencia, generalmente configuro un functionen mi.bashrcpara hacerlos paginar si son más largos que una pantalla.

Como tu ejemplo: (ps -A)

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

Esto se reemplaza pscon una función, llamada ps, que llama al comando original pscon cualquier argumento dado en la línea de comando, luego canaliza la salida (stdoutystderr, usando la |&tubería) en less -F, que se detiene si hay más de una pantalla completa, pero sale inmediatamente si hay menos de una pantalla completa.

MUY útil, no interfiere con nada con lo que he trabajado hasta ahora y ¡es simplemente genial!

Incluso puedes agregar opciones de uso frecuente en el comando/funciones también:

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

Esto hace que nmsiempre se exijan símbolos de C++. Ypagina la salida. ¡Hurra!

Estoy corriendoDebian, entonces uso el apt-cachecomando con bastante frecuencia,buscaryespectáculoprincipalmente. Esta función hace que esas opciones particulares se paginan,buscarla salida está ordenada y todo se pagina:

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

Si el comando es 'buscar', ordene la salida, luego paginar con less -F, pero si el comando es cualquier otra cosa, simplemente paginar, sin ordenar.

De vez en cuando olvido que tengo las funciones y hago algo como:

apt-cache search gcc | less

La función no interfiere, todo funciona como se esperaba, no hay ningún daño de ninguna manera.

Otro pequeño ajuste, uso el mismo .bashrcen todos mis sistemas, por lo que a veces es posible que una utilidad no esté instalada, por lo que no es necesaria la función. Los hago condicionales así:

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

Esto simplemente usa el whichcomando para determinar si un programa está disponible; si no lo está, falla silenciosamente y omite la instalación de la función. ¡Taa Daa!

Respuesta2

El método normal es canalizar la salida a "menos".

ls -R / | less

qes la clave para salir, como una página de manual.

Si el comando puede producir errores u otros resultados en stderr, es posible que desees dirigirlo también a la tubería.

ls -R 2>&1 | less

Cualquier máquina que tenga bash debería tener menos también. En máquinas Linux antiguas, el programa eramás, pero eso hace sólo una página a la vez,menosle permitirá desplazarse como desee.

Respuesta3

Canalice la salida a 'más'

output | more -d


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

Probado en sistema operativo basado en rpm.

información relacionada