Commande Linux less : Pagination de fichiers

LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce tutoriel, vous allez apprendre à utiliser la commande less sous Linux pour parcourir et analyser efficacement des fichiers journaux (logs) volumineux. La commande less est un outil puissant pour visualiser des fichiers texte dans le terminal, permettant aux utilisateurs de faire défiler le contenu, de rechercher des informations spécifiques et de consulter les fichiers page par page.

Imaginez que vous êtes un administrateur système chargé d'enquêter sur une série d'erreurs serveur. Vous avez accès à un fichier log imposant contenant des informations sur les événements du système, mais le fichier est trop lourd pour être ouvert dans un éditeur de texte classique. C'est là que la commande less devient indispensable.

Accéder au fichier log

Tout d'abord, rendons-nous dans le répertoire contenant notre fichier log pour visualiser son contenu.

  1. Ouvrez votre terminal. Vous devriez vous trouver par défaut dans le répertoire /home/labex/project.

  2. Listez le contenu du répertoire :

ls

Vous devriez voir un fichier nommé server_log.txt.

  1. Pour visualiser le contenu de ce fichier à l'aide de la commande less, tapez :
less server_log.txt

Cette commande ouvre le fichier server_log.txt avec less. Vous pouvez maintenant consulter le contenu du fichier.

Note : Le contenu affiché peut différer de l'exemple ci-dessous, car le fichier log est généré dynamiquement.

2023-11-05 08:00:01 INFO: Server startup complete
2023-11-05 08:15:23 WARNING: High CPU usage detected
2023-11-05 08:30:45 ERROR: Database connection failed
2023-11-05 08:31:02 INFO: Retrying database connection
2023-11-05 08:31:05 INFO: Database connection established
...

Pour quitter la vue less, appuyez sur la touche q.

Maintenant que le fichier est ouvert, apprenons à nous y déplacer.

  1. Ouvrez à nouveau le fichier log avec less :
less server_log.txt
  1. Utilisez les touches suivantes pour naviguer :
    • Appuyez sur Espace ou Page Down pour avancer d'une page.
    • Appuyez sur b ou Page Up pour reculer d'une page.
    • Utilisez les touches fléchées Haut et Bas pour vous déplacer ligne par ligne.
    • Appuyez sur G (Maj + g) pour aller à la fin du fichier.
    • Appuyez sur g pour revenir au début du fichier.

Essayez ces commandes de navigation pour vous familiariser avec le déplacement dans le document.

  1. Une fois l'exploration terminée, appuyez sur q pour quitter less.

Rechercher un contenu spécifique

En tant qu'administrateur système, vous devez souvent trouver rapidement des informations précises. La commande less offre des capacités de recherche performantes.

  1. Ouvrez à nouveau le fichier log :
less server_log.txt
  1. Pour rechercher le mot "ERROR", tapez /ERROR et appuyez sur Entrée. Cela mettra en évidence toutes les occurrences de "ERROR" dans le fichier.
  2. Appuyez sur n pour passer à l'occurrence suivante de "ERROR", ou sur N pour revenir à l'occurrence précédente.
  3. Recherchons maintenant une date spécifique. Tout d'abord, revenez au début du fichier en appuyant sur g, puis observez les dates dans les entrées du log. Choisissez une date qui apparaît dans le fichier (par exemple, si vous voyez "2025-01-15", recherchez cette date). Tapez / suivi de la date souhaitée (ex: /2025-01-15) et appuyez sur Entrée.
  4. Utilisez n et N pour naviguer entre les occurrences de cette date.
  5. Une fois la recherche terminée, appuyez sur q pour quitter less.

Afficher les numéros de ligne

Lors de l'analyse de logs, il est souvent utile d'afficher les numéros de ligne pour se repérer.

  1. Ouvrez le fichier log en affichant les numéros de ligne :
less -N server_log.txt

L'option -N indique à less d'afficher la numérotation.

  1. Vous devriez maintenant voir les numéros de ligne sur le côté gauche :
     1 2023-11-05 08:00:01 INFO: Server startup complete
     2 2023-11-05 08:15:23 WARNING: High CPU usage detected
     3 2023-11-05 08:30:45 ERROR: Database connection failed
     4 2023-11-05 08:31:02 INFO: Retrying database connection
     5 2023-11-05 08:31:05 INFO: Database connection established
...
  1. Naviguez dans le fichier comme précédemment. Remarquez comment les numéros de ligne vous aident à suivre votre position exacte.

  2. Une fois terminé, appuyez sur q pour quitter less.

Démarrer à partir d'un motif spécifique

Parfois, vous souhaitez commencer la lecture du fichier à partir d'un point précis. La commande less permet de le faire très simplement.

  1. Supposons que vous vouliez commencer à visualiser le fichier dès la première occurrence d'une erreur de base de données. Utilisez cette commande :
less +/ERROR:.Database server_log.txt

Cette commande demande à less d'ouvrir le fichier et de sauter immédiatement à la première ligne contenant "ERROR:" suivi de n'importe quel caractère, puis de "Database".

  1. Le fichier s'ouvre alors directement sur la première erreur de base de données :
2023-11-05 08:30:45 ERROR: Database connection failed
2023-11-05 08:31:02 INFO: Retrying database connection
2023-11-05 08:31:05 INFO: Database connection established
...
  1. Vous pouvez continuer à naviguer dans le fichier à partir de ce point.

  2. Une fois terminé, appuyez sur q pour quitter less.

Résumé

Dans ce tutoriel, vous avez appris à utiliser la commande less pour parcourir et analyser efficacement des fichiers log volumineux. Vous vous êtes exercé à ouvrir des fichiers, faire défiler le contenu, rechercher des informations spécifiques, afficher les numéros de ligne et démarrer la lecture à partir d'un motif précis.

Ces compétences sont essentielles pour les administrateurs système et les développeurs qui doivent souvent analyser rapidement de gros fichiers journaux pour résoudre des problèmes ou surveiller les performances du système.

D'autres paramètres utiles de less non abordés ici incluent :

  • -i : Ignorer la casse lors des recherches.
  • -F : Quitter automatiquement si le fichier entier peut être affiché sur un seul écran.
  • -S : Tronquer les lignes longues au lieu de les enrouler (retour à la ligne).
  • +F : Continuer à lire le fichier en temps réel, affichant les nouveaux contenus au fur et à mesure (similaire à tail -f).