Sur ma console, la couleur des répertoires est d'un bleu tel qu'elle est difficile à lire sur un fond sombre.
Comment puis-je changer les définitions de couleurs pour ls
?
Sur ma console, la couleur des répertoires est d'un bleu tel qu'elle est difficile à lire sur un fond sombre.
Comment puis-je changer les définitions de couleurs pour ls
?
Pour modifier les couleurs de votre répertoire, ouvrez votre ~/.bashrc
avec votre éditeur
nano ~/.bashrc
et faites l'entrée suivante à la fin du fichier :
LS_COLORS=$LS_COLORS:'di=0;35:' ; export LS_COLORS
De beaux choix de couleurs (dans ce cas 0;35
elle est violette) sont :
Blue = 34
Green = 32
Light Green = 1;32
Cyan = 36
Red = 31
Purple = 35
Brown = 33
Yellow = 1;33
Bold White = 1;37
Light Grey = 0;37
Black = 30
Dark Grey= 1;30
Le premier chiffre est le style (1=gras), suivi d'un point-virgule, puis du numéro réel de la couleur. Les styles (effets) possibles sont les suivants :
0 = default colour
1 = bold
4 = underlined
5 = flashing text (disabled on some terminals)
7 = reverse field (exchange foreground and background color)
8 = concealed (invisible)
Les antécédents possibles :
40 = black background
41 = red background
42 = green background
43 = orange background
44 = blue background
45 = purple background
46 = cyan background
47 = grey background
100 = dark grey background
101 = light red background
102 = light green background
103 = yellow background
104 = light blue background
105 = light purple background
106 = turquoise background
107 = white background
Toutes les couleurs possibles :
30 = black
31 = red
32 = green
33 = orange
34 = blue
35 = purple
36 = cyan
37 = grey
90 = dark grey
91 = light red
92 = light green
93 = yellow
94 = light blue
95 = light purple
96 = turquoise
97 = white
Ils peuvent même être combinés, de sorte qu'un paramètre comme :
di=1;4;31;42
dans votre variable LS_COLORS ferait apparaître les répertoires en texte rouge souligné en gras sur fond vert !
Pour tester toutes ces couleurs et tous ces styles dans votre terminal, vous pouvez utiliser l'un d'entre eux :
for i in 00{2..8} {0{3,4,9},10}{0..7}
do echo -e "$i \e[0;${i}mSubdermatoglyphic text\e[00m \e[1;${i}mSubdermatoglyphic text\e[00m"
done
for i in 00{2..8} {0{3,4,9},10}{0..7}
do for j in 0 1
do echo -e "$j;$i \e[$j;${i}mSubdermatoglyphic text\e[00m"
done
done
Vous pouvez également modifier d'autres types de fichiers lorsque vous utilisez la commande ls en définissant chaque type avec :
bd = (BLOCK, BLK) Block device (buffered) special file
cd = (CHAR, CHR) Character device (unbuffered) special file
di = (DIR) Directory
do = (DOOR) [Door][1]
ex = (EXEC) Executable file (ie. has 'x' set in permissions)
fi = (FILE) Normal file
ln = (SYMLINK, LINK, LNK) Symbolic link. If you set this to ‘target’ instead of a numerical value, the color is as for the file pointed to.
mi = (MISSING) Non-existent file pointed to by a symbolic link (visible when you type ls -l)
no = (NORMAL, NORM) Normal (non-filename) text. Global default, although everything should be something
or = (ORPHAN) Symbolic link pointing to an orphaned non-existent file
ow = (OTHER_WRITABLE) Directory that is other-writable (o+w) and not sticky
pi = (FIFO, PIPE) Named pipe (fifo file)
sg = (SETGID) File that is setgid (g+s)
so = (SOCK) Socket file
st = (STICKY) Directory with the sticky bit set (+t) and not other-writable
su = (SETUID) File that is setuid (u+s)
tw = (STICKY_OTHER_WRITABLE) Directory that is sticky and other-writable (+t,o+w)
*.extension = Every file using this extension e.g. *.rpm = files with the ending .rpm
Une liste plus complète est disponible à l'adresse suivante Bigsoft - Configuration de LS_COLORS .
Sur certaines distributions, vous pouvez également modifier la couleur d'arrière-plan de l'option ow
"( OTHER_WRITABLE
) dont la valeur par défaut est non lisible" par exemple à un texte bleu non gras sur fond vert.
Vous pouvez par exemple utiliser LS_COLORS="$LS_COLORS:di=1;33"
à la fin de votre .bashrc
pour obtenir un texte orange gras et lisible sur fond noir.
Après avoir modifié votre fichier .bashrc, pour mettre les changements en vigueur, vous devrez redémarrer votre Shell ou exécuter source ~/.bashrc
.
Remarque : Vous pouvez combiner plusieurs commandes avec une commande côlon par exemple
LS_COLORS=$LS_COLORS:'di=1;33:ln=36' ; export LS_COLORS; ls
Source :
En complément de la réponse d'Hegazi, vous pouvez en fait contrôler la couleur du répertoire, et beaucoup d'autres couleurs, en utilisant la commande dircolors. Vous pouvez créer un fichier de configuration qui est bien documenté.
Vous pouvez créer un fichier .dircolor dans votre répertoire personnel comme suit :
dircolors -p > ~/.dircolors
Puis, dans votre fichier ~/.bashrc, ajoutez les lignes suivantes
eval "`dircolors -b ~/.dircolors`"
alias ls='ls --color=auto'
Cela va créer une variable $LS_COLORS pour bash. Le drapeau -c la définira pour csh. Il permet également à la commande ls de s'afficher en couleur.
Modifiez la valeur de l'attribut DIR comme ci-dessus dans la couleur du fichier ~/.dircolor pour changer la couleur du répertoire (ou de tout autre type de fichier inclus pour d'autres couleurs). Vous pouvez également modifier les couleurs de fichiers spécifiques, ou définir vos propres couleurs.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.