miércoles, 2 de mayo de 2012

Listar un directorio con colores a través del paginador less


Si eres un usuario normal, distinto del root, y ejecutas el comando:

$ls /

obtienes un listado del directorio raíz a color.


Ésto ocurre porque para los usuarios distintos de root, ls es un alias a 'ls --color=auto'.


Si obtenemos un listado muy largo y queremos paginarlo, por ejemplo:

$ls -R / | less

no nos aparece ningún color en la salida estandar.


Para arreglarlo usamos less -r

$ls -R / | less -r

La opción -r indica que el paginador less deje pasar tal cual los caracteres de control, y así si nuestro terminal entiende los colores los mostrará en pantalla.

¡Pero sorpresa! Seguimos sin ver ningún color.

Esto es porque al equivaler ls a 'ls --color=auto' el color no se activa en comandos con pipes.

Para que se vea el color habremos de ejecutar:

$ls --color -R / | less -r


otra opción es cambiar el alias de ls a:

$alias ls='ls --color=always'

y entonces $ls | less -r nos mostrará colores también.

No hay comentarios:

Publicar un comentario