ls
kommandoen i Bash, vil du legge merke til at katalogene og filene du ser er farget i henhold til deres type. Du kan tilpasse ditt eget fargevalg for å velge forskjellige tekstfarger, bakgrunnsfarger og formatering som fet og understreket.
Slik fungerer dette
Fargeskjemaet er lagret i LS_COLORS-variabelen. For å vise ditt nåværende fargevalg, kan du fortelle Bash å skrive ut innholdet i variabelen:
echo $LS_COLORS
Du får se en lang liste over filtyper og nummerkoder. Vi forklarer hvordan du oppretter en liste som dette selv.
ORIGINAL=$LS_COLORS
LS_COLORS=$ORIGINAL
Dine endringer er alltid midlertidige til du redigerer en fil for å gjøre dem til de nye standardinnstillingene. Du kan alltid logge ut og logge på eller lukke og åpne et terminalvindu for å gjenopprette fargene til standardinnstillingen. Dette gjør det imidlertid enkelt å gjøre det med en enkelt, rask kommando.
Slik setter du inn egendefinerte farger
LS_COLORS-variabelen inneholder en liste over filtyper sammen med tilhørende fargekoder. Standardlisten er lang fordi den angir forskjellige farger for en rekke forskjellige filtyper.
La oss starte et grunnleggende eksempel for å demonstrere hvordan dette fungerer. La oss si at vi vil endre fargen på kataloger fra standard-fed blå til fet rød. Vi kan kjøre følgende kommando for å gjøre det:
LS_COLORS='di=1;31'
De
di=1;31
litt forteller
ls
de katalogene (
di
) er (
=
) modig (
1;
) rød (
31
).
LS_COLORS='di=1:31:*.desktop=4;36'
Dette forteller
ls
de katalogene (
di
) er (
=
) modig (
1;
) rød (
31
) og (
:
) hvilken som helst fil som slutter i.desktop (
*.desktop
) er (
=
) understreket (
4;
) cyan (
36
).
For å sette sammen din egen liste, trenger du bare å vite listen over fargekoder og filtype koder. Dette bruker de samme numeriske fargekodene du bruker når du endrer fargen i Bash-spørringen.
Her er listen over fargekoder for forgrunns tekst:
- Svart: 30
- Blå: 34
- Cyan: 36
- Grønn: 32
- Lilla: 35
- Rød: 31
- Hvit: 37
- Gul: 33
For eksempel, siden gul tekst er fargekode 33, vil du bruke
di=33
å gjøre kataloger gule.
- Normal tekst: 0
- Fet eller lett tekst: 1 (det avhenger av terminalemulatoren.)
- Dim tekst: 2
- Understreket tekst: 4
- Blinkende tekst: 5 (Dette fungerer ikke i de fleste terminalemulatorer.)
- Omvendt tekst: 7 (Dette inverterer forgrunnen og bakgrunnsfargene, så du får se svart tekst på en hvit bakgrunn hvis den gjeldende teksten er hvit tekst på en svart bakgrunn.)
- Skjult tekst: 8
Når du spesifiserer et attributt eller mer enn en fargekode, skilles kodenes liste med et semikolon (;) tegn. Du trenger ikke å spesifisere 0 for normal tekst, da vanlig tekst brukes når du ikke angir et attributt her.
For eksempel, siden fet skrift er fargekode 1 og gul tekst er fargekode 33, vil du bruke
di=1;33
for å gjøre kataloger fet gul. Du kan også spesifisere mer enn ett attributt. For eksempel kan du bruke
di=1;4;33
for å gjøre kataloger dristige, understreket gul.
- Svart bakgrunn: 40
- Blå bakgrunn: 44
- Cyan bakgrunn: 46
- Grønn bakgrunn: 42
- Lilla bakgrunn: 45
- Rød bakgrunn: 41
- Hvit bakgrunn: 47
- Gul bakgrunn: 43
For eksempel, siden en blå bakgrunn er fargekode 44, vil du bruke
di=44
å bruke en blå bakgrunn for kataloger. Du kan også kombinere en bakgrunnsfargekode, en forgrunnsfargekode og så mange attributter som du vil. For eksempel,
di=1;4;33;44
ville gi deg fet, understreket gul tekst på en blå bakgrunn.
- Katalog: di
- Fil: fi
- Symbolisk lenke: ln
- Navngitt rør (FIFO): pi
- Stikkontakt: så
- Blokker enhet: bd
- Tegn enhet: cd
- Orphan Symbolic Link (peker på en fil som ikke lenger eksisterer): eller
- Manglende fil (en manglende fil som en forældreløs symbolsk lenke peker på): mi
- Executable File (har "x" -tillatelsen): ex
- *.extension: Enhver fil som slutter med en utvidelse du angir. For eksempel bruk *.txt for filer som slutter i.txt, *.mp3 for filer som slutter i.mp3, *.desktop for filer som slutter i.desktop, eller noe annet du liker. Du kan angi så mange forskjellige filutvidelser som du vil.
Angi så mange forskjellige typer filtypekoder med så mange forskjellige farger som du vil, skilt av: tegnet. Gjenta denne prosessen for å sette sammen LS_COLORS-variabelen.
For eksempel, la oss si at du vil bruke fet lilla tekst for kataloger, understreket rød tekst for kjørbare filer og fet grønn tekst på en rød bakgrunn for.mp3-filer. Når du legger sammen filtypekoder og fargekoder fra listene ovenfor, får du:
LS_COLORS='di=1;35:ex=4;31:*.mp3=1;32;41'
Slik setter du inn nye standardfarger
Du har nå en tilpasset LS_COLORS-variabel som fungerer i den nåværende Bash-økten. Men du vil sannsynligvis gjøre det permanent så det blir automatisk brukt når du starter en ny Bash-økt uten at du trenger å huske dette.
Du kan angi din egendefinerte LS_COLORS-variabel, og en annen Bash-variabel du liker. Ved å legge den til i brukerkontoens.bashrc-fil. Denne filen er plassert på ~ /.bashrc. Så, hvis brukernavnet ditt er bob, finner du det på /home/bob/.bashrc. Det finnes også andre måter å sette miljøvariabler på, men dette er en enkel.
Først åpner du denne filen i ønsket tekstredigeringsprogram. Vi bruker nano her som et eksempel, men du kan bruke vi, emacs eller noe annet du liker.
nano ~/.bashrc
LS_COLORS='di=1;35:ex=4;31:*.mp3=1;32;41'
Lagre filen og avslutt. I nano, trykk Ctrl + O, og trykk deretter Enter for å lagre, og trykk deretter Ctrl + X for å avslutte.
Du kan også bare slette
LS_COLORS=
linje du la til i din.bashrc-fil for å bruke standardfarger på nytt. Hvis du ikke angir verdien LS_COLORS, vil Bash bruke standardfarger.