Qu'est-ce que c'est, et 6 choses que vous pouvez faire avec
Sommaire
Liens rapides
-
Que fait .bashrc et pourquoi
-
6 choses que vous pouvez faire avec .bashrc
Résumé
- Le fichier .bashrc est crucial pour la configuration des commandes au démarrage du shell Linux.
- Connaître le shell que vous exécutez vous aide à configurer correctement .bashrc.
- Personnalisez votre shell avec .bashrc en définissant de nouvelles fonctions, en définissant des alias, etc.
Le shell est si important pour Linux qu’il possède son propre processus de démarrage. Découvrez comment configurer le shell au démarrage, comment exécuter des commandes automatiquement et ce que vous pouvez faire avec toute cette puissance.
Que fait .bashrc et pourquoi
Le fichier .bashrc est généralement caché dans votre répertoire personnel. Il s'agit d'un fichier « contrôle d'exécution » provenant de Bash (Bourne Again Shell), le shell Linux le plus populaire et le plus utilisé. Linux utilise des fichiers de contrôle d'exécution pour créer des scripts et configurer les commandes lors de leur démarrage. .bashrc est donc un script de démarrage pour le shell lui-même.
.bashrc doit faire tout ce qui est nécessaire pour configurer votre environnement pour une session shell interactive. Cela inclut la définition de variables d'environnement, la définition de fonctions et l'exécution de programmes utilitaires. Une fois que vous saurez comment cela fonctionne, vous découvrirez diverses utilisations pour personnaliser et rationaliser votre expérience Shell.
Comment fonctionne .bashrc
Tout d’abord, sachez que Bash n’est pas le seul shell. Sur macOS, vous utilisez probablement zsh, une alternative puissante. La plupart des distributions Linux utilisent Bash, mais rien ne garantit que la vôtre le fasse. Pour savoir quel shell vous exécutez, ouvrez une fenêtre de terminal et exécutez cette commande :
echo $0
La sortie devrait ressembler à « bash » ou « -zsh », identifiant votre shell spécifique.
Ensuite, vous n'avez peut-être pas déjà de fichier .bashrc (ou équivalent), selon votre distribution. Essayez d'exécuter ce qui suit :
ls -l ~/.*rc
Cette commande vous montrera tous les fichiers cachés de votre répertoire personnel qui se terminent par « rc » :
Si vous ne voyez pas .bashrc, vous pouvez créer un fichier vide portant ce nom. Vous pouvez également copier un modèle depuis /etc/skel/.bashrc si vous l'avez :
cp /etc/skel/.bashrc ~/.bashrc
Le processus de démarrage peut être assez compliqué, vous souhaiterez donc peut-être en savoir plus sur les différences entre .bashrc et .profile avant de commencer, ou si vous rencontrez des problèmes.
Dans le cas général, cependant, vous pouvez vous attendre à ce que le fichier .bashrc s'exécute lorsque vous ouvrez un nouveau terminal, y compris une nouvelle fenêtre ou un nouvel onglet.
6 choses que vous pouvez faire avec .bashrc
Étant donné que .bashrc est lui-même un script Bash, vous pouvez l'utiliser à de nombreuses fins différentes. La limite est vraiment votre imagination, mais les utilisations suivantes sont courantes.
Exécutez neofetch et Alternatives
Puisque .bashrc s'exécute lorsque vous ouvrez un nouveau terminal, c'est un bon endroit pour injecter un peu de personnalité dans votre terminal. Tout ce qui peut servir de message de bienvenue est un ajout intéressant, et neofetch est l'un des plus agréables :
Le programme affiche des illustrations ASCII colorées ainsi que des informations sur votre machine. En plus d'être un bon moyen de commencer votre session de terminal, il est utile pour reconnaître que vous êtes sur la machine que vous pensez être, particulièrement utile si vous vous connectez souvent à des machines distantes.
Neofetch n'est plus disponible, donc même si vous pouvez toujours l'utiliser, vous souhaiterez peut-être rechercher une alternative plus récente qui est activement développée. De bonnes alternatives incluent Fastfetch et screenFetch, qui sont des remplacements instantanés écrits respectivement en script C et Bash, et onefetch qui affiche les détails d'un projet git sur lequel vous travaillez.
Quel que soit l'outil que vous choisissez, il est facile de le faire fonctionner via .bashrc. Tout d'abord, assurez-vous que la commande simple fonctionne, par exemple
neofetch
Ajoutez ensuite simplement la même commande à .bashrc :
Personnalisez votre invite
Une manière plus discrète de personnaliser votre environnement de terminal consiste à définir votre invite. Il s'agit du morceau de texte que Linux imprime au début de chaque ligne de votre terminal, vous invitant à taper quelque chose.
La valeur par défaut est assez utile, mais vous pouvez personnaliser l'invite pour inclure presque tout. À l'aide des variables intégrées, vous pouvez inclure le nom d'hôte, l'utilisateur, la date, etc. J'aime cette configuration :
PS1="n($PWD) $ "
Cela ajoute une ligne supplémentaire qui permet de repérer plus clairement où se termine la sortie d'une commande précédente. Cela supprime également le nom d'utilisateur et l'hôte que je n'utilise pas vraiment.
Votre .bashrc par défaut inclut probablement déjà une configuration PS1. Vous pouvez ajouter le vôtre par la suite si vous le souhaitez, comme je l'ai ici :
Définir des alias pour faciliter les commandes
L'aliasing est une autre personnalisation puissante qui peut rendre votre terminal plus agréable à utiliser. En définissant un alias pour une commande, vous pouvez lui donner un nom plus mémorable ou plus facile à saisir. Vous pouvez également utiliser des alias pour faciliter l’utilisation de combinaisons courantes d’options.
Mon .bashrc définit plusieurs alias pour la commande ls :
Comme pour toute configuration environnementale, les alias peuvent être définis à plusieurs endroits. Il est donc utile de vérifier les alias actuels avant de commencer, en utilisant la commande alias seule :
Créer des fonctions Shell pour les tâches courantes
Encore plus puissantes que les alias, les fonctions shell vous permettent d'écrire vos propres mini-commandes. Si vous définissez une fonction shell dans .bashrc, vous pouvez l'exécuter en tapant son nom, comme n'importe quelle autre commande.
Voici un exemple simple qui pourrait vous faire gagner du temps. Il appelle mkdir avec l'option -p utile qui crée un chemin complet, incluant de nouveaux répertoires intermédiaires. Il passe ensuite à ce nouveau répertoire :
mkd() {
mkdir -p "$@"
cd "$@" || exit
}
Le vrai avantage ici est que vous pouvez désormais utiliser « mkd » comme substitut à « mkdir » :
Définir des variables d'environnement pour contrôler les commandes
De nombreuses commandes utilisent des variables d'environnement globales ou spécifiques pour modifier leur comportement. Les variables d'environnement courantes largement reconnues incluent :
- EDITOR qui définit votre programme éditeur, si un autre programme choisit de l'ouvrir.
- PAGER qui définit un programme à utiliser pour afficher une sortie supérieure à un écran.
- NAVIGATEUR qui définit votre navigateur Web par défaut.
Mais les variables spécifiques aux commandes peuvent être tout aussi utiles. Prenons le téléavertisseur, moins, comme exemple. Il prend en charge une variable LESS que vous pouvez utiliser pour transmettre les options par défaut. Par exemple:
export LESS="--quit-if-one-screen"
Ajoutez-le à votre .bashrc et less agira toujours bien, même avec des fichiers plus courts qu'une page d'écran. De nombreuses commandes prennent en charge des variables d'environnement similaires que vous pouvez définir dans .bashrc pour modifier leur comportement par défaut. Recherchez une section intitulée « Environnement » ou « Variables d'environnement » dans la page de manuel de chaque commande.
Modularisez votre environnement en vous procurant d'autres fichiers
Une fois que vous avez commencé à personnaliser le shell, votre fichier .bashrc peut croître jusqu'à devenir assez lourd. Qu’à cela ne tienne : c’est l’occasion idéale d’en apprendre davantage sur la modularisation et de la pratiquer.
Diviser un gros fichier en plusieurs fichiers plus petits peut rendre l’ensemble plus facile à gérer et permettre le partage à d’autres fins. Une structure bien définie peut faciliter la lecture pour les autres, même si vous faites partie de ces autres.
Le squelette bashrc fourni avec ma distribution explique comment procéder, avec des commentaires clairs :
Dans ce cas, un fichier sur ~/.bash_aliases sera recherché (via la commande .) s'il existe. L'effet sera exactement comme si ces alias étaient directement inclus dans votre .bashrc.