Par défaut, votre UNIX (dans cet exemple, FreeBSD) préféré vous propose des couleurs qui, à la longue peuvent lasser. Pour changer, un simple tour dans le man donne la solution à tous vos problèmes. ls est une commande qui possède de nombreuses fonctionnalités. Celles qui concernent la couleur indiquent ce qui suit.
Vérifions d'abord que le terminal qui nous utilisons permet d'afficher les couleurs. Pour cela, il suffit de taper :
ls -G
Normalement, la liste doit être colorée, avec les couleurs par défaut.
si vous voulez activer l'utilisation des couleurs pour ce terminal, il suffit d'activer les couleurs de la façon suivante :
setenv CLICOLOR
Mais cette activation sera supprimée à la fin de la session.
Pour modifier ces couleurs, il suffit de définir la variable LSCOLORS. La valeur de cette variable est une chaîne de caractère composée de 22 caractères, 11 groupes de 2 caractères, chaque groupe codant la couleur de l'encre et la couleur du fond.
En ce qui concerne les couleurs, nous avons :
| définition | Couleur |
|---|---|
| a | noir |
| b | rouge |
| c | vert |
| d | marron |
| e | bleu |
| f | magenta |
| g | cyan |
| h | gris clair |
| A | noir (gras) / gris foncé |
| B | rouge (gras) |
| C | vert (gras) |
| D | marron (gras) / jaune |
| E | bleu (gras) |
| F | magenta (gras) |
| G | cyan (gras) |
| H | gris clair (gras) / blanc brillant |
| x | couleur de forme ou de fond par défaut |
Pour la position, nous avons :
| Position | Correspondance |
|---|---|
| 1 | répertoire |
| 2 | lien symbolique |
| 3 | socket |
| 4 | pipe |
| 5 | exécutable |
| 6 | bloc spécial |
| 7 | caractère spécial |
| 8 | exécutable avec setuid bit set |
| 9 | exécutable sans setgid bit set |
| 10 | répertoire xx4 avec sticky bit |
| 11 | répertoire xx4 sans sticky bit |
Les couleurs par défaut sont : exfxcxdxbxegedabagacad
Pour composer un nouvel ensemble de couleurs, nous définissons avec le shell standard (sh) la variable LSCOLORS. Par exemple :
setenv LSCOLORS ExGxFxdxCxDxDxBxBxExEx
ExGxFxdxCxDxDxBxBxExEx est interprété de la façon suivante :
Ex : premier groupe --> répertoire ; E-->bleu (gras) pour la police ; x--> couleur par défaut pour le fond.
Gx : deuxième groupe --> lien symbolique ; E-->cyan (gras) pour la police ; x--> couleur par défaut pour le fond.
Fx : troisième groupe --> socket ; E-->magenta (gras) pour la police ; x--> couleur par défaut pour le fond.
etc.
Après quelques tests, le ls en couleurs ne semble pas être disponible de nombreuses versions UNIX commerciales comme HP-UX, AIX, etc.
Une fois que vous avez fait vos tests et que les couleurs vous plaisent, vous pouvez configurer votre profil afin de conserver cette configuration personnalisée. Pour cela ajouter la définition de vos couleurs (LSCOLORS) et l'activation du ls en couleur (CLICOLOR) dans le .cshrc dans votre répertoire ${HOME}.