Come Modificare i Colori di Directory e File nel Comando ls

0
2640

Se hai eseguito il comando ls in Bash, si noterà che le directory e i file che vedi sono colorati in base alla loro tipologia. È possibile personalizzare il proprio schema di colori per scegliere diversi colori, colori di sfondo, e la formattazione come grassetto e sottolineato.

Come Funziona

Lo schema di colore è memorizzato nel LS_COLORS variabile. Per visualizzare la vostra combinazione di colori corrente, si può dire che il Bash per stampare il contenuto della variabile:

echo $LS_COLORS

Vedrete una lunga lista di tipi di file e il numero di codici. Ti spiegheremo come creare un elenco come questo di te.

Prima di giocare con questo, si consiglia di salvare il contenuto corrente della LS_COLORS variabile ad un’altra variabile. Questo vi permetterà di ripristinare rapidamente le impostazioni di default senza firma la shell e la firma, o a chiudere e riaprire la finestra del terminale. Per salvare il contenuto corrente del LS_COLORS variabile per una nuova variabile chiamata ORIGINALE, eseguire:

ORIGINALE=$LS_COLORS

In qualsiasi momento, è possibile eseguire il seguente comando per annullare le modifiche e ripristinare i colori di default:

LS_COLORS=$ORIGINALE

Le modifiche sono sempre temporanee, fino a quando si modifica un file per rendere loro il vostro nuovo default. Puoi sempre uscire e accedi di nuovo o chiudere e riaprire una finestra di terminale per ripristinare i colori di default di impostazione. Tuttavia, questo rende più facile farlo con un unico comando rapido.

Come Impostare i Colori Personalizzati

Il LS_COLORS variabile contiene un elenco di tipi di file insieme con associati i codici di colore. L’elenco è lungo, perché consente di specificare diversi colori per un certo numero di diversi tipi di file.

Partiamo da un semplice esempio per dimostrare come funziona. Diciamo di voler cambiare il colore delle cartelle predefinite in grassetto blu al rosso in grassetto. Siamo in grado di eseguire il seguente comando:

LS_COLORS=”di=1;31″

Il di=1;31 bit racconta ls che le directory (di) ( = ) in grassetto (1;) rosso (31).

Tuttavia, questa è solo una semplice LS_COLORS variabile che definisce la directory come un colore e le foglie di ogni altro tipo di file come il colore di default. Diciamo di voler rendere i file con il .desktop estensione del file sottolineato colore ciano. Siamo in grado di eseguire il seguente comando:

LS_COLORS=”di=1:31:*.desktop=4;36″

Questo dice ls che le directory (di) ( = ) in grassetto (1;) rosso (31) e (:) qualsiasi tipo di file che termina in .desktop (*.desktop) ( = ) sottolineato (4;) ciano (36).

Questo è il processo di assemblaggio del vostro elenco di tipi di file e colori. Specificare come molti come ti piace in forma filetype=colore, separati da due punti (:).

L’ARTICOLOCome Personalizzare (e Colora) Il Prompt di Bash

Per assemblare la vostra propria lista, avrete solo bisogno di conoscere l’elenco di codici colore e il tipo di file codici. Questo utilizza lo stesso numerica di codici di colore che si utilizza quando si cambia il colore nel prompt di Bash.

Ecco la lista dei codici di colore per il testo in primo piano:

  • Black: 30
  • Blu: 34
  • Ciano: 36
  • Verde: 32
  • Viola: 35
  • Rosso: 31
  • Bianco: 37
  • Giallo: 33

Per esempio, dal testo di colore giallo è il colore del codice 33, devi utilizzare di=33 per creare la directory giallo.

Ecco la lista di testo attributi di colore:

  • Testo Normale: 0
  • Il grassetto o la Luce di Testo: 1 (dipende dall’emulatore di terminale.)
  • Dim Testo: 2
  • Testo Sottolineato: 4
  • Testo lampeggiante: 5 (Questo non funziona nella maggior parte emulatori di terminale.)
  • Testo invertito: 7 (Questo inverte il primo piano e colori di sfondo, così potrai vedere il testo nero su sfondo bianco se il testo attuale è il testo bianco su sfondo nero.)
  • Testo Nascosto: 8

Quando si specifica un attributo o più di un colore codice, separare l’elenco dei codici con un punto e virgola (;). Non c’è bisogno di specificare 0 per il testo normale, come normale testo viene utilizzato quando non si specifica un attributo qui.

Per esempio, poiché il testo in grassetto è il codice colore 1 e testo giallo è il colore del codice 33, devi utilizzare di=1;33 per creare la directory in grassetto di colore giallo. È inoltre possibile specificare più di un attributo. Per esempio, si potrebbe usare di=1;4;33 per creare la directory in grassetto, sottolineato in giallo.

Qui di seguito l’elenco dei colori di sfondo codici:

  • Sfondo nero: 40
  • Sfondo blu: 44
  • Sfondo azzurro: 46
  • Sfondo verde: 42
  • Sfondo viola: 45
  • Sfondo rosso: 41
  • Sfondo bianco: 47
  • Sfondo giallo: 43

Per esempio, poiché sfondo blu è il colore del codice 44, devi utilizzare di=44 per utilizzare sfondo blu per le directory. È anche possibile combinare un colore di sfondo del codice, un colore di primo piano codice e attributi come ti piace. Per esempio, di=1;4;33;44 darebbe grassetto, sottolineato, testo giallo su sfondo blu.

Ecco la lista dei file codici del tipo:

  • Directory: di
  • File: fi
  • Link simbolico: ln
  • Named Pipe (FIFO): pi
  • Presa: così
  • Dispositivo di blocco: bd
  • Carattere Dispositivo: cd
  • Orfano Link Simbolico che punti ad un file che non esiste più): o
  • Manca il File (un file mancante che un orfano link simbolico che punti a): mi
  • File eseguibile (ha la “x” autorizzazione): ex
  • *.estensione: i file che terminano con l’estensione specificata. Per esempio, l’uso *.txt per i file che terminano in .txt, *.mp3 per i file che terminano in .mp3, *.desktop per i file che terminano in .desktop, o qualsiasi altra cosa che ti piace. È possibile specificare come molti di diverse estensioni di file, come ti piace.

Specificare come molti tipi di file diversi codici del tipo con diversi colori come ti piace, separati dal carattere:. Ripetere questo processo per assemblare il vostro LS_COLORS variabile.

Per esempio, diciamo che si desidera utilizzare il grassetto viola di testo per le directory, sottolineato, testo in rosso per i file eseguibili, il grassetto per il testo verde su sfondo rosso .i file mp3. Mettendo insieme il tipo di file codici e codici di colore dagli elenchi di cui sopra, si ottiene:

LS_COLORS=”di=1;35:ex=4;31:*.mp3=1;32;41″

Come Impostare il Tuo Nuovo Colori di Default

Ora avete un custom LS_COLORS variabile che funzioni nella corrente sessione di Bash. Tuttavia, probabilmente si vuole rendere permanente, quindi è usato automaticamente ogni volta che si avvia una nuova sessione Bash senza dover ricordare questo.

È possibile impostare il vostro personalizzato LS_COLORS variabile e di ogni altra variabile Bash che ti piace—aggiungendo al tuo account utente .bashrc. Questo file si trova in ~/.bashrc. Così, se il nome utente è bob, lo trovi in /home/bob/.bashrc. Ci sono altri modi per impostare le variabili di ambiente come bene, ma questo è semplice.

In primo luogo, aprire questo file con un editor di testo preferito. Useremo nano qui come esempio, ma si può usare vi, emacs, o qualsiasi altra cosa che ti piace.

nano ~/.bashrc

Aggiungi il tuo personalizzato LS_COLORS variabile per una nuova riga alla fine del file, in questo modo:

LS_COLORS=”di=1;35:ex=4;31:*.mp3=1;32;41″

Salvare il file e uscire. Nel nano, premere Ctrl+O e poi premere Enter per salvare, premere Ctrl+X per uscire.

Ogni volta che si avvia una nuova sessione di Bash, Bash leggere .bashrc e di impostare automaticamente i tuoi LS_COLORS variabile. Per modificare i colori in futuro, torna al tuo .bashrc e modificare il LS_COLORS linea.

È anche possibile eliminare il LS_COLORS= riga che hai aggiunto al tuo .bashrc per usare i colori di default di nuovo. Se non si imposta il LS_COLORS valore, Bash usare i colori di default.