ls
Dans Bash, vous remarquerez que les répertoires et les fichiers que vous voyez sont colorisés en fonction de leur type. Vous pouvez personnaliser votre propre jeu de couleurs pour choisir différentes couleurs de texte, couleurs d'arrière-plan et mise en forme, telles que gras et souligné.
Comment ça marche
Le jeu de couleurs est stocké dans la variable LS_COLORS. Pour afficher votre jeu de couleurs actuel, vous pouvez indiquer au Bash d’imprimer le contenu de la variable:
echo $LS_COLORS
Vous verrez une longue liste de types de fichiers et de codes numériques. Nous expliquerons comment créer une liste comme celle-ci.
ORIGINAL=$LS_COLORS
LS_COLORS=$ORIGINAL
Vos modifications sont toujours temporaires jusqu'à ce que vous modifiiez un fichier pour en faire vos nouvelles valeurs par défaut. Vous pouvez toujours vous déconnecter et vous reconnecter ou fermer et rouvrir une fenêtre de terminal pour restaurer les couleurs par défaut. Cependant, cela facilite la tâche avec une seule commande rapide.
Comment définir des couleurs personnalisées
La variable LS_COLORS contient une liste de types de fichiers ainsi que les codes de couleur associés. La liste par défaut est longue car elle spécifie différentes couleurs pour différents types de fichiers.
Commençons par un exemple de base pour montrer comment cela fonctionne. Supposons que nous voulions changer la couleur des répertoires du bleu gras par défaut au rouge gras. Nous pouvons exécuter la commande suivante pour le faire:
LS_COLORS='di=1;31'
le
di=1;31
peu raconte
ls
ces répertoires (
di
) sont (
=
) audacieux (
1;
) rouge (
31
).
LS_COLORS='di=1:31:*.desktop=4;36'
Cela raconte
ls
ces répertoires (
di
) sont (
=
) audacieux (
1;
) rouge (
31
) et (
:
) tout fichier se terminant par.desktop (
*.desktop
) est (
=
) souligné (
4;
) cyan (
36
).
Pour assembler votre propre liste, il vous suffit de connaître la liste des codes de couleur et des codes de type de fichier. Ceci utilise les mêmes codes de couleur numériques que vous utilisez lorsque vous modifiez la couleur dans votre invite Bash.
Voici la liste des codes de couleur pour le texte au premier plan:
- Noir: 30
- Bleu: 34
- Cyan: 36
- Vert: 32
- Violet: 35
- Rouge: 31
- Blanc: 37
- Jaune: 33
Par exemple, comme le texte jaune correspond au code de couleur 33, vous utiliseriez
di=33
faire des annuaires jaunes.
- Texte normal: 0
- Texte en gras ou clair: 1 (Cela dépend de l'émulateur de terminal.)
- Dim Text: 2
- Texte souligné: 4
- Texte clignotant: 5 (Ceci ne fonctionne pas dans la plupart des émulateurs de terminaux.)
- Texte inversé: 7 (Ceci inverse les couleurs de l'avant-plan et de l'arrière-plan. Vous verrez ainsi du texte noir sur un arrière-plan blanc si le texte actuel est du texte blanc sur un arrière-plan noir.)
- Texte caché: 8
Lorsque vous spécifiez un attribut ou plusieurs codes de couleur, séparez la liste de codes par un point-virgule (;). Vous n'avez pas besoin de spécifier 0 pour du texte normal, car ce dernier est utilisé lorsque vous ne spécifiez pas d'attribut ici.
Par exemple, comme le texte en gras correspond au code de couleur 1 et le texte jaune au code de couleur 33, vous utiliserez
di=1;33
faire des annuaires audacieux jaune. Vous pouvez également spécifier plusieurs attributs. Par exemple, vous pouvez utiliser
di=1;4;33
faire des annuaires gras, souligné jaune.
- Fond noir: 40
- Fond bleu: 44
- Contexte cyan: 46
- Fond vert: 42
- Fond violet: 45
- Fond rouge: 41
- Fond blanc: 47
- Fond jaune: 43
Par exemple, puisqu'un fond bleu est le code de couleur 44, vous utiliseriez
di=44
utiliser un fond bleu pour les répertoires. Vous pouvez également combiner un code de couleur d'arrière-plan, un code de couleur de premier plan et autant d'attributs que vous le souhaitez. Par exemple,
di=1;4;33;44
vous donnerait un texte jaune gras et souligné sur un fond bleu.
- Annuaire: di
- Fichier: fi
- Lien symbolique: ln
- Named Pipe (FIFO): pi
- Socket: alors
- Dispositif de bloc: bd
- Caractère: cd
- Lien symbolique orphelin (pointe vers un fichier qui n'existe plus): ou
- Fichier manquant (fichier manquant pointé par un lien symbolique orphelin): mi
- Fichier exécutable (avec l'autorisation «x»): ex
- *.extension: Tout fichier se terminant par une extension que vous spécifiez. Par exemple, utilisez *.txt pour les fichiers se terminant par.txt, *.mp3 pour les fichiers se terminant par.mp3, *.desktop pour les fichiers se terminant par.desktop ou pour tout autre choix Vous pouvez spécifier autant d'extensions de fichiers que vous le souhaitez.
Spécifiez autant de types de codes de type de fichier avec autant de couleurs que vous le souhaitez, séparés par le caractère:. Répétez cette procédure pour assembler votre variable LS_COLORS.
Supposons, par exemple, que vous souhaitiez utiliser du texte violet en gras pour les répertoires, du texte rouge souligné pour les fichiers exécutables et du texte vert en gras sur fond rouge pour les fichiers.mp3. En rassemblant les codes de type de fichier et les codes de couleur des listes ci-dessus, vous obtenez:
LS_COLORS='di=1;35:ex=4;31:*.mp3=1;32;41'
Comment définir vos nouvelles couleurs par défaut
Vous avez maintenant une variable LS_COLORS personnalisée qui fonctionne dans la session Bash en cours. Cependant, vous souhaiterez probablement la rendre permanente afin qu'elle soit automatiquement utilisée chaque fois que vous démarrez une nouvelle session Bash sans que vous ayez à vous en souvenir.
Vous pouvez définir votre variable LS_COLORS personnalisée «et toute autre variable Bash de votre choix» en l'ajoutant au fichier.bashrc de votre compte utilisateur. Ce fichier se trouve dans ~ /.bashrc. Donc, si votre nom d'utilisateur est bob, vous le trouverez à /home/bob/.bashrc. Il existe également d'autres moyens de définir des variables d'environnement, mais il s'agit d'un moyen simple.
Commencez par ouvrir ce fichier dans votre éditeur de texte préféré. Nous allons utiliser nano ici à titre d'exemple, mais vous pouvez utiliser vi, emacs ou tout ce que vous voulez.
nano ~/.bashrc
LS_COLORS='di=1;35:ex=4;31:*.mp3=1;32;41'
Enregistrez le fichier et quittez. En nano, appuyez sur Ctrl + O, puis sur Entrée pour enregistrer, puis sur Ctrl + X pour quitter.
Vous pouvez également simplement supprimer le
LS_COLORS=
ligne que vous avez ajoutée à votre fichier.bashrc pour utiliser à nouveau les couleurs par défaut. Si vous ne définissez pas la valeur LS_COLORS, Bash utilisera les couleurs par défaut.