Activer et modifier les couleurs de la commande "LS" sous Debian

La gestion d'un serveur Linux se fait généralement via un interpréteur de commande aussi appelé "ligne de commande" ou "shell". Force est de constater que la ligne de commande est un environnement plutôt tristounet, voir carrément austère. Nous allons voir dans cet article comment mettre un peu de couleur pour rendre notre environnement plus agréable.

Pour activer la coloration de la commande "LS" on va éditer le fichier ~/.bashrc et décommenter les lignes suivantes :

export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'

Quitte à être ici on peut aussi décommenter les deux alias suivants :

alias ll='ls $LS_OPTIONS -l'
alias la='ls $LS_OPTIONS -lA'

Si les couleurs ne vous conviennent pas il est possible de les modifier facilement. Pour ça on va d'abord exécuter la commande suivante :

dircolors -p > ~/.dir_colors

Cette commande va créer le fichier caché .dir_colors dans votre répertoire personnel. Ensuite il est possible d'éditer ce fichier pour l'adapter à vos envies.

Par défaut ce fichier contient généralement ces lignes :

# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
#NORMAL 00 # no color code at all
#FILE 00 # regular file: use no color at all
RESET 0 # reset to "normal" color
DIR 01;34 # directory
LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
 # numerical value, the color is as for the file pointed to.)
MULTIHARDLINK 00 # regular file with more than one link
FIFO 40;33 # pipe
SOCK 01;35 # socket
DOOR 01;35 # door
BLK 40;33;01 # block device driver
CHR 40;33;01 # character device driver
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ...
MISSING 00 # ... and the files they point to
SETUID 37;41 # file that is setuid (u+s)
SETGID 30;43 # file that is setgid (g+s)
CAPABILITY 30;41 # file with capability
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 01;32

Pour ne reprendre que les principales déclarations voici leurs définitions :

NORMAL séquence-couleur
Définit la couleur à employer pour le texte normal (hormis les noms de fichiers).
Synonyme : NORM.
FILE séquence-couleur
Définit la couleur à utiliser pour les fichiers normaux.
DIR séquence-couleur
Définit la couleur à utiliser pour les répertoires.
LINK séquence-couleur
Définit la couleur à utiliser pour les liens symboliques.
Synonymes : LNK, SYMLINK.

Les séquences de couleurs ISO 6429 sont composées de suites de nombres séparés par des points-virgules. Les codes les plus courants sont :

  • 00 restaurer la couleur par défaut
  • 01 couleurs en surbrillance
  • 04 texte souligné
  • 05 texte clignotant
  • 30 écriture noire
  • 31 écriture rouge
  • 32 écriture verte
  • 33 écriture jaune (ou marron)
  • 34 écriture bleue
  • 35 écriture violette
  • 36 écriture cyan
  • 37 écriture blanche (ou grise)
  • 40 fond noir
  • 41 fond rouge
  • 42 fond vert
  • 43 fond jaune (ou marron)
  • 44 fond bleu
  • 45 fond violet
  • 46 fond cyan
  • 47 fond blanc (ou gris)

Vous retrouverez toutes ces informations et plus encore dans la page de manuel dédiée.

Haut de page