{{tag>sysadmin cli commande linux}}
====== less ======
Exemples et usages les plus courants de la commande **less**.
Une fois less en cours d’exécution:
* frapper h pour afficher l'aide;
* frapper q pour quitter;
===== Afficher les numéros de lignes =====
Pour afficher le contenu du fichier en affichant le numéro des lignes utiliser l'option ''-N''
$ less -N fichier.txt
L'état des options passées sur la ligne de commande ou celui des variables de configuration de less peut être modifié pendant l'exécution du programme en pressant -X ou X est l'option.
Pour afficher ou masquer le numéro des lignes depuis less presser -N
===== Rechercher =====
^ /motif | Recherche motif vers le bas du fichier |
^ ?motif | Recherche motif vers le haut du fichier |
^ &motif | Filtre et n'affiche que les lignes contenant motif |
Pour les recherches d'une chaîne vers l'avant ('/') ou l'arrière ('?') du fichier, frapper n pour passer à l’occurrence suivante.
===== Déplacements =====
* Frapper g pour revenir au début du fichier;
* Frapper maj+g pour aller à la fin du fichier;
* XX g pour revenir à la ligne XX;
* Frapper ctrl+g pour afficher les informations du fichier;
===== Colorisation =====
**less** comme de nombreux programmes **CLI** s'appuie sur **termcap** pour formater correctement l'affichage sur les différents types de terminaux. Via des variables d'environnement on peut redéfinir le formatage utilisé par less et ainsi coloriser certains éléments de texte.
Ci-dessous quelques variables disponibles pour la redéfinition du formatage du texte par less:
^ LESS_TERMCAP_md | Démarre effet gras (bold effect) |
^ LESS_TERMCAP_mb | Démarre effet clignotement (blink effect) |
^ LESS_TERMCAP_me | Stoppe effets gras, souligné ou clignotement |
^ LESS_TERMCAP_us | Démarre effet souligné |
^ LESS_TERMCAP_ue | Stoppe effet souligné |
^ LESS_TERMCAP_so | Démarre inversion vidéo(stand-out effect) |
^ LESS_TERMCAP_se | Stoppe inversion vidéo |
Les valeurs des variables sont des [[sysadmin:linux:cli:sequences_controle_ansi|séquences de contrôle ANSI]]. Elles peuvent être récupérées via la commande **tput** ou être renseignées directement.
Dans l'exemple ci-dessous on définit une fonction man() qui lorsqu'elle sera invoquée, se chargera de définir les variables puis d'appeler la commande man en lui transmettant à la fois les variables et les arguments positionnels:
man() {
LESS_TERMCAP_mb=$'\e[1;31m' \
LESS_TERMCAP_md=$'\e[1;33m' \
LESS_TERMCAP_so=$'\e[01;44;37m' \
LESS_TERMCAP_us=$'\e[01;37m' \
LESS_TERMCAP_me=$'\e[0m' \
LESS_TERMCAP_se=$'\e[0m' \
LESS_TERMCAP_ue=$'\e[0m' \
GROFF_NO_SGR=1 \
command /usr/bin/man "$@"
}
===== Références =====
* https://www.howtogeek.com/683134/how-to-display-man-pages-in-color-on-linux/
* https://unix.stackexchange.com/questions/119/colors-in-man-pages
* https://unix.stackexchange.com/questions/108699/documentation-on-less-termcap-variables