Voici un tutoriel pour afficher le contenu d'un dossier avec des couleurs personnalisées dans le terminal, grâce à la commande ls et l'utilitaire dircolors .
Par défaut, la commande ls affiche les dossiers et fichiers d'un répertoire sans couleur. Il est possible d'utiliser des couleurs par défaut avec l'option :
ls --color=auto
Dans Ubuntu, cette configuration est ajoutée par défaut.
Il est possible de configurer les couleurs s'appliquant à certains types de fichiers/dossiers/liens via l'utilitaire
dircolors
et la variable d'environnement $LS_COLORS
Si cette configuration n'est pas déjà présente, éditez le fichier ~/.bashrc pour l'ajouter et la rendre permanente. Auquel cas, dans le ~/.bashrc, ajouter cette ligne :
alias ls='ls --color=auto'
| Couleur | Signification |
|---|---|
| Couleur par défaut du shell | Fichier standard |
| Bleu | Répertoire |
| Cyan | Lien symbolique |
| Jaune | Fichier FIFO et block. |
| Magenta | Socket, fichier image (.jpg, .gif, .png, .tiff) et audio (.mp3, .ogg, .wav) |
| Rouge | Archive (.tar, .zip, .deb, .rpm) |
| Vert | Exécutable |
ls utilise les couleurs stockées dans une variable d'environnement
$LS_COLORS.
Il est possible d'en visualiser le contenu :
echo $LS_COLORS
Les types de fichiers sont abrégés et ce format est peu pratique pour une modification
par l'utilisateur. L'utilitaire dircolors
dispose de différentes options pour exporter la base de données des couleurs dans un format
plus facile à éditer et réintégrer les modifications dans la variable $LS_COLORS.
Ainsi donc, si vous avez l'âme de customiser les couleurs, ou que les couleurs ne vous plaisent pas, ouvrez votre terminal et lancez cette commande :
dircolors -p > ~/.ls_color
~/ correspond à /home/$USER/
Vous êtes prêt à modifier le fichier :
~/.ls_color
| Code | Signification | Code | Couleur d'avant plan | Code | Couleur d'arrière plan | ||
|---|---|---|---|---|---|---|---|
| 00 | aucun | 30 | noir | 40 | noir | ||
| 01 | gras | 31 | rouge | 41 | rouge | ||
| 04 | souligné | 32 | vert | 42 | vert | ||
| 05 | clignotant | 33 | jaune | 43 | jaune | ||
| 07 | inversé | 34 | bleu | 44 | bleu | ||
| 08 | caché | 35 | magenta | 45 | magenta | ||
| 36 | cyan | 46 | cyan | ||||
| 37 | blanc | 47 | blanc |
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 bloc
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
la ligne DIR signifie que le dossier est de couleur bleu et gras.
DIR 01;34 # directory
Dès que vous avez modifié vos paramètres, ouvrez le terminal et tapez la commande :
eval `dircolors $HOME/.ls_color`
Bien sûr, pour prendre en compte ces choix à chaque démarrage, cette ligne devra être incluse dans votre fichier.
~/.bashrc
Si vous voulez que les modifications se fassent pour tous les utilisateurs, il faudra créer un fichier dans un dossier root par exemple /etc/ et modifier comme ceci :
dircolors -p > /etc/ls_color
ajouter dans le fichier /etc/profile :
eval `dircolors /etc/ls_color`
et mettre à jour le profile.
source /etc/profile
si aucun message d'erreur ne s'affiche c'est que tout c'est bien déroulé, dans le cas contraire, exposez votre problème sur le forum.
Créez un fichier texte, copiez/collez le code, enregistrez-le puis rendez-le exécutable et enfin lancez le terminal.
#!/bin/bash
esc="\033["
echo -n " 40 41 42 43"
echo " 44 45 46 47 "
for fore in 30 31 32 33 34 35 36 37; do
line1="$fore "
line2=" "
for back in 40 41 42 43 44 45 46 47; do
line1="${line1}${esc}${back};${fore}m Normal ${esc}0m"
line2="${line2}${esc}${back};${fore};1m Bold ${esc}0m"
done
echo -e "$line1\n $line2"
done
vous devriez voir ceci :
Les commandes de base en console : ls
https://manpages.ubuntu.com/manpages/bionic/fr/man1/dircolors.1.html
http://chl.be/glmf/www.linuxmag-france.org/old/lm6/lscoul.html
Eza est une alternative moderne à ls : https://eza.rocks/
Installation : https://github.com/eza-community/eza/blob/main/INSTALL.md#debian-and-ubuntu