Come cambiare i colori di directory e file nel comando ls

Sommario:

Come cambiare i colori di directory e file nel comando ls
Come cambiare i colori di directory e file nel comando ls

Video: Come cambiare i colori di directory e file nel comando ls

Video: Come cambiare i colori di directory e file nel comando ls
Video: How to Remove Fitbit Device from Account - YouTube 2024, Marzo
Anonim
Se hai eseguito il
Se hai eseguito il

ls

comando in Bash, noterai che le directory e i file che vedi sono colorati in base al loro tipo. È possibile personalizzare la propria combinazione di colori per scegliere diversi colori di testo, colori di sfondo e formattazione come grassetto e sottolineato.

Come funziona

Lo schema dei colori è memorizzato nella variabile LS_COLORS. Per visualizzare la combinazione di colori corrente, puoi dire a Bash di stampare il contenuto della variabile:

echo $LS_COLORS

Vedrai una lunga lista di tipi di file e codici numerici. Spiegheremo come creare da soli una lista come questa.

Prima di giocare con questo, si consiglia di salvare il contenuto corrente della variabile LS COLORS su un'altra variabile. Ciò ti consentirà di ripristinare rapidamente le impostazioni predefinite senza uscire dalla shell e riaccedere, o chiudere e riaprire la finestra del terminale. Per salvare il contenuto corrente della variabile LS COLORS su una nuova variabile denominata ORIGINAL, eseguire:
Prima di giocare con questo, si consiglia di salvare il contenuto corrente della variabile LS COLORS su un'altra variabile. Ciò ti consentirà di ripristinare rapidamente le impostazioni predefinite senza uscire dalla shell e riaccedere, o chiudere e riaprire la finestra del terminale. Per salvare il contenuto corrente della variabile LS COLORS su una nuova variabile denominata ORIGINAL, eseguire:

ORIGINAL=$LS_COLORS

In qualsiasi momento, puoi eseguire il seguente comando per annullare le modifiche e ripristinare i colori predefiniti:
In qualsiasi momento, puoi eseguire il seguente comando per annullare le modifiche e ripristinare i colori predefiniti:

LS_COLORS=$ORIGINAL

Le modifiche sono sempre temporanee finché non si modifica un file per renderle le nuove impostazioni predefinite. Puoi sempre uscire e accedere o chiudere e riaprire una finestra di terminale per ripristinare i colori alle impostazioni predefinite. Tuttavia, questo lo rende facile da fare con un singolo comando veloce.

Come impostare i colori personalizzati

La variabile LS_COLORS contiene un elenco di tipi di file insieme ai codici colore associati. L'elenco predefinito è lungo poiché specifica colori diversi per un numero di tipi di file diversi.

Iniziamo un esempio di base per dimostrare come funziona. Diciamo che vogliamo cambiare il colore delle directory dal blu grassetto predefinito al rosso grassetto. Possiamo eseguire il seguente comando per farlo:

LS_COLORS='di=1;31'

Il

di=1;31

un po 'dice

ls

quelle directory (

di

) siamo (

=

) grassetto (

1;

) rosso (

31

).

Tuttavia, questa è una semplice variabile LS COLORS che definisce le directory come un colore e lascia ogni altro tipo di file come il colore predefinito. Diciamo che vogliamo rendere i file con estensione.desktop un colore cyan sottolineato, pure. Possiamo eseguire il seguente comando per farlo:
Tuttavia, questa è una semplice variabile LS COLORS che definisce le directory come un colore e lascia ogni altro tipo di file come il colore predefinito. Diciamo che vogliamo rendere i file con estensione.desktop un colore cyan sottolineato, pure. Possiamo eseguire il seguente comando per farlo:

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

Questo dice

ls

quelle directory (

di

) siamo (

=

) grassetto (

1;

) rosso (

31

) e (

:

) qualsiasi file che termina in.desktop (

*.desktop

) è (

=

) sottolineato (

4;

) ciano (

36

).

Questo è il processo per assemblare la tua lista di tipi di file e colori. Specificare il numero desiderato nel formato filetype = color, separandoli con due punti (:).
Questo è il processo per assemblare la tua lista di tipi di file e colori. Specificare il numero desiderato nel formato filetype = color, separandoli con due punti (:).

Per assemblare il tuo elenco, devi solo conoscere l'elenco di codici colore e codici tipo file. Questo utilizza gli stessi codici colore numerici che si usano quando si cambia il colore nel prompt di Bash.

Ecco l'elenco dei codici colore per il testo in primo piano:

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

Ad esempio, dal momento che il testo giallo è il codice colore 33, lo useresti

di=33

per rendere le directory gialle.

Ecco l'elenco degli attributi del colore del testo:
Ecco l'elenco degli attributi del colore del testo:
  • Testo normale: 0
  • Testo in grassetto o chiaro: 1 (dipende dall'emulatore di terminale).
  • Dim Text: 2
  • Testo sottolineato: 4
  • Testo lampeggiante: 5 (Questo non funziona nella maggior parte degli emulatori di terminale.)
  • Testo invertito: 7 (Questo inverte i colori di primo piano e di sfondo, quindi vedrai il testo nero su uno sfondo bianco se il testo corrente è testo bianco su sfondo nero.)
  • Testo nascosto: 8

Quando si specifica un attributo o più di un codice colore, separare l'elenco di codici con un carattere punto e virgola (;). Non è necessario specificare 0 per il testo normale, poiché il testo normale viene utilizzato quando non si specifica un attributo qui.

Ad esempio, poiché il testo in grassetto è il codice colore 1 e il testo giallo è il codice colore 33, devi utilizzare

di=1;33

per rendere le directory in grassetto giallo. Puoi anche specificare più di un attributo. Ad esempio, potresti usare

di=1;4;33

per rendere le directory audaci, sottolineate di giallo.

Ecco l'elenco dei codici colore dello sfondo:
Ecco l'elenco dei codici colore dello sfondo:
  • Sfondo nero: 40
  • Sfondo blu: 44
  • Ciano sfondo: 46
  • Sfondo verde: 42
  • Sfondo viola: 45
  • Sfondo rosso: 41
  • Sfondo bianco: 47
  • Sfondo giallo: 43

Ad esempio, dal momento che uno sfondo blu è il codice colore 44, devi usare

di=44

usare uno sfondo blu per le directory. Puoi anche combinare un codice colore di sfondo, un codice colore in primo piano e tutti gli attributi che desideri. Per esempio,

di=1;4;33;44

ti darebbe un testo giallo sottolineato e sottolineato su uno sfondo blu.

Ecco l'elenco dei codici dei tipi di file:
Ecco l'elenco dei codici dei tipi di file:
  • Elenco: di
  • File: fi
  • Link simbolico: ln
  • Named Pipe (FIFO): pi
  • Presa: così
  • Dispositivo di blocco: bd
  • Dispositivo di carattere: cd
  • Link simbolico orfano (punta a un file che non esiste più): o
  • File mancante (un file mancante a cui punta un link simbolico orfano): mi
  • File eseguibile (ha il permesso "x"): es
  • *. estensione: qualsiasi file che termina con un'estensione specificata. Ad esempio, utilizza *.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. Puoi specificare tutte le estensioni di file che desideri.

Specificare tanti tipi diversi di codici di tipi di file con tutti i colori diversi che desideri, separati dal carattere:. Ripeti questo processo per assemblare la tua variabile LS_COLORS.

Ad esempio, diciamo che vuoi usare il testo in grassetto viola per le directory, il testo rosso sottolineato per i file eseguibili e il testo verde in grassetto su uno sfondo rosso per i file.mp3. Mettendo insieme i codici dei tipi di file e i codici colore dagli elenchi precedenti, otterresti:

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

Image
Image

Come impostare i nuovi colori di default

Ora hai una variabile LS_COLORS personalizzata che funziona nella sessione Bash corrente. Tuttavia, probabilmente vuoi renderlo permanente in modo che venga utilizzato automaticamente ogni volta che avvii una nuova sessione di Bash senza che tu debba ricordarlo.

Puoi impostare la variabile LS_COLORS personalizzata e tutte le altre variabili Bash che ti piacciono aggiungendo il file.bashrc del tuo account utente. Questo file si trova in ~ /.bashrc. Quindi, se il tuo nome utente è bob, lo troverai su /home/bob/.bashrc. Esistono altri modi per impostare le variabili di ambiente, ma questo è semplice.

Innanzitutto, apri questo file nel tuo editor di testo preferito. Qui useremo nano qui come esempio, ma puoi usare vi, emacs o qualsiasi altra cosa che ti piace.

nano ~/.bashrc

Aggiungi la tua variabile LS COLORS personalizzata a una nuova riga alla fine del file, in questo modo:
Aggiungi la tua variabile LS COLORS personalizzata a una nuova riga alla fine del file, in questo modo:

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

Salva il file ed esci. In nano, premi Ctrl + O e quindi premi Invio per salvare, quindi premi Ctrl + X per uscire.

Ogni volta che avvii una nuova sessione di Bash, Bash leggerà il file.bashrc e imposterà automaticamente la variabile LS COLORS. Per cambiare i colori in futuro, torna al file.bashrc e modifica la riga LS COLORS.
Ogni volta che avvii una nuova sessione di Bash, Bash leggerà il file.bashrc e imposterà automaticamente la variabile LS COLORS. Per cambiare i colori in futuro, torna al file.bashrc e modifica la riga LS COLORS.

Puoi anche solo cancellare il

LS_COLORS=

linea aggiunta al file.bashrc per utilizzare nuovamente i colori predefiniti. Se non imposti il valore LS_COLORS, Bash utilizzerà i colori predefiniti.

Consigliato: