Présentation
Sous Linux, une grande partie de votre travail s'effectue à partir d'une invite de commande, également appelée shell , ou BASH (Bourne-Again Shell). Le shell interprète vos commandes et les transmet au système d'exploitation pour exécution.
Ce didacticiel vous montrera comment personnaliser ou modifier votre invite Linux BASH .

Prérequis
- Un système exécutant Linux
- Accès à une ligne de commande/terminal
- Un compte utilisateur avec sudo ou racine privilèges
Invite BASH par défaut
L'invite BASH par défaut est celle que vous voyez lorsque vous ouvrez un terminal ou une ligne de commande pour la première fois. Cela ressemble généralement à ceci :
[email protected]:~$
Alternativement, cela peut ressembler à ceci :
(base) [[email protected] ~]$
La première partie de l'invite vous indique l'utilisateur actuellement connecté. La deuxième partie identifie le nom d'hôte du système.
Le signe tilde ~
indique que le répertoire de travail actuel est le répertoire personnel de l'utilisateur actuel.
Le signe dollar $
signifie que l'utilisateur actuel est un utilisateur standard.
Un utilisateur root serait identifié par un signe dièse #
.
Personnaliser l'invite Bash sous Linux
Comme la plupart des applications Linux, BASH lit un fichier de configuration pour déterminer son comportement. Ce fichier se trouve dans le répertoire personnel :
~/.bashrc
Avant d'apporter des modifications, créez une copie de sauvegarde de votre fichier de configuration. Ouvrez une fenêtre de terminal et saisissez ce qui suit :
cp ~/.bashrc ~/.bashrc.bak
Modifier l'invite Bash sous Linux de manière permanente
Ouvrez le fichier de configuration BASH pour le modifier :
sudo nano ~/.bashrc
Dans ce fichier, vous devriez voir plusieurs paramètres différents. Certains d'entre eux sont des lignes descriptives en bleu, non commentées avec un #
signe. Certains sont blancs, ce qui indique qu'ils sont activés.
Faites défiler vers le bas du fichier de configuration. Ajoutez la ligne suivante :
PS1="MyTestPrompt> "

Vous pouvez remplacer MyTestPrompt>
avec n'importe quelle chaîne de texte que vous aimez.
Enregistrez le fichier (ctrl-o
> Entrez ) et quitter (ctrl-x
).
Actualisez le service BASH pour appliquer vos modifications. Saisissez ce qui suit :
source ~/.bashrc
Votre invite de ligne de commande devrait se transformer en ceci :
MyTestPrompt>

Créer une modification temporaire de l'invite BASH
Vous pouvez modifier temporairement l'invite BASH en utilisant export
commande. Cette commande modifie l'invite jusqu'à ce que l'utilisateur se déconnecte.
Définissez l'invite BASH pour n'afficher que le nom d'utilisateur en saisissant ce qui suit :
export PS1="\u >"
L'invite devrait immédiatement changer pour ressembler à ceci :
username >

Vous pouvez réinitialiser l'invite en vous déconnectant, puis en vous reconnectant.
Options personnalisées populaires pour les invites BASH
Vous pouvez utiliser ces options dans l'une ou l'autre méthode - temporairement avec l'export
commande, ou de façon permanente en éditant le ~/.bashrc
fichier.
Afficher le nom d'utilisateur et le nom de domaine
Utilisez le –H
option pour afficher un nom d'hôte complet :
export PS1="\u\H "
Vous devriez voir le nom d'hôte dans l'invite.

Ajouter des caractères spéciaux
Vous pouvez ajouter des caractères spéciaux à l'invite en les plaçant dans l'ordre autour des options spéciales :
export PS1="\[email protected]\H :"
Cela devrait afficher ce qui suit :
[email protected]:
Afficher le nom d'utilisateur plus le nom et la version du shell
Saisissez ce qui suit pour afficher le nom d'utilisateur, le nom du shell et la version :
export PS1="\u >\s\v "
L'invite devrait changer comme suit :
username >bash4.4

Ajouter la date et l'heure à l'invite BASH
Utilisez les options suivantes pour afficher différents formats de date et d'heure :
d
– Affiche la date d'aujourd'hui en [jour de la semaine]/[mois]/[jour]
export PS1="\[email protected]\H>\d "
t
– Affiche l'heure actuelle au format 24 heures
export PS1="\[email protected]\H>\t "
T
– Affiche l'heure actuelle au format 12 heures
export PS1="\[email protected]\H>\T "
A
– Affiche l'heure actuelle au format 24 heures, avec seulement les heures et les minutes
export PS1="\[email protected]\H>\A "
Masquer toutes les informations dans l'invite BASH
Utilisez ceci pour empêcher les noms d'utilisateur ou les noms d'hôte de s'afficher à l'invite :
export PS1="\W > "
Vous devriez voir ce qui suit :
~ >
Différencier l'utilisateur racine de l'utilisateur normal
L'invite BASH normale affiche un $
signer pour un utilisateur normal. Si vous vous connectez en tant qu'utilisateur root, un #
signe est affiché. Utilisez le $
code pour indiquer que l'utilisateur actuel n'est pas un utilisateur root :
export PS1="\[email protected]\H \W:\$ "
Plus d'options d'invite BASH
Voici une liste de la plupart des options que vous pouvez utiliser pour l'invite BASH.
Certaines de ces commandes peuvent ne pas fonctionner sur toutes les versions de Linux.
\a
– Un personnage cloche- \
d
– Date (jour/mois/jour) \D{format}
– Utilisez-le pour appeler le système afin qu'il réponde avec l'heure actuelle\e
– Caractère d'échappement\h
– Nom d'hôte (court)\H
– Nom d'hôte complet (nom de domaine)\j
– Nombre de tâches gérées par le shell\l
– Le nom de base du terminal shells\n
– Nouvelle ligne\r
– Retour chariot\s
– Le nom du shell\t
– Heure (heure:minute:seconde)\@
– Heure, 12 heures AM/PM\A
– Heure, 24 heures, sans secondes\u
– Nom d'utilisateur actuel\v
– Version BASH\V
– Informations supplémentaires sur la version BASH\w
– Répertoire de travail courant ($HOME est représenté par ~)\W
– Le nom de base du répertoire de travail ($HOME est représenté par ~)\!
– Liste le numéro de cette commande dans l'historique\#
– Le numéro de commande de cette commande- \
$
– Spécifie si l'utilisateur est root (#) ou autrement ($) - \\ – Barre oblique inverse
\[
– Démarrer une séquence de caractères non affichés (utile si vous souhaitez ajouter une commande ou un jeu d'instructions à l'invite)\]
– Fermer ou terminer une séquence de caractères non affichés
Comment changer la couleur de l'invite BASH
Vous pouvez changer la couleur du texte de votre invite BASH. Par exemple, pour modifier temporairement le texte de votre invite BASH en vert, saisissez ce qui suit :
export PS1="\e[0;32m[\[email protected]\h \W]\$ \e[0m"

Votre invite doit avoir le même texte que d'habitude mais être de couleur verte.
Voici une répartition des commandes :
• \e[
– Commencer les changements de couleur
• 0;32m
– Précisez le code couleur
• [\[email protected]\h \W]\$
– Ceci est le code de votre invite BASH normale ([email protected] Workingdirectory $
)
• \e[0m
– Quitter le mode de changement de couleur
Le premier chiffre du code couleur spécifie la police :
• 0
- Normal
• 1
– Gras (brillant)
• 2
– Faible
• 4
– Souligné
Le deuxième chiffre indique la couleur souhaitée :
• 30
- Le noir
• 31
- Rouge
• 32
- Vert
• 33
- Brun
• 34
- Bleu
• 35
- Violet
• 36
– Cyan
• 37
– Gris clair
De plus, si vous combinez l'option lumineuse avec un code couleur, vous obtenez une version plus claire de cette couleur. Par exemple, si vous utilisez le code couleur 1;32
, vous obtiendrez du vert clair au lieu du vert normal. Si vous utilisez 1;33
, vous obtenez du jaune au lieu de marron.
Comment réinitialiser les modifications BASH aux paramètres par défaut
Il existe deux façons de réinitialiser les modifications. Pour les modifications temporaires (en utilisant le export PS1=""
commande), vous pouvez réinitialiser la valeur par défaut en vous déconnectant.
Si vous avez modifié le \.bashrc
fichier pour apporter des modifications permanentes, il existe deux méthodes pour rétablir les paramètres par défaut :
- Affichez vos modifications sous forme de commentaires en modifiant le fichier et en ajoutant un
#
avant chaque modification effectuée. - Restaurez les paramètres par défaut de votre sauvegarde en saisissant :
sudo cp ~/.bashrc.bak ~/.bashrc
Comprendre les différentes parties de l'invite BASH
Avant de continuer, réinitialisez votre invite BASH à la valeur par défaut. Si vous avez utilisé le export
commande, déconnectez-vous et reconnectez-vous. Si vous avez modifié votre ~/.bashrc
fichier, placez un #
signez avant chaque modification que vous avez apportée et enregistrez le fichier.
L'invite BASH contient quatre valeurs différentes :PS1, PS2, PS3 et PS4 .
Le PS signifie Prompt Statement . Jusqu'à présent, nous avons travaillé avec la valeur PS1. Pour voir la valeur PS1 actuelle, saisissez ce qui suit :
echo $PS1
Selon le système, le terminal renvoie quelque chose comme ceci pour les paramètres par défaut :

Vous reconnaîtrez peut-être le \[email protected]\h
options comme nom d'utilisateur et hôte . Le w
affiche le répertoire de travail actuel.
Maintenant, affichez la valeur PS2 :
echo $PS2
Le système devrait afficher juste un crochet :
>
Répéter la même commande pour PS3 doit être vide.
Pour PS4, vous verrez un +
signe.
Voici les différentes significations des différentes parties de l'invite BASH :
- PS1 – Il s'agit de l'affichage d'invite principal. C'est ici que vous définissez les caractères spéciaux ou les informations importantes.
- PS2 – Il s'agit de la chaîne d'invite secondaire. Il s'agit généralement d'un séparateur entre l'affichage de l'invite et la saisie de texte. Il est également utilisé pour afficher lorsqu'une longue commande est divisée en sections avec le \ signer.
- PS3 – Ceci est l'invite pour le
select
commande. - PS4 – Il s'agit de l'invite pour exécuter un script shell en mode débogage.
Dans la plupart des cas, vous ne travaillerez qu'avec la PS1 option et peut-être la PS2 également.