Découvrez pourquoi la commande ‘less’ est plus rapide que la commande ‘more’ pour une navigation efficace dans les fichiers

More est une commande *nix utilisée pour afficher le contenu d’un fichier dans une console. L’utilisation de base de la commande more est d’exécuter la commande sur un fichier comme indiqué ci-dessous :

Lire aussi : Apprendre la différence entre les commandes ‘cat’ et ‘tac’ avec des exemples

Apprendre la commande Linux ‘more’

# more /var/log/auth.log
View Contents of auth.log File
Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session closed for user root
Apr 12 11:55:01 tecmint CRON[7159]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session closed for user root
Apr 12 11:55:02 tecmint CRON[7159]: pam_unix(cron:session): session closed for user root
Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session closed for user root
Apr 12 12:05:01 tecmint CRON[7435]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session closed for user root
Apr 12 12:05:02 tecmint CRON[7435]: pam_unix(cron:session): session closed for user root
Apr 12 12:09:01 tecmint CRON[7542]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:09:01 tecmint CRON[7542]: pam_unix(cron:session): session closed for user root
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session closed for user root
....

Une autre façon d’utiliser la commande more en conjonction (pipe) avec d’autres commandes, telles que la commande cat, comme présenté dans l’exemple ci-dessous :

# cat /var/log/auth.log | more
View and Navigate Contents of File

Pour naviguer dans le fichier ligne par ligne, appuyez sur la touche Entrée ou appuyez sur la touche Espace pour naviguer d’une page à la fois, la page étant la taille actuelle de votre terminal. Pour quitter la commande, appuyez simplement sur la touche q.

A useful option of more command is the -number switch which allows you to set the number of line a page should contain. As an example display the auth.log file as a page of 10 lines:

# more -10 /var/log/auth.log
Show Only First 10 Lines of File

De plus, vous pouvez afficher une page à partir d’un numéro de ligne spécifique en utilisant l’option +numéro comme illustré ci-dessous :

# more +14 /var/log/auth.log
Show Only First 14 Lines of auth.log File
Apr 12 12:09:01 tecmint CRON[7542]: pam_unix(cron:session): session closed for user root
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session closed for user root
Apr 12 12:16:01 tecmint mate-screensaver-dialog: gkr-pam: unlocked login keyring
Apr 12 12:17:01 tecmint CRON[7793]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:17:01 tecmint CRON[7793]: pam_unix(cron:session): session closed for user root
Apr 12 12:20:01 tecmint CRON[7905]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:20:01 tecmint CRON[7905]: pam_unix(cron:session): session closed for user root
Apr 12 12:25:01 tecmint CRON[8107]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:25:01 tecmint CRON[8108]: pam_unix(cron:session): session opened for user root by (

Apprendre la commande Linux ‘less’

Similaire à more, la commande less vous permet de visualiser le contenu d’un fichier et de naviguer à travers le fichier. La principale différence entre more et less est que la commande less est plus rapide car elle ne charge pas le fichier entier en une fois et permet de naviguer à travers le fichier en utilisant les touches de page haut/bas.

Il peut être utilisé en tant que commande autonome exécutée sur un fichier ou utilisé avec des tuyaux avec une multitude de commandes Linux afin de restreindre leur sortie à l’écran vous permettant de parcourir les résultats.

# less /var/log/auth.log
# ls /etc | less

Vous pouvez naviguer dans le fichier ligne par ligne en appuyant sur la touche Entrée. La navigation par page peut être effectuée avec la touche barre d'espace. La taille de la page est représentée par la taille actuelle de votre terminal. Pour quitter la commande, tapez la touche q, de la même manière que pour la commande more.

A useful feature of less command is the use of /word-to-seach option. For instance you can search and match all sshd messages from a log file by interactively specifying the /sshd string.

View File Content Using less Command

Pour afficher un fichier en commençant par un numéro de ligne spécifique, utilisez la syntaxe suivante:

# less +5 /var/log/auth.log

Si vous avez besoin de suivre le numéro de chaque ligne avec la commande less, utilisez l’option -N.

# less -N /var/log/daemon.log
Show Number for Every Line in File
      1 Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session opened for user root by (uid=0)
      2 Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session closed for user root
      3 Apr 12 11:55:01 tecmint CRON[7159]: pam_unix(cron:session): session opened for user root by (uid=0)
      4 Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session opened for user root by (uid=0)
      5 Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session closed for user root
      6 Apr 12 11:55:02 tecmint CRON[7159]: pam_unix(cron:session): session closed for user root
      7 Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session opened for user root by (uid=0)
      8 Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session closed for user root
      9 Apr 12 12:05:01 tecmint CRON[7435]: pam_unix(cron:session): session opened for user root by (uid=0)
     10 Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session opened for user root by (uid=0)
     11 Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session closed for user root

Par défaut, la seule façon de quitter la commande less est d’appuyer sur la touche q. Pour modifier ce comportement et quitter automatiquement le fichier lorsque vous atteignez la fin du fichier, utilisez l’option -e ou -E:

# less -e /var/log/auth.log
# less -E /var/log/auth.log

Pour ouvrir un fichier à la première occurrence d’un motif, utilisez la syntaxe suivante:

# less +/sshd /var/log/auth.log
Show Given Matching String in File
Apr 12 16:19:39 tecmint sshd[16666]: Accepted password for tecmint from 192.168.0.15 port 41634 ssh2
Apr 12 16:19:39 tecmint sshd[16666]: pam_unix(sshd:session): session opened for user tecmint by (uid=0)
Apr 12 16:19:39 tecmint systemd-logind[954]: New session 1 of user tecmint.
Apr 12 16:19:48 tecmint sshd[16728]: Received disconnect from 192.168.0.15: 11: disconnected by user
Apr 12 16:19:48 tecmint sshd[16666]: pam_unix(sshd:session): session closed for user tecmint
Apr 12 16:20:01 tecmint CRON[16799]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 16:20:02 tecmint CRON[16799]: pam_unix(cron:session): session closed for user root
Apr 12 16:25:01 tecmint CRON[17026]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 16:25:01 tecmint CRON[17025]: pam_unix(cron:session): session opened for user root by (uid=0)

La commande ci-dessus indique à less d’ouvrir le fichier auth.log à la première correspondance de la chaîne sshd.

Pour ajouter automatiquement le contenu d’un fichier ouvert dans la commande less, utilisez la combinaison de touches Shift+f ou exécutez less avec la syntaxe suivante.

# less +F /var/log/syslog

Cela permet à less de fonctionner en mode interactif (live) et d’afficher de nouveaux contenus en temps réel tout en attendant que de nouvelles données soient écrites dans le fichier. Ce comportement est similaire à la commande tail -f.

En combinaison avec un modèle, vous pouvez surveiller le fichier de journal de manière interactive avec la combinaison de touches Shift+f tout en correspondant à un mot-clé. Pour sortir du mode en direct, appuyez simplement sur les touches Ctrl+c.

# less +/CRON /var/log/syslog

Que vous décidiez d’utiliser plus ou moins, ce qui est une question de préférence personnelle, rappelez-vous que moins est plus avec plus de fonctionnalités.

Lire aussi: Gérer les fichiers efficacement en utilisant les commandes head, tail et cat

Source:
https://www.tecmint.com/linux-more-command-and-less-command-examples/