
Ci sono due directory mostrate da 'ls'. Normalmente le directory ovunque sono blu su sfondo nero. Ma il primo è blu su verde e impossibile da leggere. Perchè è questo? Come renderlo blu su nero, o almeno qualcosa di chiaro su qualcosa di scuro?
Questo è su Ubuntu 12.04, usando bash in Gnome Terminal. In Konsole, il blu è leggermente più scuro e si può leggere, anche se potrebbe essere molto migliore.
Risposta accettata:
Oltre a colorare i file in base al loro tipo (turchese per i file audio, rosso brillante per archivi e file compressi e viola per immagini e video), ls colora anche i file e le directory in base ai loro attributi:
- Il testo nero con sfondo verde indica che una directory è scrivibile da altri, a parte l'utente proprietario e il gruppo, e ha il bit permanente impostato (
o+w, +t). - Il testo blu con sfondo verde indica che una directory è scrivibile da altri a parte l'utente proprietario e il gruppo, e non avere lo sticky bit impostato (
o+w, -t).
Stephano Palazzo su Ask Ubuntu ha realizzato questa immagine molto istruttiva sui diversi colori degli attributi:

Come sottolineato da Terdon, le impostazioni del colore possono essere modificate tramite dircolors . È possibile accedere a un elenco delle diverse impostazioni di colorazione con dircolors --print-database .
Ogni riga di output, come BLK 40;33;01 , ha la forma:
[TARGET] [TEXT_STYLE];[FOREGROUND_COLOR];[BACKGROUND_COLOR]
-
TARGETindica il target per la regola di colorazione -
TEXT_STYLEindica lo stile del testo:00=nessuno01=grassetto04=sottolineatura05=lampeggiare07=inverso,08=nascosto
-
FOREGROUND_COLORindica il colore di primo piano:30=nero31=rosso32=verde33=giallo34=blu,35=magenta36=ciano37=bianco
-
BACKGROUND_COLORindica i colori di sfondo:40=nero41=rosso42=verde43=giallo44=blu,45=magenta46=ciano47=bianco
I campi possono essere omessi a partire da destra, quindi ad esempio .tar 01;31 significa grassetto e rosso.
XTerm e la maggior parte degli altri moderni emulatori di terminale supportano 256 colori.
Un codice colore di primo piano a 256 colori XTerm è nel formato:
38;5;[FOREGROUND_COLOR]
Un codice colore di sfondo XTerm a 256 colori è nel formato:
48;5;[BACKGROUND_COLOR]
dove entrambi FOREGROUND_COLOR e BACKGROUND_COLOR è un numero compreso tra 0 e 255. Un elenco completo dei codici colore per le modalità colore 16 e 256 è mostrato nello screenshot seguente:
