Näyttää kaksi hakemistoa ”ls”. Normaalisti hakemistot missä tahansa ovat sinisellä mustalla taustalla. Mutta ensimmäinen on sininen vihreällä ja mahdotonta lukea. Miksi tämä on? Kuinka tehdä siitä sininen mustana tai ainakin jotain valoa jossakin tummassa?
Tämä on Ubuntu 12.04: ssä käyttäen bashia Gnome Terminalissa. Konsolessa sininen on hieman tummempi ja helposti luettavissa, vaikka se voisi olla paljon parempi.
Vastaa
Värin lisäksi tiedostot tyypin perusteella (turkoosi äänitiedostoille, kirkkaan punainen arkistoille ja pakatuille tiedostoille ja violetti kuville ja videoille), ls
myös värittää tiedostot ja hakemistot niiden ominaisuuksien perusteella:
- Vihreällä taustalla oleva musta teksti osoittaa, että hakemisto on kirjoitettavissa muille paitsi omistavalle käyttäjälle ja ryhmälle ja että siihen on asetettu tahmea bitti (
o+w, +t
) . - Sininen, vihreällä taustalla oleva teksti osoittaa, että hakemisto on kirjoitettavissa muille paitsi omistavalle käyttäjälle ja ryhmälle, ja ei ole asettanut tahmeaa bittiä (
o+w, -t
).
Stephano Palazzo yli Ask Ubuntu on tehnyt tämän erittäin opettavan kuvan eri attribuuttiväreistä:
Kuten terdon huomautti, väri-asetuksia voidaan muokata dircolors
. Eri väriasetusten luettelo on käytettävissä dircolors --print-database
-toiminnolla.
Jokainen ulostulorivi, kuten BLK 40;33;01
, on muodoltaan:
[TARGET] [TEXT_STYLE];[FOREGROUND_COLOR];[BACKGROUND_COLOR]
-
TARGET
osoittaa värisäännön kohteen -
iv
TEXT_STYLE
ilmaisee tekstityylin:-
00
= ei ole -
01
= lihavoitu -
04
= alaviiva -
05
= vilkkuu -
07
= käänteinen, -
08
= piilotettu
-
-
FOREGROUND_COLOR
osoittaa etualan värin:-
30
= musta -
31
= punainen -
32
= vihreä -
33
= keltainen -
34
= sininen, -
35
= magenta -
36
= syaani -
37
= valkoinen
-
-
BACKGROUND_COLOR
ilmaisee taustavärit:-
40
= musta -
41
= punainen -
42
= vihreä -
43
= keltainen -
44
= sininen, -
45
= purppura -
46
= syaani -
47
= valkoinen
-
Kentät voidaan jättää pois oikealta alkaen, joten esimerkiksi .tar 01;31
tarkoittaa lihavoitua ja punaista.
XTerm ja useimmat muut modernit pääteemulaattorit tukevat 256 väriä.
XTerm 256 -värisen etualan värikoodi on muotoinen:
38;5;[FOREGROUND_COLOR]
XTerm 256 -värinen taustavärikoodi on lomake:
48;5;[BACKGROUND_COLOR]
jossa sekä FOREGROUND_COLOR
että BACKGROUND_COLOR
on numeroi alue 0-255. Täydellinen luettelo värikoodeista 16 ja 256 väritilalle näkyy alla olevassa kuvakaappauksessa:
Kommentit
vastaus
ls
-värit voivat edustaa käyttöoikeuksia , joidenkin järjestelmien oletuksena on näyttää hakemistot, joissa kaikilla on vihreällä taustalla olevat kirjoitusoikeudet:
Voit muuttaa värejä muokkaamalla $LS_COLORS
-muuttujaa käyttämällä dircolors
(osoitteesta man ls
):
Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it.
Syntaksi on tosin eräänlainen ärsyttävä, mutta voit muuttaa tätä väriä luomalla haluamillasi väreillä tiedoston ja tallentamalla sen nimellä ~/.dircolors
:
dircolors -p > ~/.dircolors
Tämä komento tulostaa oletusarvot muotoon ~/.dircolors
. Sitten sinun on muokattava tiedostoa ja muutettava tätä riviä:
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
Esimerkiksi, jos haluat tehdä siitä mustan tekstin punaisella taustalla (katso täällä luettelo värikoodeista):
OTHER_WRITABLE 30;41 # dir that is other-writable (o+w) and not sticky
Sinulla ei tarvitse olla kaikkia oletuksia , voit myös luoda vain yhden rivin tiedoston määrittelemällä uudelleen vain muutettavan rivin. Joka tapauksessa, kun olet luonut tiedoston, lataa se:
eval "$(dircolors ~/.dircolors)";
Ja tässä se on toiminnassa:
Jotta tämä tapahtuisi automaattisesti, lisää eval
-komento yllä olevaan ~/.bashrc
-tiedostoon.
Kommentit
- Oletusvärit näyttävät usein osoittavan, että alkuperäinen kirjoittaja vihaa meitä ja silmiämme …
- Kiitos. Miksi kirjoitat joskus ~ / .hakemistonimeä ja joskus ~ / dircolors ja joskus ~ / .värit? pitäisikö niiden olla samanlaisia?
- Th pahoinpitelyt. Miksi
eval "$(dircolors ~/dircolors)";
suoremman tavan, kutendircolors ~/dircolors
, sijaan? - @Tim koska dircolors tulostaa vain asetukset, täytyy arvioida se, jotta ne voidaan lukea.
- jotta kuka tahansa lukisi heidät?
Vastaa
Vaikka kaikki tekniset vastaukset pitävät paikkansa, pidän sitä hieman epävirallisena varoituksena, että annoit hieman oikeuksia avokätisesti tai kopioida criss + cross … (useimmiten me kaikki , jotta asiat toimisivat alun perin, eikö?)
Kuinka tehdä sinistä mustaksi, …?
Hyvä” vihreämpi ”, jotta pääset takaisin todennäköisesti oikeuksiisi, on tämä lausunto:
chmod -R a-x,o-w,+X thatGreenFolderWithSubfolders/
Parhaiten ymmärrät, mitä se tekee, jos ymmärrät isojen kirjainten + X tarkoituksen ”erityinen suoritus” tarkoituksen, ts. Wikipedia
Se on todella hyödyllinen vain käytettäessä ”+”: n kanssa ja yleensä yhdessä -R-vaihtoehdolla ryhmä- tai muun pääsyn antaminen isoon hakemistopuuhun asettamatta suorita lupaa normaaleille tiedostoille (kuten tekstitiedostoille), mikä tapahtuisi normaalisti, jos käytät vain ”chmod -R a + rx … p>
Vastaa
Tässä on kolme vaihetta, joilla vaihdoin värejä:
Kopioi ensin oletusvärit tiedostoon
dircolors -p > ~/.dircolors
Muokkaa sitten tiedostoa. Sisällä on joitain värejä koskevia arvoja, ja tässä on lisää:
Code Color 0 Default Colour 1 Bold 4 Underlined 5 Flashing Text 7 Reverse Field 31 Red 32 Green 33 Orange 34 Blue 35 Purple 36 Cyan 37 Grey 40 Black Background 41 Red Background 42 Green Background 43 Orange Background 44 Blue Background 45 Purple Background 46 Cyan Background 47 Grey Background 90 Dark Grey 91 Light Red 92 Light Green 93 Yellow 94 Light Blue 95 Light Purple 96 Turquoise 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
( lähde )
Ja lopuksi lisää seuraava rivi ~/.bashrc
-tiedostoon, jotta värit ladataan automaattisesti, kun avaat päätelaitteen:
eval "dircolors ~/.dircolors" > /dev/null
Sivustolle ~/.zshrc
:
if [[ -f ~/.dircolors ]] ; then eval $(dircolors -b ~/.dircolors) elif [[ -f /etc/DIR_COLORS ]] ; then eval $(dircolors -b /etc/DIR_COLORS) fi
Vastaa
Voit korjata ongelman nopeasti (tee muut kirjoitettavat tiedostot keltaiseksi nobg-tiedostoon):
LS_COLORS+=":ow=01;33"
Korvaa 33
sanoilla 34
sinisellä nobg-merkillä. Vielä yksinkertaisempi, jotta siitä tehdään nofg nobg: ssä:
LS_COLORS+=:ow=
Jotta muutos olisi pysyvä, liitä se .profiiliin:
echo "export LS_COLORS+=":ow=01;33"" >> ~/.profile
Voit tarkastella LS_COLORS-tiedostojen laajennuksiin liittyviä sääntöjä:
echo "$LS_COLORS" | sed "s/:/\n/g" | grep -v "\*."
sed
sijoittaa kukin sääntö yhdelle riville ja grep
poistaa säännöt, jotka alkavat *.".
tutkia päätelaitteen ls
värejä, harkitse
C="$LS_COLORS" function sc () { echo "$LS_COLORS" | sed "s/:/\n/g" | grep -v "\*." } function t () { ls /mnt # Or the path to your example directory. }
Sitten
LS_COLORS="$C:ow=38;5;250;48;5;025";t
Kuten toisessa vastauksessa (Thomas Nymanin vastauksessa) todettiin, 38;5;
on etuliite x-termi 256-etualalle ja 48;5;
taustalla x-term 256 väriä. Kaikki päätteet eivät kuitenkaan tue 256 väriä.
Katso myös -Mitä eri värit tarkoittavat ls: ssä? – AskUbuntussa .
kommentit
- Löysin pudottavan
LS_COLORS+=':ow=01;33'
~/.zshrc
auttoi poistamaan väri-taustan hakemistoista git-repossa.Tämä on Windows 10 -laitteessa, jossa on Pengwin-WSL-jakelu. Nyt kaikki hakemistot git-repossa ovat luettavissa.
Vastaa
Tämä tarkoittaa, että tällä kansiolla on lupia, jos suoritat tämän:
сhmod og-w AU_LI
se poistaa bgcolor 🙂
Vastaa
Voit korjata ongelman kokeilemalla ow parametri LS_COLORS
Esimerkiksi:
~LS_COLORS="fi=0:ln=5:pi=0:so=7:bd=5:cd=5:or=31:mi=0:ex=93:*.py=36:di=40:*.zip=33:*.tgz=33" ~ls -l
Nyt lisäät ow (OTHER_WRITABLE
) -vaihtoehto
~export LS_COLORS="fi=0:ln=5:pi=0:so=7:bd=5:cd=5:or=31:mi=0:ex=93:*.py=36:di=40:*.zip=33:*.tgz=33:ow=0" ~ls -l
Kommentit
- Jos haluat muuttaa väriä .dir_colors-palvelun kautta, voit lisätä
OTHER_WRITABLE 34;43
. Kiitos: gist.github.com/jmoz/280005/…
vastaus
Voit muuttaa tekstin luettavaksi muuttamalla Puttyn vihreän sävyä.
Avaa Putty ja siirry ikkunaan \ Colors, valitse ”ANSI Green”, aseta se tummemmaksi vihreäksi (R: 0 G: 70 B: 0).
38;5;
alkaa xterm 256-väri etualan värikoodi.48;5;
aloittaa xterm 256-värisen taustavärikoodin. Syaani dircolors-tuotoksessani on38;5;51
ei36
, vaikka tulos on sama.