Comando less

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 less sin utilizar herramientas de descompresión previas (como zless), 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

  • more
  • cat
  • head
  • tail
  • grep

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

  1. Abre un archivo de texto largo de tu sistema (como /etc/services o un log propio) utilizando el comando less.
  2. Practica el desplazamiento vertical utilizando la barra espaciadora para avanzar páginas y la letra b para retroceder.
  3. Vuelve a abrir el mismo fichero añadiendo la opción -N para comprobar cómo se visualizan los números de línea al margen.
  4. Utiliza la diagonal (/) dentro del visor para buscar una palabra clave concreta y salta entre las coincidencias utilizando la letra n.
  5. Pulsa la letra G mayúscula para ir al final del archivo y comprueba cómo te desplazas instantáneamente a la última línea.
  6. Prueba a conectar la salida de un comando informativo (como ls -l /etc) con less mediante 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.