Linux / Commande more : lire un texte page par page dans le terminal
more est un visualiseur de texte par pages : il affiche un écran de contenu puis attend une touche pour continuer. Appuyez sur Espace pour avancer d'un écran, sur Entrée pour avancer d'une ligne et sur q pour quitter. Pour une navigation fréquente dans les deux sens et des recherches plus souples, less offre généralement davantage de possibilités.
Les détails ci-dessous concernent more de util-linux, dont la page de manuel officielle du projet décrit les options et les touches. Les variantes BSD ou d'autres systèmes peuvent différer ; vérifiez man more et l'aide disponible sur votre machine.
Ouvrir un fichier et reconnaître l'attente du visualiseur
La forme habituelle est more [OPTION]... FICHIER.... Pour lire un document accessible depuis le dossier courant, indiquez son chemin :
more README.txt
Si le texte dépasse l'écran du terminal, le programme s'arrête au bas de la page. Une indication telle que --More-- et parfois un pourcentage peut apparaître. Le pourcentage dépend de la connaissance de la taille de l'entrée ; il ne faut pas attendre le même affichage pour un fichier régulier et pour un flux provenant d'une commande.
Si le texte tient sur un écran, vous pouvez revenir directement à l'invite du shell, selon la version et ses réglages de fin de fichier. Le terminal doit être interactif pour obtenir le comportement de lecture par pages ; rediriger la sortie dans un fichier n'est pas équivalent à cet usage.
S'exercer sur un fichier long sans toucher aux données réelles
Ce bloc crée un nouveau dossier de pratique et un fichier de quatre-vingts lignes. Une ligne contient le mot ERREUR, afin de disposer d'une cible de recherche connue :
lab=$(mktemp -d "$HOME/more-lab.XXXXXX") || exit 1
i=1
while test "$i" -le 80; do
if test "$i" -eq 40; then
printf 'ligne %03d : ERREUR de demonstration\n' "$i"
else
printf 'ligne %03d : texte de demonstration\n' "$i"
fi
i=$((i + 1))
done > "$lab/exemple.txt"
more -d "$lab/exemple.txt"
La création du fichier n'altère aucun document existant. Dans un terminal dont la hauteur est inférieure à quatre-vingts lignes, vous devez voir une portion du texte puis une attente. L'option -d de util-linux affiche une aide courte pour continuer ou quitter. Essayez Espace, puis Entrée, puis q ; après la sortie, vous retrouvez l'invite du shell et le fichier reste intact.
| Touche | Action dans util-linux more | Remarque |
|---|---|---|
| Espace | Avance normalement d'un écran. | Le nombre de lignes dépend de la taille et des réglages du terminal. |
| Entrée | Avance d'une ligne par défaut. | Pratique pour lire progressivement un passage. |
q |
Quitte le visualiseur. | Ne ferme pas le terminal et ne supprime pas le fichier. |
h ou ? |
Affiche un rappel des commandes. | Consultez cette aide quand une touche ne se comporte pas comme prévu. |
/motif puis Entrée |
Recherche le motif vers l'avant. | n répète la recherche précédente dans cette implémentation. |
b |
Revient en arrière d'un écran avec un fichier. | Cette commande ne fonctionne pas pour une entrée par tube dans la version décrite. |
Commencer à une ligne ou à un passage recherché
Après avoir quitté le premier affichage, conservez lab dans le même shell et ouvrez le fichier à partir de la ligne vingt :
more +20 "$lab/exemple.txt"
Les premières lignes affichées doivent se situer autour de la ligne vingt selon le comportement de la variante installée. Quittez avec q, puis essayez une recherche initiale :
more '+/ERREUR' "$lab/exemple.txt"
Le visualiseur recherche le passage contenant ERREUR avant de commencer son affichage. Les guillemets protègent l'argument entier si le motif contient des caractères spéciaux pour le shell. La quantité de contexte et le positionnement exact peuvent différer selon les versions ; vérifiez le numéro dans le texte et utilisez l'aide de votre programme.
Adapter le nombre de lignes et les blancs
| Option | Usage dans util-linux | Effet sur le fichier |
|---|---|---|
-d |
Affiche un message d'aide pour les touches. | Aucun ; seul l'affichage change. |
-s |
Réduit plusieurs lignes vides consécutives à une à l'écran. | Les lignes vides du fichier sont conservées. |
-n 12 ou -12 |
Demande douze lignes par écran. | Ne découpe pas le fichier en plusieurs fichiers. |
-f |
Compte les lignes logiques plutôt que les lignes d'écran. | Une longue ligne peut occuper plusieurs lignes visibles sans être comptée de la même façon. |
+20 |
Commence à la ligne indiquée. | Ne supprime pas le début du fichier. |
+/motif |
Effectue une recherche initiale. | Ne modifie pas le texte recherché. |
Par exemple, more -s rapport.txt facilite la lecture d'un rapport comportant de grands espaces verticaux. Pour observer le document avec ses blancs d'origine, quittez puis relancez-le sans -s. Les options proposées et leur écriture doivent être confirmées dans l'aide de l'implémentation présente.
Lire une sortie de commande et connaître les limites du flux
Un tube transmet la sortie d'une commande à l'entrée standard du visualiseur. Pour essayer sans commande privilégiée ni données externes :
cat "$lab/exemple.txt" | more
Vous lisez le même texte par pages, mais l'entrée provient maintenant d'un flux. Dans util-linux more, le retour en arrière avec b est réservé aux fichiers et ne fonctionne pas dans ce cas. Si vous quittez le lecteur avant la fin, le programme producteur peut rencontrer un tube fermé ; dans un script qui vérifie tous les maillons, il faut interpréter leurs états de sortie.
Un visualiseur interactif convient à une lecture humaine dans un terminal. Pour extraire des données de façon reproductible dans une automatisation, utilisez un outil comme sed, awk ou la commande head pour les premières lignes. cat affiche immédiatement tout le texte, et less convient mieux à l'exploration répétée d'un long fichier.
Questions fréquentes
Pourquoi le programme semble-t-il bloqué ?
Il attend probablement une touche au bas de la page. Essayez Espace pour continuer ou q pour revenir au shell, puis vérifiez si l'invite est revenue.
Pourquoi la touche b ne remonte-t-elle pas dans la sortie ?
Dans util-linux more, cette navigation arrière fonctionne pour un fichier, pas pour un tube. Vérifiez aussi la variante de more utilisée ; un autre lecteur peut offrir des possibilités différentes.
L'option -s retire-t-elle les lignes vides du fichier ?
Non. Elle réduit les répétitions de lignes vides dans l'affichage. Le contenu original reste inchangé.
La référence des commandes Linux par tâche regroupe les autres outils de lecture de texte.




