Modes de paiement Abuse

La commande more sous Linux

26.11.2021, 20:00

L'utilitaire more permet de visualiser page par page des fichiers dans le terminal Linux. Il doit son nom à more, qui apparaît au bas de chaque page. La commande more linux est l'une des commandes les plus primitives pour travailler avec du texte. Sa plus proche parente, la commande less, dispose d'un ensemble d'options beaucoup plus vaste et de fonctionnalités supplémentaires. Examinons sa syntaxe et des exemples de son utilisation.

Syntaxe, options

Dans l'émulateur de terminal Linux, la commande s'écrit comme suit :

$ more options_file

Liste des options de la commande :

  • -d - afficher en fin de page des informations sur les touches utilisées pour continuer, terminer ou recevoir des instructions ;
  • -l - ignore le caractère de saut de page dans le texte ;
  • -f - compter le nombre de lignes logiques au lieu des lignes d'écran ;
  • -p - effacer l'écran du terminal pour que l'utilisateur n'ait pas à faire défiler le texte avant qu'il ne s'affiche ;
  • -c - éliminer le besoin de défilement (comme -p) - afficher le texte en commençant par le haut de l'écran et effacer la sortie précédente ligne par ligne ;
  • -s - remplace plusieurs lignes vides par une seule ligne vide ;
  • -u - suppression du soulignement ;
  • -n - affichage du n-ième nombre de lignes ;
  • +n - affichage du texte à partir de la ligne portant le numéro n ;
  • +/leght - recherche la ligne spécifiée dans le fichier et commence à afficher le texte à partir de cette ligne ;
  • --help - appelle l'aide ;
  • -v(--version) - affiche la version actuelle de l'utilitaire.

La commande more dispose également de ses propres touches de raccourci et commandes interactives :

  • h ( ?) - aide (affichage d'informations sur les commandes interactives uniquement) ;
  • SPACE - affiche la portion de texte suivante (par défaut, le nombre de lignes dépend de la taille actuelle de la fenêtre du terminal) ;
  • z - la même chose que SPACE ;
  • ENTER - affiche le texte ligne par ligne (pas de commande - une ligne) ;
  • d (^D) - fait défiler le texte du nombre de lignes correspondant à la taille du terminal ;
  • q (Q) - quitter l'utilitaire ;
  • s - avance d'une ligne ;
  • f - avancer d'une page d'écran ;
  • b (^B) - reculer d'une page d'écran ;
  • ' - retourner à l'endroit où la recherche a commencé ;
  • = - affiche le nombre actuel de lignes ;
  • /pattern - recherche à l'aide d'expressions régulières ;
  • n - recherche des mots et des phrases correspondant à la dernière expression régulière utilisée ;
  • !commande (:commande) - exécution d'une commande dans un sous-shell ;
  • v - ouvre le fichier dans l'éditeur de texte assigné par défaut, et si aucun n'est trouvé, utilise l'éditeur de texte de la console pour ouvrir le fichier ;
  • ^L - efface de l'écran tout ce qui n'est pas le contenu du fichier ;
  • :n - passer au fichier suivant ;
  • :p - passer au fichier précédent ;
  • :f - affiche le nom du fichier courant et le nombre de lignes qu'il contient ;
  • . - répète l'exécution de la commande précédente.

Mode d'emploi

Pour visualiser le texte d'un fichier, on utilise la commande :

$ more example-file-for-more-command.txt

Vous pouvez également lister plusieurs noms de fichiers l'un après l'autre dans la commande, en les séparant par un espace. Le contenu de ces fichiers sera affiché dans le même ordre.

Exemple : si un fichier ne se trouve pas dans le dossier en cours, il est affiché dans l'ordre :

$ more abc1.txt dfg2.txt

Si un fichier ne se trouve pas dans le répertoire courant, vous devez spécifier son adresse complète.

Il est parfois nécessaire d'afficher non pas tout le texte, mais seulement une partie. Dans ce cas, les options - (moins) et + (plus) sont fournies, à côté desquelles le nombre de lignes est spécifié. Par exemple, pour voir le contenu d'un fichier à partir de la ligne 8, l'option +8 doit être ajoutée à la commande, et pour que la commande affiche le résultat composé d'un maximum de 5 lignes, l'option -5 doit être ajoutée :

$ more +8 -5 example-file-for-more-command.txt

Par défaut, la commande more Linux compte comme ligne exactement la ligne de l'écran, c'est-à-dire le nombre de caractères qui tiennent sur une ligne dans la largeur de la fenêtre. Pour effectuer le comptage dans des chaînes logiques (lors de la saisie, elles sont séparées en appuyant sur Entrée), l'option -f est utilisée.

Exemple :

$ more -f +8 -5 example-file-for-more-command.txt

more peut non seulement traiter des fichiers texte, mais aussi rediriger la sortie d'autres commandes vers lui (pipelining). La première est la commande principale, la seconde est more avec les options requises. Les commandes sont nécessairement séparées par une ligne verticale.

Exemple :

$ locate bin | more -10

Lorsqu'une commande a produit une partie de texte et qu'elle est en attente d'autres actions de l'utilisateur, des commandes interactives peuvent être exécutées. Elles sont nécessaires pour contrôler la sortie.

Pour connaître le numéro de la ligne en cours, vous devez appuyer sur la touche =, et pour visualiser le fichier dans un éditeur de texte, vous devez appuyer sur la touche v.

Notez que toutes les commandes ne peuvent pas être exécutées si la sortie d'une autre commande est redirigée vers l'utilitaire. L'ouverture d'un éditeur de texte, ainsi que le retour en arrière d'une page (b ou ^B) ne fonctionnent que lors de la visualisation de fichiers texte.

Pour obtenir une liste de toutes les commandes interactives, appuyez sur la touche h.