Comment modifier les couleurs des répertoires et des fichiers dans la commande ls

Table des matières:

Comment modifier les couleurs des répertoires et des fichiers dans la commande ls
Comment modifier les couleurs des répertoires et des fichiers dans la commande ls

Vidéo: Comment modifier les couleurs des répertoires et des fichiers dans la commande ls

Vidéo: Comment modifier les couleurs des répertoires et des fichiers dans la commande ls
Vidéo: How to Remove Fitbit Device from Account - YouTube 2024, Avril
Anonim
Si vous avez exécuté le
Si vous avez exécuté le

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.

Avant de jouer avec cela, nous vous recommandons de sauvegarder le contenu actuel de la variable LS COLORS dans une autre variable. Cela vous permettra de restaurer rapidement les paramètres par défaut sans vous déconnecter du shell et vous reconnecter, ni fermer ni rouvrir la fenêtre du terminal. Pour enregistrer le contenu actuel de la variable LS COLORS dans une nouvelle variable nommée ORIGINAL, exécutez:
Avant de jouer avec cela, nous vous recommandons de sauvegarder le contenu actuel de la variable LS COLORS dans une autre variable. Cela vous permettra de restaurer rapidement les paramètres par défaut sans vous déconnecter du shell et vous reconnecter, ni fermer ni rouvrir la fenêtre du terminal. Pour enregistrer le contenu actuel de la variable LS COLORS dans une nouvelle variable nommée ORIGINAL, exécutez:

ORIGINAL=$LS_COLORS

A tout moment, vous pouvez exécuter la commande suivante pour annuler vos modifications et restaurer les couleurs par défaut:
A tout moment, vous pouvez exécuter la commande suivante pour annuler vos modifications et restaurer les couleurs par défaut:

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

).

Cependant, il ne s’agit que d’une très simple variable LS COLORS qui définit les répertoires comme une couleur et laisse tous les autres types de fichiers comme couleur par défaut. Supposons que nous voulions également que les fichiers portant l’extension de fichier.desktop soient également de couleur cyan soulignée. Nous pouvons exécuter la commande suivante pour le faire:
Cependant, il ne s’agit que d’une très simple variable LS COLORS qui définit les répertoires comme une couleur et laisse tous les autres types de fichiers comme couleur par défaut. Supposons que nous voulions également que les fichiers portant l’extension de fichier.desktop soient également de couleur cyan soulignée. Nous pouvons exécuter la commande suivante pour le faire:

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

).

Ceci est le processus pour assembler votre liste de types de fichiers et de couleurs. Spécifiez autant que vous le souhaitez sous la forme filetype = color, en les séparant par deux points (:).
Ceci est le processus pour assembler votre liste de types de fichiers et de couleurs. Spécifiez autant que vous le souhaitez sous la forme filetype = color, en les séparant par deux points (:).

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.

Voici la liste des attributs de couleur du texte:
Voici la liste des attributs de couleur du texte:
  • 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.

Voici la liste des codes de couleur d’arrière-plan:
Voici la liste des codes de couleur d’arrière-plan:
  • 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.

Voici la liste des codes de type de fichier:
Voici la liste des codes de type de fichier:
  • 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'

Image
Image

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

Ajoutez votre variable LS COLORS personnalisée à une nouvelle ligne à la fin du fichier, comme suit:
Ajoutez votre variable LS COLORS personnalisée à une nouvelle ligne à la fin du fichier, comme suit:

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.

Chaque fois que vous démarrez une nouvelle session Bash, Bash lit le fichier.bashrc et définit automatiquement votre variable LS COLORS. Pour changer vos couleurs à l'avenir, revenez à votre fichier.bashrc et modifiez la ligne LS COLORS.
Chaque fois que vous démarrez une nouvelle session Bash, Bash lit le fichier.bashrc et définit automatiquement votre variable LS COLORS. Pour changer vos couleurs à l'avenir, revenez à votre fichier.bashrc et modifiez la ligne LS COLORS.

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.

Conseillé: