Risposte:
Per cambiare i colori della directory, apri il tuo ~/.bashrc
file con il tuo editor
nano ~/.bashrc
e inserire la seguente voce alla fine del file:
LS_COLORS=$LS_COLORS:'di=0;35:' ; export LS_COLORS
Alcune belle scelte di colore (in questo caso 0;35
è viola) sono:
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
Il primo numero è lo stile (1 = grassetto), seguito da un punto e virgola, quindi il numero effettivo del colore, i possibili stili (effetti) sono:
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)
I possibili sfondi:
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
Tutti i colori possibili:
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
Questi possono anche essere combinati, in modo che un parametro come:
di=1;4;31;42
nella tua variabile LS_COLORS farebbero apparire le directory in grassetto sottolineato testo rosso con sfondo verde!
Per testare tutti questi colori e stili nel tuo terminale, puoi usare uno di:
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
Puoi anche cambiare altri tipi di file quando usi il comando ls definendo ogni tipo con:
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
Un elenco più completo è disponibile su Bigsoft - Configuring LS_COLORS .
In alcune distribuzioni, potresti anche voler cambiare il colore di sfondo di ow
"( OTHER_WRITABLE
) il cui valore predefinito non è leggibile", ad esempio il testo blu non in grassetto su sfondo verde.
Ad esempio, è possibile utilizzare LS_COLORS="$LS_COLORS:di=1;33"
alla fine del .bashrc
file per ottenere un bel testo in grassetto arancione leggibile su sfondo nero.
Dopo aver modificato il file .bashrc, per rendere effettive le modifiche dovrai riavviare la shell o eseguire source ~/.bashrc
.
Nota: è possibile combinare più comandi con due punti , ad esempio
LS_COLORS=$LS_COLORS:'di=1;33:ln=36' ; export LS_COLORS; ls
Fonte:
.bashrc
: alcuni colori funzionano, altri hanno un aspetto diverso. Le cartelle sono verdi, ad esempio anziché blu, ma i file appaiono correttamente. Cosa potrebbe essere?
/etc/bash.bashrc
LS_COLORS=$LS_COLORS:'tw=01;35:ow=01;35:' ; export LS_COLORS
Molto semplice. Aggiungi queste tre righe a ~ / .bashrc
$ vi ~/.bashrc
export LS_OPTIONS='--color=auto'
eval "$(dircolors -b)"
alias ls='ls $LS_OPTIONS'
Se si desidera applicare le modifiche in una sessione bash in esecuzione, eseguire:
source ~/.bashrc
source ~/.bashrc
ogni volta che eseguo l'accesso. Esiste un modo per risolvere questo problema?
echo $SHELL
dal prompt di cmd? Scommetto che NON lo è /bin/bash
. Puoi trovare il tuo attivo .profile
o .login
e aggiungere source $HOME/.bashrc
alla fine. In bocca al lupo.
Questa è una raccolta di estensioni: mappature dei colori, adatte per l'uso come variabile d'ambiente LS COLORS.
Oltre alla risposta di Hegazi, puoi effettivamente controllare il colore della directory e molti altri colori usando il comando dircolors. È possibile creare un file di configurazione ben documentato.
Puoi creare un file .dircolor nella tua home directory come segue:
dircolors -p > ~/.dircolors
Quindi nel tuo file ~ / .bashrc aggiungi le righe
eval "`dircolors -b ~/.dircolors`"
alias ls='ls --color=auto'
Questo creerà una variabile $ LS_COLORS per bash. Il flag -c verrà impostato se per csh. Contrassegna anche il comando ls per visualizzarlo a colori.
Modifica il valore dell'attributo DIR come sopra nel colore del file ~ / .dircolor per cambiare il colore della directory (o uno qualsiasi degli altri tipi di file inclusi per altri colori). Puoi anche cambiare i colori di file specifici o definirne uno tuo.
L' --color=auto
opzione non funziona per me usando iTerm2 sul mio Mac. L' -G
opzione funziona però. Ho inserito il seguente alias nella mia ~/.profile
e ora le directory sono colorate e ho /
aggiunto un finale :
alias ls='ls -F -G'
Questo è il mio approccio al comando ls con le opzioni comunemente usate:
aggiungere le seguenti righe in un file chiamato ~ / .alias
alias ll='ls -lhF --color=auto'
alias llt='ls -lht --color=auto'
alias lla='ls -alF --color=auto'
alias la='ls -A --color=auto'
alias l='ls -CF --color=auto'
alias ls="ls --color=auto"
aggiungi le seguenti righe in ~ / .bashrc
if [ -f ~/.alias ]; then
. ~/.alias
fi
--color=auto
alla ls
alias - gli altri alias con l'eredita
LS_COLORS=$LS_COLORS:'di=1;44:' ; export LS_COLORS
che mostra le directory in grassetto bianco su sfondo blu.