A könyvtárak és fájlok színeinek módosítása az ls parancsban
Ha a ls
A Bash parancsban észreveheted, hogy a megjelenített könyvtárak és fájlok színük szerint színeződnek. Testreszabhatja saját színsémáját, hogy kiválassza a különböző szöveges színeket, a háttérszínt és a formázást, mint a merész és aláhúzott.
Hogyan működik ez
A színsémát az LS_COLORS változóban tárolja. Az aktuális színséma megtekintéséhez meg lehet mondani a Bash-nek, hogy kinyomtassa a változó tartalmát:
echo $ LS_COLORS
A fájltípusok és a számkódok hosszú listáját láthatja. Elmagyarázzuk, hogyan hozzunk létre egy ilyen listát.
Mielőtt ezzel játszanánk, javasoljuk, hogy az LS_COLORS változó aktuális tartalmát egy másik változóra mentse. Ez lehetővé teszi, hogy gyorsan visszaállítsa az alapértelmezett beállításokat anélkül, hogy kijelentkezne a héjból, és visszalépne, vagy bezárná és újra megnyitná a terminálablakot. Az LS_COLORS változó aktuális tartalmának az ORIGINAL nevű új változóra történő mentéséhez futtassa a következőt:
EREDETI = $ LS_COLORS
A módosítások visszavonásához és az alapértelmezett színek visszaállításához bármikor futtathatja a következő parancsot:
LS_COLORS = $ EREDETI
A módosítások mindig ideiglenesek, amíg nem szerkeszti a fájlt az új alapértelmezett értékek létrehozásához. A színek alapértelmezett beállításához való visszaállításához mindig kijelentkezhet és visszaválthatja vagy bezárhatja és újra megnyithatja a terminálablakot. Ez azonban egy egyszerű, gyors parancs segítségével könnyen elvégezhető.
Egyéni színek beállítása
Az LS_COLORS változó tartalmazza a fájltípusok listáját és a hozzájuk tartozó színkódokat. Az alapértelmezett lista hosszú, mert különböző színeket ad meg számos különböző fájltípushoz.
Kezdjünk egy alapvető példát annak bemutatására, hogy ez hogyan működik. Tegyük fel, hogy szeretnénk megváltoztatni a könyvtárak színét az alapértelmezett vastag kéktől a vastag pirosig. Ezt a következő parancsot futtathatjuk:
LS_COLORS = "di = 1; 31"
A di = 1; 31
kicsit mondja ls
a könyvtárak (di
) vannak (=
) félkövér (1;
) piros (31
).
Ez azonban csak egy nagyon egyszerű LS_COLORS változó, amely a könyvtárakat egy színként definiálja, és minden más fájltípust alapértelmezett színként hagy. Tegyük fel, hogy a .desktop fájl kiterjesztésű fájlokat is aláhúzott cián színnel szeretnénk készíteni. Ezt a következő parancsot futtathatjuk:
LS_COLORS = "di = 1: 31: *. Asztali = 4; 36"
Ez azt mondja ls
a könyvtárak (di
) vannak (=
) félkövér (1;
) piros (31
) és (:
) minden .desktop (* .desktop
) (=
) aláhúzva (4;
) cián (36
).
Ez a folyamat a fájltípusok és színek listájának összeállításához. Adja meg a kívánt mennyiséget a filetype = color formában, mindegyik kettőspont (:) karakterrel elválasztva.
A saját lista összeállításához csak a színes kódok és a fájltípusok listáját kell tudnia. Ez ugyanazokat a numerikus színkódokat használja, amelyeket a Bash parancssor színének módosításakor használ.
Íme az előtér szövegének színkódjai:
- Fekete: 30
- Kék: 34
- Cyan: 36
- Zöld: 32
- Lila: 35
- Piros: 31
- Fehér: 37
- Sárga: 33
Például, mivel a sárga szöveg a 33 színkódot használja, használná di = 33
könyvtárakat készíthet.
Íme a szöveges szín attribútumok listája:
- Normál szöveg: 0
- Félkövér vagy világos szöveg: 1 (A terminál emulátorától függ.)
- Dim Szöveg: 2
- Aláhúzott szöveg: 4
- Villogó szöveg: 5 (Ez nem működik a legtöbb terminál emulátorban.)
- Megfordított szöveg: 7 (Ez az előtér és a háttér színeit megfordítja, így a fekete szöveg fehér alapon jelenik meg, ha az aktuális szöveg fehér alapon fekete.)
- Rejtett szöveg: 8
Ha attribútumot vagy több színkódot ad meg, szétválasztja a kódlistát pontosvesszővel (;). A normál szöveghez 0-at nem kell megadni, mivel a normál szöveg akkor használható, ha itt nem ad meg attribútumot.
Például, mivel a félkövér szöveg 1 színkód, a sárga szöveg pedig a 33-as színkód di = 1; 33
címkékkel félkövér sárga. Több attribútumot is megadhat. Például használhatja di = 1; 4; 33
a címkéket félkövér, aláhúzott sárga.
Íme a háttérszínkódok listája:
- Fekete háttér: 40
- Kék háttér: 44
- Cián háttér: 46
- Zöld háttér: 42
- Lila háttér: 45
- Piros háttér: 41
- Fehér háttér: 47
- Sárga háttér: 43
Például, mivel a kék háttér a 44-es színkód, akkor azt használni szeretné di = 44
kék háttér használata a könyvtárakhoz. Kombinálhat egy háttérszínkódot, egy előtér színkódot, és annyi attribútumot, amennyit szeretne. Például, di = 1; 4; 33; 44
félkövér, aláhúzott sárga szöveg kék háttérrel.
Íme a fájltípusok listája:
- Címtár: di
- Fájl: fi
- Szimbolikus kapcsolat: ln
- Megnevezett cső (FIFO): pi
- Socket: így
- Blokkoló eszköz: bd
- Karaktereszköz: cd
- Orphan Symbolic Link (egy olyan fájlra mutat, amely már nem létezik): vagy
- Hiányzó fájl (hiányzó fájl, amelyet egy árva szimbolikus hivatkozás mutat): mi
- Futtatható fájl (rendelkezik az „x” engedélyével): ex
- * .extension: Bármely, a megadott kiterjesztéssel végződő fájl. Például a .txt-t használjuk a .txt-ben végződő fájlokhoz, * .mp3-hoz .mp3-ban végződő fájlokhoz, * .desktop a .desktop fájlban végződő fájlokhoz, vagy bármi máshoz. Megadhat annyi különböző fájlkiterjesztést, amennyit csak akar.
Adjon meg annyi különböző típusú fájltípus-kódot, amennyit csak szeretne, különválasztva a: karaktert. Ismételje meg ezt a folyamatot az LS_COLORS változó összeállításához.
Tegyük fel például, hogy merész, lila szöveget szeretne használni a könyvtárakhoz, aláhúzott piros szöveget a futtatható fájlokhoz, és merész zöld szöveget a piros háttéren .mp3 fájlokhoz. A fájltípusok és a színes kódok összeállítása a fenti listákból:
LS_COLORS = "di = 1; 35: ex = 4; 31: *. Mp3 = 1; 32; 41"
Az új alapértelmezett színek beállítása
Most már van egy egyéni LS_COLORS változó, amely az aktuális Bash munkamenetben működik. Valószínűleg azonban azt szeretné, hogy állandó legyen, így automatikusan használják, amikor új Bash-munkamenetet indít el anélkül, hogy ezt meg kellene emlékezni.
Beállíthatja az egyéni LS_COLORS változóját és bármely más olyan Bash változót, amelyet szeretne hozzáadni a felhasználói fiók .bashrc fájljához. Ez a fájl a következő helyen található: ~ / .bashrc. Tehát, ha a felhasználóneve bob, akkor a /home/bob/.bashrc címen találja meg. Vannak más módszerek is a környezeti változók beállítására, de ez egy egyszerű.
Először nyissa meg ezt a fájlt a kívánt szövegszerkesztőben. A nano-t példaként fogjuk használni, de a vi, emacs vagy bármi más, amit szeretnél.
nano ~ / .bashrc
Adja hozzá az egyéni LS_COLORS változót egy új sorhoz a fájl végén, így:
LS_COLORS = "di = 1; 35: ex = 4; 31: *. Mp3 = 1; 32; 41"
Mentse el a fájlt és lépjen ki. A nano-ban nyomja meg a Ctrl + O billentyűt, majd nyomja meg az Entert a mentéshez, majd nyomja meg a Ctrl + X billentyűt a kilépéshez.
Amikor új Bash-munkamenetet indít, a Bash elolvassa a .bashrc fájlt és automatikusan beállítja az LS_COLORS változót. A színek megváltoztatásához menjen vissza a .bashrc fájlba, és szerkessze az LS_COLORS sort.
Csak törölheti a LS_COLORS =
a .bashrc fájlhoz hozzáadott sor, hogy újra használhassa az alapértelmezett színeket. Ha nem állítja be az LS_COLORS értéket, a Bash az alapértelmezett színeket használja.