Personnalisation .bashrc
Le fichier ~/.bashrc est l’’interpréteur de commandes le plus couramment utilisé dans les systèmes Linux. Il sert à paramètrer le shell d’un utilisateur.
Le shell (bash ou autre) est personnalisable via un fichier de configuration.
Pour BASH, il s’agit du fichier .bashrc, il est lu à chaque ouverture de console par l’utilisateur $USER.
(I) Information
Pour les utilisateurs, le fichier se situe à /home/$USER/.bashrc
et pour root à /root/.bashrc
Le plus simple pour l’éditer est d’utiliser le raccourci ~/
nano ~/.bashrc
⚠️ Avertissement
Avant de faire des modification, faites un backup quand même, on sait jamais
cp ~/.bashrc ~/my_bashrc
⚠️ Avertissement
Si vous avez déjà tout cassé, il faudra utiliser ces commandes , c'est le chemin complet au cas ou vous auriez cassé le #PATH
/bin/cp /etc/skel/.bashrc ~/
. ~/.bashrc
Ajouter des alias de commandes
Il est possible d’ajouter des alias de commandes pour éviter d’avoir à taper une longue commande si elle sert souvent, il suffira de saisir l’alias pour lancer la commande associée.
alias code='commande'
Par exemple :
alias maj='sudo apt-get update && apt -y upgrade'
Modifier son prompt
Il est possible de personnaliser son prompt pour y ajouter de la couleur ou des informations en fonction de l’utilisateur qui est connecté à la console.
Voici le prompt que j’utilise pour l’utilisateur root :
PS1="\[\033[01;31m\]\h \[\e[1;36m\]\w\[\e[0;m\] \[\e[1;32m\] \\$\[\e[0;m\] "
Ce qui me donne le hostname en rouge, le dossier courant en bleu clair et le prompt en violet :
Et le prompt que j’utilise pour un utilisateur lambda:
PS1="\[\033[01;32m\]\h \[\e[1;36m\]\w\[\e[0;m\] \[\e[1;35m\] \\$\[\e[0;m\] "
Pareil, mais avec le hostname en vert
D'autres exemples de prompt :
PS1='\[\033[01;31m\]\u\[\033[01;34m\] \W \$\[\033[00m\] '
Un tout simple avec l’username, le dossier courant et le prompt
PS1="\[\e[0;36m\][\t]\[\e[0;m\] \[\e[0;32m\]\u@\h\[\e[0;m\]: \[\e[1;35m\]\w\[\e[0;m\] \[\e[1;32m\] \\$\[\e[0;m\] "
Avec l’heure, le nom@hostname, le repertoire courant et le prompt :
PS1="\[\033[01;31m\]\h \[\e[1;36m\]\w\[\e[0;m\] \n \[\e[1;35m\] \\$\[\e[0;m\] "
Avec le hostname, le repertoire courant et sur la deuxième ligne le prompt :
Changer les couleurs
Pour changer les couleurs il faut suivre ce tableau :
\e[0;30m = Dark Gray
\e[1;30m = Bold Dark Gray
\e[0;31m = Red
\e[1;31m = Bold Red
\e[0;32m = Green
\e[1;32m = Bold Green
\e[0;33m = Yellow
\e[1;33m = Bold Yellow
\e[0;34m = Blue
\e[1;34m = Bold Blue
\e[0;35m = Purple
\e[1;35m = Bold Purple
\e[0;36m = Turquoise
\e[1;36m = Bold Turquoise
\e[0;37m = Light Gray
\e[1;37m = Bold Light Gray
Couleurs de fond :
\e[40m = Dark Gray
\e[41m = Red
\e[42m = Green
\e[43m = Yellow
\e[44m = Blue
\e[45m = Purple
\e[46m = Turquoise
\e[47m = Light Gray
Changer les variables
Pour changer les variables, suivre ce tableau :
\d The date, in "Weekday Month Date" format (e.g., "Tue May 26").
\h The hostname, up to the first . (e.g. deckard)
\H The hostname. (e.g. deckard.SS64.com)
\j The number of jobs currently managed by the shell.
\l The basename of the shell's terminal device name.
\s The name of the shell, the basename of $0 (the portion following the final slash).
\t The time, in 24-hour HH:MM:SS format.
\T The time, in 12-hour HH:MM:SS format.
\@ The time, in 12-hour am/pm format.
\u The username of the current user.
\v The version of Bash (e.g., 2.00)
\V The release of Bash, version + patchlevel (e.g., 2.00.0)
\w The current working directory.
\W The basename of $PWD.
\! The history number of this command.
\# The command number of this command.
\$ If you are not root, inserts a "$"; if you are root, you get a "#" (root uid = 0)
\nnn The character whose ASCII code is the octal value nnn.
\n A newline.
\r A carriage return.
\e An escape character (typically a color code).
\a A bell character.
\\ A backslash.
\[ Begin a sequence of non-printing characters. (like color escape sequences). This
allows bash to calculate word wrapping correctly.
\] End a sequence of non-printing characters.
Ajouter un message de bienvenue
Pour ajouter un message de bienvenue lors du changement d’utilisateur, il y’a plusieurs options
1. Ajouter une commande echo
2. Ajouter une commande figlet (installer figlet avec apt install figlet si pas présent sur la machine)
3. Ajouter une commande figlet + lolcat (installer lolcat avec apt install lolcat si pas présent sur la mahcine)
Le texte changera à chaque fois que vous relancez bash, trop mim’s.