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 spaceba
r. 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