[Terminal] Coloration par type de fichier

Fermé
Joph - 18 janv. 2006 à 15:10
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 - 18 janv. 2006 à 17:33
Bonjour !

Est-il possible de colorer le résultat d'un ls, selon le rendu d'une commande:

$file filename


Donc ne pas se baser sur l'extension. Je dispose d'un terminal vt102 compatible. J'utilise aterm/ksh.

Merci d'avance.
A voir également:

2 réponses

kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
18 janv. 2006 à 17:33
Normalement c'est automatique et l'option "--color" est souvent un alias implicite de la commande "ls" (defini dans /etc/profile). Sinon on n'a qu'a mettre:
alias ls='ls --color'

dans ~/.bashrc ou ~/.profile etc. (mais normalement c'est deja fait, en Linux).

Par contre ca n'utilise pas la commande "file" pour attribuer les couleurs (ce serait trop lourd de refaire a chaque ls pour tous les fichiers cette commande quand meme non-negligable ou niveau CPU et acces disque). En fait ca utilise simplement les extensions des fichiers, par exemple *.gz, *.tgz, *.bz2 => rouge, *.jpg , *.gif => "pink" etc.
Si on donne a un fichier un nom avec .jpg a la fin (avec "mv") ca affiche la couleur pour ca meme si ce n'est pas un photo jpg. Par contre la commande "file" ne se laisse pas tromper par le nom.

On peut changer l'attribution des couleurs a des extensions en modifant le fichier /etc/DIR_COLORS ou peut-etre ce qui est mieux en copiant /etc/DIR_COLORS vers ~/.dir_colors (dans le home d'un utilisateur) et en editant cette copie locale. Comme ca la modif ne s'applique que pour l'utilisateur specifique. Il faut redemarrer un nouveux xterm etc. pour que la modif soit activee.
1
philtrain Messages postés 169 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 25 juillet 2010 73
18 janv. 2006 à 17:04
Bonsoir,

Je ne comprend pas trop la question, mais peut-être:
ls --color



Philippe
0