
¿Cuál es la opción equivalente para que el ls
comando active la paginación como lo dir /p
hace en DOS?
Respuesta1
No existe un equivalente claro en ls
sí mismo, pero existe laless
utilidad, que formateará la salida de cualquier comando como páginas separadas, desplazables por línea o página:
ls -C | less
Donde -C
se muestra la columna de desencadenadores. Utilice lah
como argumento ( ls -lah
) para obtener unyovisualización línea por línea conaTodos los archivos que se muestran (incluidos los ocultos), yhTamaños de archivo legibles por humanos.
Para que los colores se muestren correctamente, debe agregar el
--color=always
argumento als
y el-R
argumento a menos*:ls -C --color=always | less -R
esto muestra 'ls -ah --color=always | menos -R'
En contraste conmore
,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 equivalente de dos más antiguo sería
pg
:ls | pg
Tú también puedes
- Utilice
ls | head
ols | tail
para mostrar solo la primera o la última parte del resultado. - Úselo
watch "ls"
para mantener la pantalla abierta y actualizarla cada pocos segundos para observar los cambios. - Úselo
banner $(ls)
si está sentado muy lejos de la pantalla. (;
Si todo esto le resulta demasiado largo para recordarlo, puede configurar unaliaspara ello:
Ábrelo
~/.bash_aliases
con un editor de texto y agrégale algo como esto:alias lsp="ls -ah --color=always | less -R"
(Este es un script que se ejecuta cada vez que se inicia una nueva terminal virtual; debe configurar todos sus alias permanentes allí)
Ahora puedes simplemente escribir
lsp
o el nombre que elijas.Si quieres poder pasarargumentos adicionalesa su alias, necesitamos definir una funciónen cambio:
lsp(){ ls -ah --color=always "$@" | less -R; }
Una función, principalmente con este aspecto:
name(){ commands; };
puede aceptar argumentos ,$1
, etc. medio$2
$3
$@
"cada argumento, si lo hay".Ahora puede ejecutar algo como
lsp *.py
,lsp -C
etc. Insertamos los argumentos en el punto donde pasan a ls. También podríamos haber insertado $* por menos, si fuera el comando importante. Puedes ver todos los argumentos de ls enman ls
(vale la pena leerlo).
*: La razón de esto es que cada vez que canalizas algo, detecta una Terminal (en realidad, el otro programa) que no es capaz de mostrar color. "--color=always" obliga a ls a ignorar esto. El modificador -R hace que se repinte menos la pantalla,escapando de los coloresadecuadamente.
Respuesta2
No estoy seguro de si existe algún comando ls para la paginación. Sin embargo, puedes usar una tubería y less
, así:
ls | less
Y use q para salir.
Respuesta3
Pruebe ls | less
o ls | more
. El segundo está cerca de la versión DOS.
Respuesta4
La paginación se puede realizar utilizando el siguiente comando.
$ ls
El comando anterior imprimirá el resultado en un formato desplazable.
$ ls | pager
El comando anterior imprimirá el documento en formato paginado.
Algunos consejos adicionales: -
- Utilice la barra espaciadora para ir a la página siguiente.
- Utilice q para salir de la paginación.