L’interpréteur de commandes le plus couramment utilisé dans les systèmes Linux est le GNU Bourne-Again Shell. Mieux connu sous le nom de shell bash, c’est le shell par défaut dans un grand nombre de distributions Linux aujourd’hui.
Parmi les fichiers de configuration, on trouve .bashrc, .bash_profile ou encore .profile.
A quoi servent ces fichiers et quelles sont les différences ?
Dans ce tutoriel, nous aborderons deux scripts majeurs qui sont exécutés lorsque nous invoquons l’interpréteur de commandes bash.
Vous allez apprendre ce que sont ces fichiers de configuration, leurs rôles et leurs différences.
Qu’est-ce que .bashrc
.bashrc est un script de l’interpréteur de commandes Bash que Bash exécute chaque fois qu’il est démarré de manière interactive. Il initialise une session interactive de l’interpréteur de commandes. Vous pouvez placer dans ce fichier n’importe quelle commande que vous pourriez taper à l’invite de commande.
Vous placez des commandes ici pour configurer l’interpréteur de commandes pour une utilisation dans votre environnement particulier, ou pour personnaliser les choses selon vos préférences. Il est courant de placer dans .bashrc des alias que l’on souhaite toujours avoir à disposition.
Le point au début du fichier, indique qu’il s’agit d’un fichier caché.
Il ne sera donc pas affiché par défaut par la commande ls.
Vous devez ajouter le paramètre -a :
ls -a
Voici les emplacements du fichier :
FICHIER | DESCRIPTION |
/etc/bash.bashrc | Le fichier bash du système et pour tous les utilisateurs. Sa modification nécessite un accès superutilisateur |
~/.bashrc | Le fichier exécuté à l’ouverture du shell de l’utilisateur courant |
/root/.bashrc | Chaque fois que l’administrateur ouvre le shell, le fichier de l’administrateur (/root/.bashrc) est utilisé |
~/.bash_aliases | Autre fichier pour ajouter les alias |
L’objectif d’un fichier .bashrc est de fournir un endroit où vous pouvez configurer des variables, des fonctions et des alias, définir votre invite (PS1) et définir d’autres paramètres que vous souhaitez utiliser chaque fois que vous ouvrez une nouvelle fenêtre de terminal.
.bashrc s’exécute à chaque lancement de l’interpréteur de commandes interactif bash sans login.
C’est à dire à chaque fois :
- Lorsque vous vous connectez
- lorsque vous exécutez certaines commandes (scripts bash)
- lors de la copie de fichiers d’erreur ou de sortie
- Lorsque vous exécutez des tâches
- à la fin d’un travail
A quoi sert le fichier .bashrc sous Linux et ses utilisations
Comment ajouter des alias dans .bashrc
Le fichier .bashrc est un emplacement idéal pour ajouter des alias de commandes.
Voici la syntaxe à utiliser :
alias nomalias='commandes'
Par exemple pour créer l’alias l pour exécuter la commande ls avec les options -lA :
alias l='ls -lA'
Personnaliser le terminal
PS1='\d--\u@\h:\w\$ '
Modifier les variables d’environnement
Enfin, dans le fichier .bashrc vous pouvez modifier les variables d’environnement en utilisant la commande export.
Par exemple pour modifier la variable d’environnement PATH, utilisez la commande export comme ceci :
export PATH="$PATH:/mon/chemin/bin"
Qu’est-ce que bash_profile ou .profile
Le fichier .bash_profile est un autre fichier de script du shell bash que l’on peut considérer comme un fichier de configuration. Il est stocké dans ~/.bash_profile.
Toutefois, contrairement au fichier .bashrc, il est exécuté chaque fois qu’un utilisateur se connecte à un système.
En d’autres termes, il est invoqué lorsque vous entrez votre nom d’utilisateur et votre mot de passe pour vous connecter à votre système Linux. Cette connexion peut être locale ou distante. Elle est différente d’une invocation normale de l’interpréteur de commandes bash et est considérée comme une session en mode interpréteur de commandes de connexion.
On parle alors de connexion interactif bash avec login.
Comme nous l’avons vu précédemment, le point signifie qu’il s’agit d’un fichier caché. Il contient un ensemble de données qui définissent toutes les configurations du shell de connexion actuel de l’utilisateur. Ces configurations comprennent la mise en place ou l’édition de variables d’environnement, l’historique de l’interpréteur de commandes, l’achèvement, les alias de commande, etc. Chaque utilisateur possède son propre fichier .bash_profile qui stocke toutes les configurations de l’utilisateur en question. Chaque fois que nous créons un nouvel utilisateur sur notre système, Linux génère un nouveau fichier .bash_profile par défaut.
À chaque connexion interactive, l’interpréteur de commandes Bash exécute .bash_profile.
Si .bash_profile n’est pas trouvé dans le répertoire personnel, Bash exécute le premier fichier lisible trouvé à partir de .bash_login et .profile. En revanche, à chaque démarrage d’un shell interactif sans login, Bash exécute .bashrc.
Ainsi .profile remplit exactement la même fonction.
A quoi sert le fichier .bash_profile sous Linux et ses utilisations
L’utilisation la plus courante du fichier .bash_profile consiste à définir des variables d’environnement personnalisées pour différents utilisateurs. En pratique, l’utilisation du fichier .bash_profile est la même que celle du fichier .bashrc. La plupart des fichiers .bash_profile appellent par défaut le fichier .bashrc de l’utilisateur. Alors pourquoi avons-nous deux fichiers de configuration différents ? Pourquoi ne pouvons-nous pas tout faire avec un seul fichier ?
La réponse courte est la liberté et la commodité. La réponse plus longue est la suivante : Supposons que vous souhaitiez exécuter un diagnostic système à chaque fois que vous vous connectez à votre système Linux. Vous pouvez modifier le fichier de configuration pour imprimer les résultats ou les enregistrer dans un fichier. Mais vous ne souhaitez le voir qu’au démarrage et non à chaque fois que vous ouvrez votre terminal.
C’est dans ce cas que vous devez utiliser le fichier .bash_profile au lieu de .bashrc
Conclusion : différences sur les fichiers .bashrc, .bash_profile ou .profile
En conclusion, ces fichiers sont des script shell qui initialise la session shell.
Ce sont donc des fichiers de démarrage pour initialiser notamment certains variables.
La différence principale est que .bashrc s’exécute au lancement de l’interpréteur de commandes interactif bash sans login, tandis que .bash_profile ou .profile s’exécute sur une session interactive avec login.
Liens
- 12 astuces bash à connaitre sur Linux
- Utiliser if, then en Bash Linux
- La boucle for en bash Linux avec +10 exemples
- La boucle while en bash Linux avec 7 exemples
- Comment utiliser la boucle until en Bash avec des exemples
- Bash IFS : utilisation et exemples
- Qu’est-ce que le fichier .bashrc, .bash_profile et .profile et les différences sous Linux
L’article Qu’est-ce que le fichier .bashrc, .bash_profile et .profile sous Linux et les différences est apparu en premier sur malekal.com.
0 Commentaires