¿Cuál es la opción equivalente para que el lscomando active la paginación como en DOS dir /p?
fuente
¿Cuál es la opción equivalente para que el lscomando active la paginación como en DOS dir /p?
No existe un equivalente directo en lssí mismo, pero existe la lessutilidad, que formateará la salida de cualquier comando como páginas separadas, desplazables por línea o página:
ls -C | less
Donde -Cdesencadena la visualización de columnas. Uso lahcomo argumentos ( ls -lah) para obtener un l ine mediante presentación en línea con unos archivos que se muestran ll (incluya los ocultos), y h uman filesizes legibles.
Para que los colores se muestren correctamente , debe agregar el --color=alwaysargumento lsy el -Rargumento en less *:
ls -C --color=always | less -R

esto muestra 'ls -ah --color = always | menos -R '
En contraste con more, lessle permitirá desplazarse por la salida. También es un poco más rápido para listados muy grandes.
La tubería funciona así:
Cada programa tiene entrada y salida, una tubería redirige la salida de un programa (ls) a la entrada de otro programa (menos). Y menos simplemente espera una entrada que luego formatea.
Un dos equivalente más antiguo sería pg:
ls | pg
Tú también puedes
ls | heado ls | tailpara mostrar solo la primera o la última parte de la salidawatch "ls"para mantener la pantalla abierta, actualizándola cada pocos segundos para ver los cambiosbanner $(ls)si está sentado muy lejos de la pantalla. (;Si encuentra todo eso demasiado largo para recordarlo, puede configurar un alias para ello:
Abra ~/.bash_aliasescon un editor de texto y agregue algo como esto:
alias lsp="ls -ah --color=always | less -R"
(este es un script que se ejecuta cada vez que se inicia un nuevo terminal virtual, debe configurar todos sus alias permanentes allí)
Ahora solo puede escribir lsp, o el nombre que elija.
Si desea poder pasar más argumentos a su alias, necesitamos definir una función en su lugar:
lsp(){ ls -ah --color=always "$@" | less -R; }
Una función, principalmente con este aspecto: name(){ commands; };puede aceptar argumentos, $1, $2, $3y así sucesivamente. $@significa "cada argumento, si lo hay" .
Ahora puede ejecutar algo así lsp *.py, lsp -Cy así sucesivamente. Insertamos los argumentos en el punto donde se pasan a ls. También podríamos haber insertado $ * por menos, si fuera el comando importante. Puede ver todos los argumentos de ls en man ls(vale la pena leer).
*: La razón de esto es que cada vez que canaliza algo, detecta un Terminal (en realidad el otro programa) que no es capaz de mostrar el color. "--color = always" obliga a ls a ignorar esto. El interruptor -R hace que repinte menos la pantalla, escapando los colores correctamente.
$*y$@hacer exactamente lo mismo. Se expanden a$1 $2 $3 .... Sin embargo, entre"$@"comillas , se expande a"$1" "$2" "$3" ...mientras que se"$*"expande a"$1 $2 $3 ..."(es decir, todos los argumentos en una sola cadena, utilizando el primer carácter deIFScomo separador). mywiki.wooledge.org/BashGuide/ParametersNo estoy seguro de si hay algún comando ls para la paginación. Sin embargo, puede usar una tubería y
less, así:Y use q para salir.
fuente
Prueba
ls | lessols | more. El segundo está cerca de la versión de DOS.fuente
ls --color=always -C | less -R