Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Qu’est-ce que le fichier .bashrc, .bash_profile et .profile sous Linux et les différences

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 le fichier .bashrc, .bash_profile et .profile sous Linux et les 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
Les emplacements des fichiers .bashrc dans Linux

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\$ '
Personnaliser le prompt du terminal Linux avec la variable PS1

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.

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.

Enregistrer un commentaire

0 Commentaires