

Achetez et vendez votre matériel multimédia d'occasion sur notre service de petites annonces informatiques gratuites
Il est parfois utile de colorer les résultats de la commande "ls" sous Linux, pour différencier les différents types de fichiers et les droits d'un simple coup d'oeil.
C'est le langague d'interprétation Bash qui est en général le langage par défaut utilisé lors de l'installation d'une distribution comme Ubuntu ou Debian.
Il faut donc dire à ce shell d'interpréter les couleurs lors de la commande ls, via des alias. On a de la chance, c'est déjà préconfiguré, mais commenté ! Il faut donc décommenter les lignes suivantes, dans le fichier ~/.bashrc :
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
#alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
Qui deviennent ainsi :
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
Il faut tout d'abord obtenir la configuration actuelle des couleurs. On va la copier dans un fichier, pour pouvoir l'explorer par la suite :
dircolors -p > ~/.ls_colors
On peut de plus être curieux du contenu de la variable d'environnement $TERM, car c'est souvent utile pour la suite :
pouzy@ubuntu:/$ echo $TERM
xterm
En effet, il faut simplement vérifier que votre $TERM est présent dans la liste de TERMS dans le fichier ~./ls_colors. S'il n'y est pas, ajoutez le !
TERM screen.linux
TERM vt100
TERM xterm
TERM xterm-16color
TERM xterm-256color
Editez le fichier ~/.ls_colors que l'on vient de créer, avec votre éditeur préféré. Il y a ensuite deux possibilités pour colorer les résultats de commande. Soit par le type des fichiers, soit par leur extension.
Voici les différents types trouvables dans ce fichier, ce sont en général les premières lignes :
Citation de Types de fichiers
Toujours dans ~/.ls_colors, on trouve par la suite des extensions. Attention, les extensions ne correspondent pas aux types "réels" des fichiers sous Linux ! (On peut mettre n'importe quelle extension pour n'importe quel fichier).
Ainsi, vous trouverez des numéros à côté de chacun de ces types de fichiers :
# 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.)
Ou encore :
# Or if you want to colorize scripts even if they do not have the
# executable bit actually set.
#.sh 01;32
#.csh 01;32
# archives or compressed (bright red)
.tar 01;31
.tgz 01;31
Comme vous pouvez le voir, le fichier lui-même est plutôt bien commenté.
Nous arrivons à la partie pratique. Tous ces numéros, c'est beau, mais c'est quoi ?
Une fois que vous avez changé ce que vous souhaitiez changer, il faut notifier l'utilitaire dircolors du changement.
Tapez :
dircolors ~/.ls_colors
Vous devriez voir quelquechose dans le genre :
albanux@ubuntu:/$ dircolors ~/.ls_colors
LS_COLORS='rs=0:di=01;34:ln=01;36:hl=44;37:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31::*.xspf=00;36:';
C'est en fait la déclaration de la variable d'environnement LS_COLORS. On va donc la sauvegarder en tapant simplement :
export LS_COLORS
Puis :
eval 'dircolors ~/.ls_colors'
Ca y est, vos nouvelles couleurs sont actives
Par Pouzy
, Le 01 Mai 2010 à 11h53
Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié.
Aucun commentaire pour le moment.