Recherche de site Web

Découvrez pourquoi la commande « moins » est plus rapide que « plus » pour une navigation efficace dans les fichiers


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

Lire aussi : Découvrez la différence entre les commandes « cat » et « tac » avec des exemples

Apprenez la commande Linux « plus »

# more /var/log/auth.log
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

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

Une option utile de la commande more est le commutateur -number qui vous permet de définir le nombre de lignes qu'une page doit contenir. À titre d'exemple, affichez le fichier auth.log sous la forme d'une page de 10 lignes :

more -10 /var/log/auth.log

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
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 (

Apprenez la commande Linux « moins »

Semblable à plus, la commande moins vous permet d'afficher le contenu d'un fichier et de naviguer dans le fichier. La principale différence entre plus et moins est que la commande less est plus rapide car elle ne charge pas l'intégralité du fichier en même temps et permet la navigation dans le fichier en utilisant Touches haut/bas de la page.

In peut être utilisé comme commande autonome émise sur un fichier ou utilisé avec des canaux avec une multitude de commandes Linux afin de restreindre leur sortie d'écran vous permettant de faire défiler 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 dans les pages peut être gérée avec la touche spacebar. La taille de la page est représentée par la taille actuelle de l'écran de votre terminal. Pour quitter la commande, tapez la touche q, de la même manière que pour plus de commande.

Une fonctionnalité utile de la commande less est l'utilisation de l'option /word-to-seach. Par exemple, vous pouvez rechercher et faire correspondre tous les messages sshd à partir d'un fichier journal en spécifiant de manière interactive la chaîne /sshd.

Afin d'afficher un fichier 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 retrouver le numéro de chaque ligne avec la commande less, utilisez l'option -N.

less -N /var/log/daemon.log
      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 modèle, utilisez la syntaxe suivante :

less +/sshd /var/log/auth.log
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.

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

less +F /var/log/syslog

Cela simplifie l'exécution en mode interactif (en direct) et l'affichage de nouveaux contenus à la volée en attendant que de nouvelles données soient écrites dans un fichier. Ce comportement est similaire à la commande tail -f.

En combinaison avec un modèle, vous pouvez regarder le fichier journal de manière interactive avec la touche Shift+f tout en faisant correspondre un mot-clé. Pour quitter le mode 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 un choix personnel, rappelez-vous que moins signifie plus avec plus caractéristiques.

Lire aussi : Gérer efficacement les fichiers à l'aide des commandes head, tail et cat