16/05/2024

Commandes et Système

Afficher la date et l’heure dans le terminal

I. Présentation

Par défaut, le "prompt" ou terminal affiche le nom de l'utilisateur avec lequel nous sommes connecté, le nom de la machine ainsi que le chemin où l'on se trouve. Comme suivant :

ChangePrompt01

On voit donc bien ici que le prompt est "<nom d'utilisateur>@<nom machine>:<chemin>".

Note : Quand l'utilisateur se situe dans son home, le chemin est remplacé par un tild ("~").

Dans ce tutoriel, nous allons voir comment changer l'apparence du prompt pour qu'il affiche l'heure, la date ou d'autres caractères.

II. Procédure

Il faut d'abord comprendre que la forme d'affichage du prompt est propre à chaque utilisateur et qu'elle est définie dans la variable d'environnement "PS1" initialisée au démarrage d'une session. On peut vérifier la valeur de la variable d'environnement "PS1" avec la commande suivante :

echo $PS1

 Nous aurons alors le résultat suivant :

ChangePrompt02On peut donc comprendre que :

  • "\u" = utilisateur
  • "@" : le sigle arobase
  • "\h" = le nom de la machine
  • "\w" : le chemin courant
  • "$" : le signe dollars

Sachant cela, nous pouvons librement changer l'apparence de notre prompt. Il faut pour cela savoir que l'heure et la date peuvent être placées avec les caractères "\t" pour l'heure ("time") et "\d" pour la date ("date"). Nous pouvons donc modifier la valeur de "PS1" pour y ajouter ces caractères avec la commande suivante :

PS1='\d \t \u@\h:\w$'

Nous aurons tout de suite après un prompt ressemblant à cela :

ChangePrompt03

On peut bien sûr changer l'ordre d'affichage des éléments à volonté.

III. Rendre le changement permanent

Étant donné que nous n'avons modifié que la variable d'environnement, ce changement ne sera que temporaire. En effet, au redémarrage d'une autre session, la variable d'environnement sera réinitialisée. Pour que le changement soit permanent pour l'utilisateur il faut ajouter notre ligne de modification de la variable PS1 dans le fichier d’initialisation du bash avec la commande suivante :

echo " PS1='\d \t \u@\h:\w$' " >> ~/.bashrc

Puis de redémarrer une session pour vérification. Pour rendre ce même changement permanent pour tous les utilisateurs, il faut effectuer la même modification sur le fichier d'initialisation bash commun à tous les utilisateurs :

echo "PS1='\d \t \u@\h:\w$'" >> /etc/bash.bashrc

 

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.