Két könyvtárat mutat “ls”. Általában a könyvtárak bárhol kékek a fekete háttéren. De az első kék-zöld és nem olvasható. Miért ez? Hogyan lehet kék színűvé tenni a feketét, vagy legalább valami világosat valami sötétben?
Ez az Ubuntu 12.04-en van, a bash használatával a Gnome Terminalban. A Konsole-ban a kék kissé sötétebb, és olvasható, bár sokkal jobb is lehet.
Válasz
A színezésen kívül fájlok típusuk alapján (türkiz az audio fájloknál, élénkpiros az archívumok és a tömörített fájlok számára, valamint a lila a képek és videók esetében), / p>
- A zöld háttérrel ellátott fekete szöveg azt jelzi, hogy a könyvtárat a tulajdonos felhasználótól és csoporttól eltekintve mások is írhatják, és a ragacsos bit be van állítva (
o+w, +t
) . - A zöld háttérrel ellátott kék szöveg azt jelzi, hogy egy könyvtárat a tulajdonos felhasználó és csoport kivételével mások is írhatnak, és nincs beállítva a ragacsos bit (
o+w, -t
).
Stephano Palazzo át a Ask Ubuntu ezt a nagyon tanulságos képet készítette a különböző attribútumszínek felett:
Mint terdon rámutatott, a színbeállítások a dircolors
. A különböző színbeállítások listája a dircolors --print-database
gombbal érhető el.
Minden kimeneti sor, például BLK 40;33;01
, formájú:
[TARGET] [TEXT_STYLE];[FOREGROUND_COLOR];[BACKGROUND_COLOR]
-
TARGET
jelzi a színező szabály célját -
TEXT_STYLE
a szöveg stílusát jelzi:-
00
= nincs -
01
= félkövér -
04
= aláhúzás -
05
= villog -
07
= fordított, -
08
= rejtett
-
-
FOREGROUND_COLOR
az előtér színét jelzi:-
30
= fekete -
31
= piros -
32
= zöld -
33
= sárga -
34
= kék, -
35
= bíborvörös -
36
= cián -
37
= fehér
-
-
BACKGROUND_COLOR
jelzi a háttérszíneket:-
40
= fekete -
41
= piros -
42
= zöld -
43
= sárga -
44
= kék, -
45
= bíborvörös -
46
= cián -
47
= fehér
-
A mezők jobbról kiindulva elhagyhatók, így például a .tar 01;31
félkövéret és pirosat jelent.
Az XTerm és a legtöbb más modern terminálemulátor 256 színt támogat.
Az XTerm 256 színű előtér színkódja a következő formájú:
38;5;[FOREGROUND_COLOR]
Az XTerm 256 színű háttérszín kódja a következő: form:
48;5;[BACKGROUND_COLOR]
ahol FOREGROUND_COLOR
és BACKGROUND_COLOR
is egy számozza meg a 0-255 tartományt. A 16 és a 256 színmód teljes színkódjának listája az alábbi képernyőképen látható:
Megjegyzések
szerkesztettem a választ, hogy helyesen tüntessem fel a háttérszínkódokat, és leírjam a 256 színű előtér és a háttér színkódjait.
Válasz
Az ls
színei képviselhetik az engedélyeket , egyes rendszerek alapértelmezése szerint olyan könyvtárakat kell megjeleníteni, ahol mindenki zöld háttérrel rendelkezik írási engedéllyel:
A $LS_COLORS
változó szerkesztésével megváltoztathatja a színeket a dircolors
(
) használatával:
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.
A szintaxis itt bizony elég idegesítő, de ezt a színt megváltoztathatja úgy, hogy létrehoz egy kívánt színű fájlt, és elmenti a következőt: ~/.dircolors
:
dircolors -p > ~/.dircolors
Ez a parancs kinyomtatja az alapértelmezett értékeket ~/.dircolors
. Ezután meg kell szerkesztenie a fájlt, és módosítania kell ezt a sort:
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
Például, ha fekete szöveget szeretne tenni piros háttéren (lásd: itt a színkódok listájához):
OTHER_WRITABLE 30;41 # dir that is other-writable (o+w) and not sticky
Nem kell megadnia az összes alapértelmezett értéket , egyszerűen létrehozhat egy fájlt egyetlen sorral, és definiálja újra a módosítani kívánt sort. Mindenesetre, miután létrehozta a fájlt, töltse be:
eval "$(dircolors ~/.dircolors)";
És itt van a művelet:
Ahhoz, hogy ez automatikusan megtörténjen, adja hozzá a div id = “c4bd7009e3”> parancs a fenti ~/.bashrc
fájlba.
Megjegyzések
- Úgy tűnik, hogy az alapértelmezett színek azt jelzik, hogy az eredeti szerző utál minket és szemünket …
- Köszönet. Miért írsz néha ~ / .dirname, és néha ~ / dircolors, és néha ~ / .színkék? állítólag azonosak?
- Th bunkók. Miért
eval "$(dircolors ~/dircolors)";
a közvetlenebb út, például adircolors ~/dircolors
helyett? - @Tim, mert a dircolors csak a beállításokat nyomtatja ki, ki kell értékelni, hogy elolvashassák őket.
- hogy ki olvassa őket?
Válasz
Noha az összes technikai válasz igaz, kissé informális figyelmeztetésnek tartanám, hogy kissé megadta a jogait a nagyvonalú vagy a criss + cross másolásához … (leggyakrabban mindannyian , hogy a dolgok kezdetben működjenek, mi?)
Hogyan lehet fekete színűvé tenni …?
Ez egy jó” zöldítésmentes “, amellyel visszatérhet a legvalószínűbb jogokhoz:
chmod -R a-x,o-w,+X thatGreenFolderWithSubfolders/
A legjobban megérti, hogy mit csinál, ha megérti a nagybetű + X „speciális végrehajtás” célját, azaz lásd: Wikipédia
Csak akkor hasznos, ha a “+” – val együtt használjuk, és általában kombinációban -R opcióval csoportos vagy más hozzáférést ad egy nagy könyvtárfához anélkül, hogy engedélyt adna a normál fájlokra (például szöveges fájlokra), ami általában akkor történne, ha csak a “chmod -R a + rx …
Válasz
Íme a 3 lépés, amellyel megváltoztattam a színeket:
Először másolja át az alapértelmezett színeket egy fájlba
dircolors -p > ~/.dircolors
Ezután módosítsa ezt a fájlt. A színekben találhat néhány értéket, és itt van még néhány:
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
( forrás )
És végül adja hozzá a következő sort a ~/.bashrc
fájljához a terminál megnyitásakor automatikusan betöltődő színekhez:
eval "dircolors ~/.dircolors" > /dev/null
A ~/.zshrc
esetén:
if [[ -f ~/.dircolors ]] ; then eval $(dircolors -b ~/.dircolors) elif [[ -f /etc/DIR_COLORS ]] ; then eval $(dircolors -b /etc/DIR_COLORS) fi
Válasz
A probléma gyors megoldásához (tegye a többi írható fájlt sárgára a nobg-on):
LS_COLORS+=":ow=01;33"
Cserélje le a 33
szöveget a 34
kifejezésre kékre a nemen. Még egyszerűbb, hogy a nobg-nofg legyen:
LS_COLORS+=:ow=
A változtatás véglegesítéséhez csatolja a .profile-hoz:
echo "export LS_COLORS+=":ow=01;33"" >> ~/.profile
Az LS_COLORS nem kiterjesztéssel kapcsolatos szabályainak megtekintése:
echo "$LS_COLORS" | sed "s/:/\n/g" | grep -v "\*."
sed
minden szabályt egy sorba rak, és grep
eltávolítja a *.".
fedezze fel a terminál ls
színeit, fontolja meg
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. }
Ezután
LS_COLORS="$C:ow=38;5;250;48;5;025";t
Amint azt egy másik válasz (Thomas Nyman válasza megemlítette), 38;5;
az előtér x-term 256-színének és 48;5;
a háttér x-term 256 színhez. A 256 színt azonban nem támogatja az összes terminál.
Lásd még: -Mit jelentenek a különböző színek ls-ben? – az AskUbuntuban .
Megjegyzések
- Úgy találtam, hogy a
LS_COLORS+=':ow=01;33'
elemet a~/.zshrc
segített a szín-háttér letiltásában a könyvtáraknál egy git-repo-ban.Ez egy Windows 10 gépen van, Pengwin-WSL terjesztéssel. Most a git-repo-n belül minden könyvtár olvasható.
Válasz
Nos, ez azt jelenti, hogy ennek a mappának vannak engedélyei, ha ezt futtatja:
сhmod og-w AU_LI
eltávolítja bgcolor 🙂
Válasz
Ennek kijavításához próbálkozzon a ow paraméter az LS_COLORS
Például:
~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
Most hozzáadja a ow (OTHER_WRITABLE
) opció
~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
Megjegyzések
- Ha a színt a .dir_colors segítségével szeretné megváltoztatni, hozzáadhatja az
OTHER_WRITABLE 34;43
fájlt. Köszönet: gist.github.com/jmoz/280005/…
Válasz
Megváltoztathatja a Putty zöld színét, hogy a szöveg olvasható legyen.
Nyissa meg a Putty elemet, és lépjen az Ablak \ Színek, válassza az “ANSI Green” lehetőséget, állítsa sötétebb zöldre (R: 0 G: 70 B: 0).
38;5;
elindít egy xterm 256-színű előtér színkódot.48;5;
elindít egy xterm 256 színű háttérszín kódot. A cián a dircolors kimenetemben38;5;51
nem36
, bár az eredmény ugyanaz.