¿Cuál es la opción equivalente para que el ls
comando active la paginación como en DOS dir /p
?
fuente
¿Cuál es la opción equivalente para que el ls
comando active la paginación como en DOS dir /p
?
No existe un equivalente directo en ls
sí mismo, pero existe la less
utilidad, que formateará la salida de cualquier comando como páginas separadas, desplazables por línea o página:
ls -C | less
Donde -C
desencadena la visualización de columnas. Uso lah
como 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=always
argumento ls
y el -R
argumento en less *:
ls -C --color=always | less -R
esto muestra 'ls -ah --color = always | menos -R '
En contraste con more
, less
le 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 | head
o ls | tail
para 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_aliases
con 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
, $3
y así sucesivamente. $@
significa "cada argumento, si lo hay" .
Ahora puede ejecutar algo así lsp *.py
, lsp -C
y 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 deIFS
como 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 | less
ols | more
. El segundo está cerca de la versión de DOS.fuente
ls --color=always -C | less -R