Veure el contingut d'un fitxer a Linux

La comanda less a Linux: llegir, buscar i seguir fitxers llargs



La comanda less és el paginador que fas servir per llegir fitxers llargs i sortides de comandes al terminal: et deixa avançar i retrocedir, buscar text en totes dues direccions, saltar al principi o al final i fins i tot seguir un fitxer de registre que va creixent. És el paginador per defecte a gairebé totes les distribucions: quan obres una pàgina de manual amb man, el que veus és less.

El nom és un joc de paraules amb more, el paginador clàssic: less is more («menys és més»).

Sintaxi

less [opcions] fitxer...
comanda | less

less no carrega tot el fitxer abans de mostrar-lo, de manera que obre a l’instant fins i tot fitxers de registre de diversos GB.

Tecles per moure’t

TeclaQuè fa
Espai o Av PàgAvança una pantalla
b o Re PàgRetrocedeix una pantalla
↓ / ↑ (o j / k)Una línia avall / amunt
d / uMitja pantalla avall / amunt
g o <Principi del fitxer
G o >Final del fitxer
50gVa a la línia 50
50pVa al 50% del fitxer
/textBusca text cap endavant
?textBusca text cap enrere
n / NCoincidència següent / anterior
&textMostra només les línies que contenen text (& sol ho desfà)
FSegueix el fitxer: mostra les línies noves a mesura que arriben (surts amb Ctrl+C)
-N (escrit dins de less)Activa o desactiva els números de línia
vObre el fitxer a l’editor
:n / :pFitxer següent / anterior
hAjuda
qSurt

Les cerques admeten expressions regulars i, per defecte, distingeixen majúscules de minúscules. Totes les coincidències queden ressaltades.

Opcions més útils

OpcióQuè fa
-NMostra els números de línia
-SNo parteix les línies llargues: les talla, i les veus amb les fletxes → / ←. Molt útil per a taules i registres
-iCerques sense distingir majúscules, tret que el text que busques en tingui
-RMostra els colors de la sortida d’altres comandes en lloc dels codis d’escapament
-FSi el contingut cap en una pantalla, el mostra i surt directament
-XEn sortir, no esborra la pantalla: el text que miraves es queda al terminal
+FComença en mode «seguir» (com tail -f)
+GComença al final del fitxer
-p textComença a la primera coincidència de text

Exemples

Llegir un fitxer amb números de línia i sense partir les línies llargues:

less -NS /var/log/syslog

(A Debian 12 i 13, si no tens rsyslog instal·lat, no hi ha /var/log/syslog: els registres són al diari de systemd i es consulten amb journalctl, que també fa servir less per mostrar-los.)

Paginar la sortida d’una comanda:

ps aux | less -S

Conservar els colors. Moltes comandes desactiven el color quan la sortida va a una canonada, i cal forçar-lo:

grep --color=always -r "error" /etc/ | less -R

Seguir un fitxer de registre en temps real i poder aturar-te a mirar enrere:

less +F /var/log/apache2/access.log

Prem Ctrl+C per deixar de seguir-lo (ara pots buscar o pujar) i F per tornar a seguir-lo. Aquest és l’avantatge davant de tail -f: pots aturar-te sense perdre res.

Obrir un fitxer directament a la primera aparició d’una paraula:

less -p ssh /etc/services

Opcions per defecte amb LESS

Si sempre vols les mateixes opcions, posa-les a la variable LESS al teu ~/.bashrc:

export LESS='-iRFX'

Amb això, les cerques no distingeixen majúscules, es veuen els colors i, si una sortida és curta, less la mostra i surt sense esperar que premis q. Afecta també man, git log, journalctl i qualsevol programa que faci servir less.

Compte amb…

  • Fitxers binaris. Si obres un fitxer que no és de text, less t’avisa (may be a binary file. See it anyway?) abans de mostrar-lo, cosa que no fa cat.
  • v obre l’editor: si només volies mirar un fitxer de configuració, no hi desis canvis sense voler.
  • Fitxers comprimits. Per llegir un .gz sense descomprimir-lo, fes servir zless fitxer.gz.

Comandes relacionades

  • more: el paginador clàssic, més limitat.
  • cat: mostrar un fitxer sencer sense pausa.
  • head i tail: les primeres o les últimes línies.
  • grep: buscar text sense obrir el fitxer.
  • Vi i Vim: moltes tecles de less (j, k, /, n) són les mateixes.