Personnaliser le Terminal (bashrc)
Qu’est-ce que le bashrc ?
Le bashrc est un fichier de configuration permettant de personnaliser son terminal. Il nous permet de définir des alias (des raccourcis pour certaines commandes), de se créer des fonctions personnel ou enfin de modifier son prompt.
Raccourcie des commandes
Grâce aux alias, on peut par exemple redéfinir la commande ls –al à un ls, pour cela il suffit de faire :
alias nom='commande'
On pourrait ainsi définir l’alias ls, afin qu’a chaque appelle de la commande ls, l’option –al soit activé à chaque fois.
alias ls='ls -al'
Le fichier .bashrc contient des alias prédéfinit qui sont mis en commentaire. Il vous suffit de parcourir le fichier pour décommenter les alias existants ou de créer les votre.
# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'
Terminal avec des couleur
Personnalisation par utilisateur
créer un fichier .bashrc dans son répertoire home
nano ~/.bashrc
Ajouter a la fin du fichier
Ajouter la ligne suivante pour les avoir des couleurs
export PS1='\[\e[38;5;160m\]\u\[\e[0m\]@\[\e[38;5;21m\]\h\[\e[38;5;40m\][\[\e[3m\]\w\[\e[23m\]] \[\e[38;5;226;2m\]$(git branch 2>/dev/null | grep '"'"'*'"'"' | colrm 1 2)\n\[\e[0m\]\$ '
L'exemple du pré-set ci-dessus va personnaliser le terminal de la façon suivante :
Vous pouvez créer votre propre preset de terminal grâce au site : https://scriptim.github.io/bash-prompt-generator/
Pour que les modifications soient prises en compte vous pouvez faire une des manipulations suivantes :
- Enregistrer le fichier et quitter le terminal pour se reconnecter. (permanent)
- Exécuter la commande suivante : source ~/.bashrc (temporaire)
- Exécuter la commande suivante : exec $SHELL (temporaire)
Si lors de votre déconnexion/reconnexion le terminal n'a pas pris en compte la personnalisation de votre preset alors vous devez rajouter un fichier .bash_profile dans votre répertoire.
nano ~/.bash_profile
Puis coller le script suivant dans le fichier :
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
Maintenant vous pouvez vous déconnecter/reconnecter pour avoir le nouveau preset.
Message à la connexion
Figlet - créer un art ASCII à partir d'un texte
Linux server 5.10.0-amd64 #1 SMP Debian 5.10.140-1 (2022-09-02) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
_ _ _ _ __ __ _ _
| | | | ___| | | __\ \ / /__ _ __| | __| |
| |_| |/ _ \ | |/ _ \ \ /\ / / _ \| '__| |/ _` |
| _ | __/ | | (_) \ V V / (_) | | | | (_| |
|_| |_|\___|_|_|\___/ \_/\_/ \___/|_| |_|\__,_|
user@server:~$
(Sur Debian) Pour le art télécharger le package : figlet
sudo apt-get install figlet
(Sur Arch Linux)
sudo pacman -S figlet
Enfin ajouter dans le fichier .bashrc
figlet HelloWorld
Neofetch - Affiche des informations système importantes
Linux antec 5.10.0-amd64 #1 SMP Debian 5.10.140-1 (2022-09-02) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
_,met$$$$$gg. user@server
,g$$$$$$$$$$$$$$$P. --------------
,g$$P" """Y$$.". OS: Debian GNU/Linux 11 (bullseye) x86_64
,$$P' `$$$. Host: B450M DS3H V2
',$$P ,ggs. `$$b: Kernel: 5.10.0-18-amd64
`d$$' ,$P"' . $$$ Uptime: 43 days, 1 hour, 10 mins
$$P d$' , $$P Packages: 720 (dpkg)
$$: $$. - ,d$$' Shell: bash 5.1.4
$$; Y$b._ _,d$P' Resolution: 1280x1024
Y$$. `.`"Y$$$$P"' Terminal: /dev/pts/0
`$$b "-.__ CPU: AMD Ryzen 5 3600 (12) @ 3.600GHz
`Y$$ GPU: NVIDIA GeForce 6200 TurboCache
`Y$$. Memory: 19482MiB / 32119MiB
`$$b.
`Y$$b.
`"Y$b._
`"""
user@server:[~]$
(Sur Debian) Pour le art télécharger le package : neofetch
sudo apt-get install neofetch
Enfin ajouter dans le fichier .bashrc
neofetch
Personnalisation pour tous les utilisateurs
Faite pareil mais dans le fichier suivant
sudo nano /etc/profile
Explication
Code couleur du preset :
export PS1="[\e[1;31m]\u[\e[1;34m]@[\e[1;32m]\h[\e[1;34m]:[\e[1;33m]\w[\e[1;34m]:[\e[0;36m][\j][\e[0m]$ "
Première partie en rouge : USER
Deuxième partie en vert : HOSTNAME
Troisième parte en jaune : Le chemin d'accès
Quatrième partie en bleu : Le nombre de processus en arrière plan sur cette session


