25 mars 2003

Comment changer les couleurs de la commande ls ?

En ligne de commande, lorsque l'on exécute la commande ls, celle-ci colorie différemment les fichiers, les répertoires ...
Cette fonction est très pratique, elle permet d'identifier rapidement un lien symbolique, ou un fichier .bak etc...

Cependant les couleurs attribuées par défaut peuvent être peu harmonieuse avec le fond d'écran de votre terminal.
Rassurez on peut modifier tout ça.

Pour cela vous devez ajouter cette ligne dans votre fichier .bashrc

eval `/usr/bin/dircolors -b ~/.dircolors`

Ensuite il vous faut définir un fichier .dircolors dans votre répertoire personnel. Voyons comment constituer ce fichier :

Premièrement, on définit l'ensemble des terminaux capables d'afficher des couleurs :

TERM linux
TERM console
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM xterm
TERM vt100
TERM xterm-xfree86

Deuxièmement, on définit les couleurs pour chaque type de fichier :

NORMAL 00       # tout sauf ce qui suit
FILE 00         # un fichier
DIR 01;35       # un répertoire
LINK 01;36      # un lien symbolique
FIFO 40;33      # pipe
SOCK 01;34      # une socket
BLK 40;33;01    # un bloc de périphérique
CHR 40;33;01    # un caractère de périphérique
ORPHAN 40;31;01 # lien symbolique sans destination
EXEC 01;32      # un fichier exécutables

Troisièmement, on définit les couleurs par extension :

*~    07;31 # Des fichiers inutiles ???
*.bak 07;31
*.old 07;31
.cmd 01;32  # Des exécutables window$ 
.exe 01;32
.com 01;32
.btm 01;32
.bat 01;32
.c   00;36  # Des fichiers sources
.h   00;36
.pl  00;36
.php 00;36
.pm  00;36
.cgi 00;36
.java 00;36
.html 00;36
.tar 01;31  # Des archives
.tgz 01;31
.arj 01;31
.taz 01;31
.lzh 01;31
.zip 01;31
.z   01;31
.Z   01;31
.gz  01;31
.jpg 01;35  # Des images
.jpeg 01;35
.JPG 01;35
.gif 01;35
.GIF 01;35
.bmp 01;35
.BMP 01;35
.xbm 01;35
.ppm 01;35
.xpm 01;35
.tif 01;35

On remarque que les couleurs sont désignés par un ensemble de 2 ou trois nombre séparés par des ';'.

En effet ce la correspond à :
Style d'écriture;Couleur du crayon; Couleur du fond

Les styles d'écriture possibles sont :

00
01 bold
04 underscore
05 blink
07 reverse
08 concealed

Les couleurs du crayon possibles sont :

30 black
31 red
32 green
33 yellow
34 blue
35 magenta
36 cyan
37 white

Les couleurs du crayon possibles sont :

40 black
41 red
42 green
43 yellow
44 blue
45 magenta
46 cyan
47 white

1 commentaire:

  1. Bonjour,

    On peux aussi faire les modifications dans /etc/DIR_COLORS (se relogger pour prendre en compte les modifications) et passer en commentaires les lignes modifier pour garder les originales.

    RépondreSupprimer