Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
01 février 2014

man pager           Affichage de texte


less

less

l'opposé de more

Commandes

h, H Affiche l'aide
SPACE, ^V, f, ^F Défile N lignes (défaut: un écran)
z idem. N devient le nouveau défaut
ESC-SPACE idem SPACE, mais défile un écran complet même si la fin du fichier est atteint
ENTER, RETURN, ^N, e, ^E, j, ^J Défille N lignes de texte (défaut: 1)
d, ^D Défile N ligne (défaut: 1/2 écran). Si N est spécifié, devient le nouveau défaut pour d et u
b, ^B, ESC-v défile N lignes en arrière (défaut: un écran)
w idem. N devient le nouveau défaut
y, ^Y, ^P, k, ^K défile N ligne en arrière (défaut: 1).
y, ^U Défile N lignes en arrière (défaut: 1/2 écran). Si N est spécifié, devient le nouveau défaut pour d et u
ESC-), RIGHTARROW Défile horizontalement de N caractères vers la droite. (défaut: 1/2 écran). Si N est spécifié, devient le nouveau défaut.
ESC-( or LEFTARROW Défile horizontalement de N caractères vers la gauche. (défaut: 1/2 écran). Si N est spécifié, devient le nouveau défaut.
r, ^R, ^L Repaint l'écran
R Repaint l'écran, en omettant le buffer d'entrée.
F Défile vers le bas et tente de lire guand la fin du fichier est atteint.
g, ‹, ESC-‹ va à la ligne N. (défaut: 1, début du fichier)
G, ›, ESC-› Va à la ligne N. (défaut: fin du fichier)
p, % va à la position N pourcent dans le fichier
P Va à la ligne contenant le N-ième Octet
{ Si un { apparaît dans la ligne du haut, va au } correspondant. N permet de spécifier le N-ième { de la ligne
} Si un } apparaît dans la ligne du haut, va au { correspondant. N permet de spécifier le N-ième } de la ligne
[ Comme {, mais pour [
] Comme }, mais pour ]
ESC-^F Suivi par 2 caractères, agis comme {, mais utilise les 2 caractères comme balise d'ouverture et de fermeture.
ESC-^B Suivi par 2 caractères, agis comme ], mais utilise les 2 caractères comme balise d'ouverture et de fermeture.
m Suivi par une lettre minuscule, marque la position courante avec cette lettre
', ^X^X Suivi par une lettre minuscule, retourne à la position marquée
/pattern Recherche en avant la N-ième ligne contenant le motif. (défaut:1) caractères spéciaux pour le motif:

^N, ! Recherche les lignes qui ne matchent pas le motif
^E, * Rechercher dans plusieurs fichiers
^F, @ Commence la recherche à la première ligne du premier fichier
^K Surligne tout texte qui match le motif
^R N'interprète pas les méta-caractères de l'expression régulière.

?pattern Recherche en arrière dans le fichier la N-ième ligne contenant le motif (défaut 1). Les caractères spéciaux sont les même que /pattern, mais ^E et ^F sont dans le sens inverse.
ESC-/pattern Idem à "/*"
ESC-?pattern Idem à "?*"
n Répète la recherche précédente
N Répète la recherche précédente, mais inverse la direction
ESC-n Répète la recherche précédente, mais traverse les fichiers.
ESC-N Répète la recherche précédente, mais inverse la direction et traverse les fichiers
ESC-u Annule le surlignage de la recherche
&pattern Affiche uniquement les lignes qui match le motif. prend en charge les caractères spéciaux ! et ^R de /pattern
^X^V, E, :e [filename] Examine un nouveau fichier.
:n Examine le N-ième fichier suivant (défaut 1)
:p Examine le N-ième fichier précédent (défaut 1)
:x Examine le N-ière fichier dans la ligne de commande (défaut: 1)
:d Supprime le fichier courant de la liste
t Va au tag suivant
T Va au tag précédent
=, ^G, :f Affiche certaines informations sur le fichier courant
- Suivis par un option de ligne de commande à une lettre, change le paramètre et affiche un message sur cette option
-- comme - mais pour les options longues
-+ Suivi par une option de ligne de commande à une lettre, réinitialise l'option à sa valeur par défaut
--+ Comme -+ mais pour les options longues
-! Suivi par une option de ligne de commande à une lettre, réinitialise l'option à l'opposé de son défaut
--! comme -! mais pour les options longues
_ Suivi par une option de ligne de commande à une lettre, affiche un message décrivant le paramètre actuel de cette option
__ idem _ mais pour les options longues
+cmd exécute la commande à chaque fois qu'un nouveau fichier est examiné (ex: +G affiche directement la fin de chaque fichier)
V Affiche la version de less
q, Q, :q, :Q, ZZ quitte less
v Invoque $EDITOR ou $VISUAL
! shell-command Invoke un shell pour lancer la commande données. % est remplacé par le nom du fichier courant.
!! répète la dernière commande shell.
| ‹m› shell-command pipe une section du fichier dans la commande données. La section en pipe va de la première ligne de l'écran courant à la position marquée m. peut également être '^' ou '$' pour indiquer le début ou la fin du fichier, ou '.' ou newline pour piper l'écran courant.
s filename Sauve l'entrée courante dans un fichier. ne fonctionne que si l'entrée est un pipe

OPTIONS

-?, --help Affiche l'aide
-a, --search-skip-screen Force les recherches à commencer au début ou à la fin du fichier au lieu de l'écran courant
-A, --SEARCH-SKIP-SCREEN Force les recherches à commencer à la ligne cible
-bn, --buffer=n Spécifie la taille de tampon utilisé par less pour chaque fichier en Ko(défaut 64K). -1 == illimité
-B, --auto-buffers Idem mais utilisé avec les pipes
-c, --clear-screen Repaindre l'écran depuis la ligne du haut au lieu de la ligne du bas
-C, --CLEAR-SCREEN comme -c, compatibilité avec des veilles versions de less
-d, --dumb Supprime les messages d'erreurs normalement affichés
-Dxcolor, --color=xcolor Définis la couleur du texte affiché. x est un simple caractère qui sélectionne le type de texte à colorer: n=normal, s=standout, d=bold, u=underline, b=blink. color est une paire de valeur "foreground.background"
-e, --quit-at-eof Quitte automatiquement la 2ème fois que la fin du fichier est atteinte
-E, --QUIT-AT-EOF Quitte automatiquement la 1ère fois que la fin du fichier est atteinte
-f, --force Force les fichiers non-réguliers à s'ouvrir
-F, --quit-if-one-screen Force less a quitter si le fichier tient entièrement dans un seul écran
-g, --hilite-search surligne uniquement la chaîne particulière trouvés par la dernière commande au lieu de toutes les chaînes trouvées.
-G, --HILITE-SEARCH Supprime tous les surlignements de chaîne trouvées par la dernière recherche
-hn, --max-back-scroll=n Nombre de ligne max pour défiler en arrière. S'il est nécessaire de défiler en arrière plus de n lignes, l'écran est repaint.
-i, --ignore-case Ignore la casse lors des recherches. Ignoré si la recherche contient des lettres majuscules
-I, --IGNORE-CASE Comme -i, mais ignore la casse tout le temps
-jn, --jump-target=n Spécifie une ligne à l'écran où la ligne cible doit être positionnée
-J, --status-column Affiche un colonne de status à gauche de l'écran qui marque les lignes qui matchent la recherche
-kfilename, --lesskey-file=filename ouvre et interprète le fichier nommé (fichier lesskey). Peut être spécifié plusieurs fois
-K, --quit-on-intr Quitte avec un code 2 quand un caractère d'interruption est reçus
-L, --no-lessopen Ignore $LESSOPEN
-m, --long-prompt prompt comme more (verbeux), avec le % dans le fichier.
-M, --LONG-PROMPT prompt encore plus verbeux que more
-n, --line-numbers Supprime les numéros de ligne
-N, --LINE-NUMBERS Affiche les numéros de ligne au début de chaque ligne
-ofilenmae, --log-file=filename Copie l'entrée dans le fichier. Uniquement quand le fichier d'entrée est un pipe
-Ofilename, --LOG-FILE=filename comme -o, mais écrase un fichier existant sans demander confirmation
-ppattern, --pattern=pattern équivalent à +/pattern.
-Pprompt, --prompt=prompt Fournit un moyen d'adapter les trois styles rapides à vos préférences -Ps définis le prompt court, -Ph change le prompt pour l'écran d'aide, -Pm change le prompte moyen, -PM change le prompt long, P= change le prompt de la commande '=', -Pw change le message affiché en attendant les données (commande F)
-q, --quiet, --silent mode silencieux, utilise le "bell" visuel
-Q, --QUIET, --SILENT mode silencieux
-r, --raw-control-chars Affiche les caractères de contrôle sous forme brut.
-R, --RAW-CONTROL-CHARS comme -r, mais seul les séquences échappée ANSI "color" sont affichées.
-s, --squeeze-blank-lines Réduit plusieurs lignes vide contigües en une seule
-S, --chop-long-lines Ne revient pas à la ligne lorsque les lignes sont plus grandes que l'écran.
-ttag, --tag=tag Édite le fichier contenant ce tag.
-Ttagsfile, --tag-file=tagsfile Spécifie un fichier de tags
-u, --underline-special Affiche les tabulations, backspace et retours chariot.
-U, --UNDERLINE-SPECIAL les tabulations, backspace et retours chariot sont traité comme caractères de contrôle
-V, --version Affiche la version de less
-w, --hilite-unread Surligne temporairement la première nouvelle ligne après un défilement en arrière d'un écran
-W, --HILITE-UNREAD comme -w, mais pour les défilements supérieur à une ligne.
-xn,..., --tabs=n,... Définit la position des tabulations (ex: -x9,17 définit les tabulations aux position 9, 17, 25, 33, etc.) défaut: n=8
-X, --no-init Désactive l'envoi des chaînes d'initialisation et de dé-initialisation termcap au terminal
-yn, --max-frow-scroll=n Spécifie le nombre de ligne max pour le défilement en avant. au delà, l'écran est repeint
-[z]n, --window=n Change la taille de défilement d'écran par défaut à n lignes. (défaut: un écran)
-"cc, --quotes=cc Change les quotes des noms de fichiers
-~, --tilde N'affiche pas le tilde sue les lignes après la fin du fichier
-#, --shift Spécifie le nombre de position par défaut du défilement horizontal
--no-keypad Désactive l'envoi des chaînes d'initialisation et de dé-initialisation keypad au terminal
--follow-name avec -F, ré-ouvre périodiquement le fichier par nom et actualise son contenu
-- Sur la ligne de commande, marque la fin des options
+ si une option de la ligne de commande commence avec un +, le reste de l'option est une commande initiale de less

Édition de ligne

   En entrant une commande en bas de l'écran, certaines clés peuvent être utilisées pour manipuler la ligne de commande.

LEFTARROW, ESC-h Déplace le curseur un espace à gauche
RIGHTARROW, ESC-l Déplace le curseur d'un espace à droite
^LEFTARROW, ESC-b, ESC-LEFTARROW déplace le curseur d'un mot à gauche
^RIGHTARROW, ESC-w, ESC-RIGHTARROW Déplace le curseur d'un mot à droite
HOME, ESC-0 Déplace le curseur au début de la ligne
END, ESC-$ Déplace le curseur à la fin de la ligne
BACKSPACE Supprime le caractère à gauche du curseur, ou annule la ligne de commande si elle est vide
DELETE, ESC-x Supprime le caractère sous le curseur
^BACKSPACE, ESC-BACKSPACE Supprime le mot à gauche du curseur
^DELETE, ESC-X, ESC-DELETE Supprime le mot sous le curseur
UPARROW, ESC-k Récupère la précédente commande
DOWNARROW, ESC-j Récupère la commande suivante
TAB Complète le nom de fichier partiel
BACKTAB, ESC-TAB Comme TAB, mais cycle dans la direction inverse
^L Complète la partie manquante du fichier. S'il y'a plusieurs correspondances, ils sont tous entrées dans la ligne de commande
^U Supprime toute la ligne de commande
^G Supprime tout le ligne de commande et retourne le prompt principal

Pré-processeur d'entrée

   Il est possible de spécifier un pré-processeur pour less. Ce programme ou script écrira le contenu dans un fichier différent, appelé le fichier de remplacement. C'est de fichier qui sera affiché dans less, mais c'est le fichier initial qui sera indiqué à l'utilisateur. Un pré-processeur reçoit un argument, le fichier original, et une fois terminé, doit afficher le nom du fichier de remplacement sur son entrée standard. S'il ne fournis pas le fichier, less utilise le fichier original. la ligne de commande devrait inclure une occurrence de %s, qui sera remplacé par le nom de fichier quand le pré-processeur est invoqué.

  Quand less ferme un fichier ouvert de cette manière, il va appeler un autre programme, appelé le post-processeur, qui va effectuer les actions de nettoyage. Ce programme reçoit 2 argument, le fichier original et le fichier de remplacement. Il peut inclure 2 occurrence de %s, une est remplacée par le fichier original, l'autre par le fichier de remplacement.

Exemple, dans de nombreux systèmes Unix, ces 2 scripts vont permettre de conserver les fichiers compressés
lessopen.sh:
#! /bin/sh
case "$1" in
        *.Z) uncompress -
        if [ -s /tmp/less.$$ ]; then
                echo /tmp/less.$$
        else
                rm -f /tmp/less.$$
        fi
        ;;
esac
    
lessclose.sh:
#! /bin/sh
rm $2

   Pour les utiliser, définir les 2 variables: LESSOPEN="lessopen.sh %s" et LESSCLOSE="lessclose.sh %s %s".

  Il est aussi possible de définir un pré-processeur pour piper le fichier de donnée directement dans less, ce qui évite de dé-compresser tout le fichier avant l'afficher.


lesspipe.sh:
#! /bin/sh
case "$1" in
        *.Z) uncompress -c $1 2›/dev/null
        ;;
esac
    
avec LESSOPEN="|lesspipe.sh %s"

Jeux de caractères

   LESSCHARSET peut être utilisé pour sélectionner un jeu de caractère ( ascii, iso8859, latin1, latin9, dos, ebcdic, IBM-1407, koi8-r, next, utf-8, windows)

  Dans de rares cas, il peut être désirable d'adapter less pour utiliser un jeu de caractère autre que celui définis par LESSCHARSET. LESSCHARDEF peut être utilisée pour définir un jeu de caractère. Ça doit être une chaîne où chaque caractère dans la chaîne représente un caractère dans le jeu. Le caractère "." est utilisé pour un caractère normal, "c" pour control, et "b" pour binaire, Un nombre décimal peut être utilisé pour la répétition. Par exemple, "bccc4b" signifie que le caractère 0 est binaire, 1, 2 et 3 sont des control, 4, 5, 6 et 7 sont binaire, et 8 est normal, Tous les caractères après le dernier sont le même que le dernier, donc 9 à 255 seront normaux.

  Cette table montre la valeur de LESSCHARDEF qui est équivalent à chaque valeur pour LESSCHARSET:

        ascii 8bcccbcc18b95.b
        dos 8bcccbcc12bc5b95.b.
        ebcdic 5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.
        IBM-1047 4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc191.b
        iso8859 8bcccbcc18b95.33b.
        koi8-r 8bcccbcc18b95.b128.
        latin1 8bcccbcc18b95.33b.
        next 8bcccbcc18b95.bb125.bb

   Si ces variables ne sont pas définies, less recherche dans l'ordre: utf8 dans LC_ALL, LC_CTYPE, ou LANG, via setlocale, ou utilise latin1.

  Les caractères de contrôle et binaires sont affichés en vidéo inversé, en notation d'insertion (ex: ^A pour control-A) seulement si inverser le bit 0100 résulte en un caractère normal imprimable. Sinon, le caractère est affiché en nombre hexa. Ce format peut être changé en définissant LESSBINFMT. LESSBINFMT peut commencer par "*" et un caractère pour sélectionner l'attribut d'affichage: "*k" est clignotant, "*d" est en gras, "*u" est surligné, "*s" est inversé, "*n" est normal. Si LESSBINFMT ne commence pas par "*", l'attribut est assumé. Le reste de LESSBINFMT est une chaîne que peut inclure une séquence d'échappement style printf (a % suivi par x, X, o, d, etc.).

   Par exemple, s'il vaut "*u[%x]", les séquences binaires sont affichées en hexa surligné entouré par des crochets. (défaut: "*s‹%02X›"). LESSBINFMT doit faire moins de 31 caractères.

  Quand le jeu de caractère est utf8, la variable LESSUTFBINFMT agit similairement, mais s'applique à l'unicode. (défaut: "‹U+%04lX›"). Cette variable est lue après LESSBINFMT donc elle a toujours priorité.

  

   L'option -P permet de personnaliser les prompts. Certains caractères sont interprétés:

%bX Remplacé par l'offset de l'octet dans le fichier courant. X spécifie le ligne dont l'offset doit être utilisé, ou 't' pour la ligne du haut, 'm' pour la ligne du milieu, 'b' pour la ligne du bas, 'B' la ligne juste après la ligne du bas, et 'j' utilise la ligne cible comme spécifié par l'option -j.
%B Remplacé par la taille du fichier courant
%c Remplacé par le numéro de colonne apparaissant dans la première colonne de l'écran
%dX Remplacé par le numéro de page d'une ligne. La ligne à utiliser est déterminée par X comme pour %b
%D Remplacé Par le numéro de pages dans le fichier d'entrée.
%E Remplacé par le nom de l'éditeur ( $VISUAL ou $EDITOR )
%f Remplacé par le nom du fichier d'entrée
%F Remplacé par le dernier composant du nom du fichier courant
%i Remplacé par l'index du fichier courant dans la liste des fichiers d'entrée
%lX Remplacé par le numéro de ligne d'une ligne dans le fichier d'entrée. La ligne à utiliser est déterminé par X, comme dans %b
%L Remplacé par le numéro de ligne de la dernière ligne dans le fichier d'entrée
%m Remplacé par le nombre total de fichiers d'entrée
%pX Remplacé par le % dans le fichier courant, basé sur les octets. La ligne à utiliser est déterminé par X, comme dans %b
%PX Remplacé par le % dans le fichier courant, basé sur les numéros de ligne. La ligne à utiliser est déterminé par X, comme dans %b
%s Comme %B
%t Supprime les espace en trop.
%x Remplacé par le nom du prochain fichier

   Si un élément est inconnu, il est remplacé par '?'. Le format de la chaîne peut être changée en fonction de certaines conditions. un ? suivi par un caractère agit comme un 'IF'. Si la condition est vrai, tous les caractères après le '?' et jusqu'à un ',' sont inclus dans le prompt. Un ',' peut apparaître après un '?' pour indiquer un 'ELSE'.

?a Vrai si un caractère a été inclus dans le prompt
?bX vrai si l'offset de la ligne spécifiée est connue
?B Vrai si la taille du fichier courant est connus
?c Vrai si le texte est décalé horizontalement (%c n'est pas 0)
?dX Vrai si le numéro de page de la ligne spécifiée est connus
?e Vrai si à la fin du fichier
?f vrai s'il y'a un fichier d'entrée (pas de pipe)
?lX Vrai si le numéro de ligne de la ligne spécifiée est connue
?L Vrai si le numéro de la dernière ligne du fichier est connu
?m Vrai s'il y'a plus d'un fichier en entrée
?n Vrai si c'est le premier prompt dans un nouveau fichier d'entrée
?pX Vrai si le % dans le fichier courant, basé sur l'offset, de la ligne spécifiée est connue
?PX Vrai si le % dans le fichier courant, basé sur le nombre de ligne, de la ligne spécifiée est connue
?s comme ?B
?x Vrai si le fichier courant n'est pas le dernier fichier

Exemples

Affiche le nom du fichier, s'il est connu, sinon affiche "Standard input"
?f%f:Standard input
Affiche le nom du fichier s'il est connu, suivi par le numéro de ligne s'il est connu, sinon le % s'il est connu, sinon l'offset s'il est connu, sinon un '/' est affiché
?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...
Affiche le nom du fichier si c'est le premier prompt, suivi par "file N of N" s'il y'a plus d'un fichier. Affiche "(END)" si c'est la fin du fichier suivi par le nom du prochain fichier s'il y'en a un. tout espace en trop est supprimé. C'est le prompt par défaut.
?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x..%t
Prompt par défaut (-m)
?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x.:?pB%pB\%:byte %bB?s/%s...%t
Prompt par défaut (-M)
?f%f .?n?m(file %i of %m) ..?ltlines %lt-%lb?L/%L. :byte %bB?s/%s. .?e(END) ?x- Next\: %x.:?pB%pB\%..%t
Message par défaut produitpar la commande =
?f%f .?m(file %i of %m) .?ltlines %lt-%lb?L/%L. .byte %bB?s/%s. ?e(END) :?pB%pB\%..%t
Valeur par défaut pour LESSEDIT:
%E ?lm+%lm. %f

Sécurité

   Si $LESSSECURE vaut 2, less se lance en mode sécure. Les fonctionnalités suivante sont désactivées:

        ! Commande shell
        | Commande pipe
        :e Commande examine
        v Commande d'édition
        s, -o Fichiers de log
        -k Utilisation des fichiers lesskey
        -u Utilisation des fichiers de tags
        Les métacaractères, comme '*'
        La complétion des noms de fichier (TAB, ^L)

Compatibilité

   Si $LESS_IS_MORE vaut 1, less agit conforme à la commande posix more.

Variables d'environnement

COLUMNS Définit le nombre de colonnes dans l'écran. Prend précédence sur $TERM.
EDITOR Nom de l'éditeur par défaut
HOME Répertoire personnel de l'utilisateur
HOMEDRIVE, HOMEPATH La concaténation des ces 2 variables est le nom du home si $HOME n'est pas définis
INIT Nom du répertoire init de l'utilisateur
LANG Langage à utiliser pour déterminer le jeu de caractères
LC_CTYPE Langage à utiliser pour déterminer le jeu de caractères
LESS Option à passer à less
LESSANSIENDCHARS caractère qui peut terminer une séquence d'échappement de couleur ANSI (défaut: m)
LESSANSIMIDCHARS caractère qui peut apparaître entre le caractère ESC etle caractère de fin dans une séquence d'échappement de couleur ANSI (défaut: "0123456789;[?!"'#%()*+ ")
LESSBINFMT Format pour l'affichage des caractère non-contrôle, non-imprimables
LESSCHARDEF Définis un jeu de caractères
LESSCHARSET Définis un jeu de caractères prédéfinis
LESSCLOSE Ligne de commande pour invoquer le pré-processeur
LESSECHO Nom du programme lessecho, nécessaire pour étendre les méta-caractères
LESSEDIT Chaîne prototype. voir PROMPTS
LESSGLOBALTAGS Nom de la commande utilisé par -t pour trouver les tags globaux
LESSHISTFILE Nom du fichier d'historique des commandes de recherche et des commandes shell (défaut: "$HOME/.lesshst"
LESSHISTSIZE Nombre maximum de ligne à sauver dans le fichier d'historique
LESSKEY Nom du fichier lesskey par défaut
LESSKEY_SYSTEM Nom du fichier lesskey système par défaut
LESSMETACHARS Liste des caractères considérés comme méta-caractères par le shell
LESSMETAESCAPE Préfix à ajouter avant chaque méta-caractères envoyé au shell. Si vide, les méta-caractères ne sont pas passés au shell
LESSOPEN Ligne de commande pour invoquer le pré-processeur
LESSSECURE A 1, less est en mode sécure
LESSSEPARATOR Chaîne à ajouter au nom du répertoire dans la complétion des nom de fichier
LESSUTFBINFMT Format pour afficher les Unicodes non-imprimables
LESS_IS_MORE Emule more
LINES Définis le nombre de lignes à l'écran. Prend précédence sur $TERM
PATH Chemins de recherche de l'utilisateur
SHELL Shell courant de l'utilisateur
TERM Type de terminal
VISUAL Nom de l'éditeur par défaut