La commande ls accepte l'option -color qui permet de repérer plus facilement les fichiers en fonction de leurs types. La commande ls --color permet d'activer les couleurs simplement (sans parler d'un éventuel alias). (Des alias existent par défaut sur ubuntu dans le fichier ~/.bashrc)


Jusque là tout va bien mais parfois les couleurs ne sont pas des plus aisées à lire lorsque son écran est à contre jour. Bref,on peut les modifer sans trop de difficultés.

Pour obtenir la configuration courante :
$ dircolors -p > ~/.ls_couleur

La commande dircolors permet de lister la configuration des couleurs. Vous pouvez éditer le fichier ~/.ls_couleur que nous venons de créer.

Il existe deux façons d'associer une couleur à un fichier. La première consiste à déterminer une couleur en fonction du type de fichier. Les types valides sont les suivants :

NORMAL
: il ne s'agit pas d'un type mais plus exactement de la valeur par défaut

FILE
: fichier normal

DIR
: répertoire

LINK
: lien symbolique

FIFO
: tuyaux

SOCK
: socket

BLK
: fichier périphérique en mode bloque

CHR
: fichier périphérique en mode caractères

ORPHAN
: lien symbolique orphelin (pointant vers un fichier inexistant)

EXEC
: fichier possédant une permission d'exécution

FILE
00 # Fichiers normaux sans attribut spécifique

DIR
01;34 # Répertoire en gras, couleur bleue

.tar
01;31 # Fichiers TAR en gras, couleur rouge

.tgz
01;31 # idem

.arj
01;31 # idem

Les codes d'attributs :

00=aucun, 01=gras, 04=souligné, 05=clignotant, 07=inversé, 08=caché

Les couleur d'avant plan :

30=noir, 31=rouge, 32=vert, 33=jaune, 34=bleu, 35=magenta, 36=cyan, 37=blanc

Les codes de couleurs d'arrière plan :

40=noir, 41=rouge, 42=vert, 43=jaune, 44=bleu, 45=magenta, 46=cyan, 47=blanc

Il est possible de combiner plusieurs de ces codes comme dans notre exemple pour obtenir plus de couleurs (gras + couleur).

Une fois le fichier de configuration personnalisé, il faut le faire interpréter par l'utilitaire dircolors. Ainsi, nous pourrons obtenir la définition de la variable d'environnement LS_COLORS dont ls se sert.

Tapez la commande suivante :

$ dircolor ~/.ls_couleur

$ LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;33:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.deb=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.mpg=01;37:*.avi=01;37:*.gl=01;37:*.dl=01;37:';

$ export LS_COLORS

Et le tour est joué !

$ eval `dircolors ~/.ls_couleur`

Cette ligne devra être incluse dans votre fichier .profile (ou .bashrc ou ncore .bash_profile selon votre distribution/configuration).