Comando less
El comando less es un visor de archivos de texto en la terminal de sistemas Unix y Linux. Permite examinar el contenido de ficheros de gran tamaño de manera interactiva, paginada y eficiente, facilitando la lectura hacia adelante y hacia atrás sin necesidad de cargar todo el documento completo en la memoria RAM del sistema.
| Categoría | Visualización de Archivos y Logs |
|---|---|
| Disponible en | Linux / Unix / macOS / Entornos POSIX |
| Equivalente en Windows | Get-Content -Wait o visores de PowerShell / Herramientas de terceros (como more clásico en CMD) |
| Sustituye a | El comando clásico more (que solo permitía avanzar página a página sin opción de retroceder). |
| ¿Requiere permisos de administrador? | No, salvo que el archivo que se desee consultar tenga permisos restringidos y pertenezca a otro usuario o al sistema. |
¿Qué significa su nombre?
LESS es un juego de palabras basado en el dicho popular en inglés "less is more" (menos es más) y actúa como la evolución natural del comando anterior de Unix llamado more. El lema oficial y humorístico del programa es less is more ("less es más", o literalmente "less es 'more'").
Fue desarrollado por Mark Nudelman a principios de los años 80 para solventar las carencias del comando more, incorporando la capacidad de desplazarse en ambas direcciones (arriba y abajo) por los ficheros de texto.
¿Para qué sirve?
El comando less sirve principalmente para:
- Inspeccionar archivos de registro (logs) kilométricos o de código fuente extenso de forma cómoda y estructurada.
- Leer manuales de ayuda o documentación larga directamente desde la terminal.
- Buscar patrones de texto específicos dentro de un archivo mientras se está visualizando.
- Navegar rápidamente por la salida estándar de otros comandos conectados mediante tuberías (pipes).
Sintaxis
less [opciones] [archivo...]
Las opciones más habituales son:
| Opción | Descripción |
|---|---|
-N |
Muestra los números de línea al margen izquierdo de la pantalla. |
-S |
Desactiva el ajuste automático de líneas largas (las corta horizontalmente en lugar de envolverlas). |
-i |
Ignora mayúsculas y minúsculas al realizar búsquedas de texto dentro del visor. |
+F |
Mantiene el archivo abierto y se desplaza automáticamente al final conforme se va escribiendo contenido nuevo (similar al comportamiento de tail -f). |
Una vez dentro del visor less, los atajos de teclado más útiles son:
- Barra espaciadora o AvPág: Avanza una página hacia abajo.
- b o RePág: Retrocede una página hacia arriba.
- Flechas Arriba / Abajo: Desplazan la vista línea por línea.
- / [texto]: Busca una palabra o expresión hacia adelante.
- ? [texto]: Busca una palabra o expresión hacia atrás.
- n / N: Salta a la siguiente o anterior coincidencia de búsqueda.
- g / G: Va directamente al principio (inicio) o al final del archivo.
- q: Sale del visor y regresa a la terminal.
Comandos más utilizados
| Comando | Descripción |
|---|---|
less archivo.txt |
Abre un archivo de texto de forma interactiva y paginada. |
less -N /var/log/syslog |
Abre un archivo de registro mostrando los números de línea. |
dmesg | less |
Visualiza la salida del kernel de forma paginada mediante una tubería. |
less +G archivo.log |
Abre el archivo saltando directamente hasta el final del mismo. |
Equivalencia con otros sistemas
| Acción | Linux / Unix | Windows (CMD / PowerShell) |
|---|---|---|
| Visualizar archivo paginado | less / more |
more (CMD) / Get-Content -Paging (PowerShell) |
| Ver archivo con números de línea | less -N |
No nativo directo |
| Buscar texto interactivo | less (pulsando /) |
Limitado en comandos nativos de consola |
Ejemplos
Abrir un archivo de configuración largo para su lectura
less /etc/services
Visualizar un fichero de registro mostrando los números de línea
less -N /var/log/auth.log
Filtrar la salida de un comando complejo para leerla cómodamente
journalctl -u apache2 | less
Abrir un archivo y buscar automáticamente una palabra al pulsar las teclas internas
less /etc/passwd
# Una vez dentro, pulsa / y escribe 'root' para buscar la coincidencia
Ejemplo de salida
1: # /etc/services:
2: # Network services, by internet protocol
3: #
4: tcpmux 1/tcp # TCP port service multiplexer
5: echo 7/tcp
6: echo 7/udp
7: discard 9/tcp sink null
8: discard 9/udp sink null
9: systat 11/tcp users
10: daytime 13/tcp
...skipping...
¿Cómo interpretar la salida?
- 1: a 10: Números de línea generados gracias al uso de la opción
-N, que permiten ubicar visualmente el contenido. - tcpmux / echo / discard: Nombres de los servicios de red definidos en el archivo analizado.
- 1/tcp / 7/udp: Puertos de red y protocolos asociados a cada servicio listado.
Errores habituales
- Intentar salir del programa utilizando combinaciones clásicas como
Ctrl + C(que puede interrumpir procesos pero no es el método estándar para cerrar visores) en lugar de pulsar simplemente la letra q. - Intentar abrir un archivo binario o comprimido directamente con
lesssin utilizar herramientas de descompresión previas (comozless), lo que llenará la pantalla de caracteres ilegibles y símbolos extraños.
Conceptos relacionados
- Paginación de datos en terminal
- Flujo de salida estándar (stdout)
- Ficheros de registro (Logs)
- Atajos de teclado interactivos
- Buffer de terminal
Comandos relacionados
morecatheadtailgrep
Curiosidades
Una característica muy potente de less es que no lee todo el archivo antes de mostrarlo en pantalla (a diferencia de comandos como cat). Esto significa que si abres un archivo de texto de varios gigabytes de tamaño, less se abrirá de forma instantánea porque solo procesa y carga en memoria las líneas que caben en la ventana visible en ese preciso momento.
Prácticas propuestas
- Abre un archivo de texto largo de tu sistema (como
/etc/serviceso un log propio) utilizando el comandoless. - Practica el desplazamiento vertical utilizando la barra espaciadora para avanzar páginas y la letra
bpara retroceder. - Vuelve a abrir el mismo fichero añadiendo la opción
-Npara comprobar cómo se visualizan los números de línea al margen. - Utiliza la diagonal (
/) dentro del visor para buscar una palabra clave concreta y salta entre las coincidencias utilizando la letran. - Pulsa la letra
Gmayúscula para ir al final del archivo y comprueba cómo te desplazas instantáneamente a la última línea. - Prueba a conectar la salida de un comando informativo (como
ls -l /etc) conlessmediante una tubería (|) para practicar la paginación de salidas dinámicas.
Consejo: Acostúmbrate a usar less en lugar de cat cuando vayas a revisar ficheros de configuración largos; te ahorrará saturar la terminal y te permitirá buscar información de manera mucho más eficiente.