domenica 22 aprile 2012

ls a colori (linux command)

Vogliamo che il comando linux ls ci restituisca un risultato a colori in modo da evidenziare cartelle e tipi di file differenti con colori differenti. Semplice, usiamo alias:

alias ls='ls --color=auto'

Ogni volta che eseguiremo il comando ls, questo verrà sostituito da ls --color=auto. Per rendere permanente il cambiamento occorre aprire il file .bashrc nella nostra home, cercare la sezione degli alias e aggiungere l'alias desiderato, nella forma sopra descritta.

I colori possono essere personalizzati a piacere cambiando il contenuto della variabile LS_COLORS rispettando la specifica sintassi con cui è possibile definire elementi e colori:

Elementi


di = directory
fi = file
ln = symbolic link
pi = fifo file
so = socket file
bd = block (buffered) special file
cd = character (unbuffered) special file
or = symbolic link pointing to a non-existent file (orphan)
mi = non-existent file pointed to by a symbolic link (visible when you type ls -l)
ex = file which is executable (ie. has 'x' set in permissions).

Colori


0 = default colour
1 = bold
4 = underlined
5 = flashing text
7 = reverse field
31 = red
32 = green
33 = orange
34 = blue
35 = purple
36 = cyan
37 = grey
40 = black background
41 = red background
42 = green background
43 = orange background
44 = blue background
45 = purple background
46 = cyan background
47 = grey background
90 = dark grey
91 = light red
92 = light green
93 = yellow
94 = light blue
95 = light purple
96 = turquoise
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

Ciò premesso occorre aprire il file .bashrc nella nostra home e sostituire la riga
alias ls='ls --color=auto'
con
alias ls='ls --color'
e far seguire la nostra combinazione personalizzata, come nell'esempio qui sotto:
alias ls='ls --color'
LS_COLORS='di=1:fi=0:ln=4:pi=5:so=5:bd=5:cd=5:or=31:mi=0:ex=35:*.deb=91'
export LS_COLORS

1 commento: