Početna » kako da » Kako promijeniti boje direktorija i datoteka u naredbi ls

    Kako promijeniti boje direktorija i datoteka u naredbi ls

    Ako ste pokrenuli ls naredbu u Bashu, primijetit ćete da su direktorije i datoteke koje vidite obojeni prema tipu. Možete prilagoditi vlastitu shemu boja kako biste odabrali različite boje teksta, boje pozadine i oblikovanje kao podebljano i podcrtano.

    Kako ovo funkcionira

    Shema boja je pohranjena u varijabli LS_COLORS. Da biste vidjeli trenutačnu shemu boja, možete reći Bashu da ispiše sadržaj varijable:

    echo $ LS_COLORS

    Vidjet ćete dugačak popis vrsta datoteka i brojčanih kodova. Objasnit ćemo vam kako sami napraviti popis.

    Prije igranja s tim, preporučujemo da trenutni sadržaj varijable LS_COLORS spremite u drugu varijablu. To će vam omogućiti da brzo vratite zadane postavke bez odjavljivanja iz ljuske i ponovnog potpisivanja ili zatvaranja i ponovnog otvaranja prozorčića terminala. Da biste trenutni sadržaj varijable LS_COLORS spremili u novu varijablu pod nazivom ORIGINAL, pokrenite:

    ORIGINAL = $ LS_COLORS

    U bilo kojem trenutku možete pokrenuti sljedeću naredbu da biste poništili promjene i vratili zadane boje:

    LS_COLORS = $ ORIGINAL

    Promjene su uvijek privremene sve dok ne uredite datoteku da biste postavili nove zadane postavke. Uvijek se možete odjaviti i ponovno prijaviti ili zatvoriti te ponovno otvoriti prozor terminala kako biste boje vratili na zadane postavke. Međutim, to olakšava jednokratnu naredbu.

    Kako postaviti prilagođene boje

    Varijabla LS_COLORS sadrži popis vrsta datoteka zajedno s pripadajućim kodovima boja. Zadani popis je dugačak jer određuje različite boje za nekoliko različitih vrsta datoteka.

    Započnimo osnovni primjer kako bismo pokazali kako to funkcionira. Recimo da želimo promijeniti boju direktorija od zadanog podebljano plave do podebljano crvene. Možemo pokrenuti sljedeću naredbu:

    LS_COLORS = "di-1; 31"

    di-1; 31 bit govori ls te mape (di) su (=) podebljano (1;) Crvena (31).

    Međutim, ovo je samo vrlo jednostavna LS_COLORS varijabla koja definira direktorije kao jednu boju i ostavlja svaku drugu vrstu datoteke kao zadanu boju. Recimo da želimo napraviti datoteke s ekstenzijom .desktop podcrtane cijan boje. Možemo pokrenuti sljedeću naredbu:

    LS_COLORS = "di = 1: 31: *. Desktop 4; 36"

    To govori ls te mape (di) su (=) podebljano (1;) Crvena (31) i (:) bilo koja datoteka koja završava s .desktop (* .desktop) je (=) podcrtano (4;) cijan (36).

    To je postupak za sastavljanje popisa vrsta datoteka i boja. Navedite koliko god želite u obliku filetype = color, odvajajući svaki znak dvotočkom (:).

    Da biste sastavili svoj vlastiti popis, trebate samo znati popis kodova boja i kodove tipova datoteka. To koristi iste numeričke kôdove boja koje koristite kada mijenjate boju u Bash promptu.

    Evo popisa kodova boja za tekst u prednjem planu:

    • Crno: 30
    • Plava: 34
    • Cijan: 36
    • Zeleno: 32
    • Ljubičasta: 35
    • Crveno: 31
    • Bijelo: 37
    • Žuto: 33

    Na primjer, budući da je žuti tekst kod boje 33, upotrijebili biste ga di = 33 za žute oznake.

    Evo popisa atributa boja teksta:

    • Normalni tekst: 0
    • Bold ili Light Text: 1 (ovisi o emulatoru terminala.)
    • Dimni tekst: 2
    • Podcrtani tekst: 4
    • Trepćući tekst: 5 (ne radi u većini emulatora terminala.)
    • Obrnuti tekst: 7 (To preokreće boje prednjeg plana i pozadine, tako da ćete vidjeti crni tekst na bijeloj pozadini ako je trenutni tekst bijeli tekst na crnoj pozadini.)
    • Skriveni tekst: 8

    Kada određujete atribut ili više od jednog koda boje, odvojite popis kodova znakom zarezom (;). Ne morate specificirati 0 za normalan tekst, jer se normalni tekst koristi kada ovdje ne navedete atribut.

    Na primjer, budući da je masni tekst u boji 1, a žuti tekst 33, upotrijebite ga di = 1 33 za označavanje kataloga podebljanim žutim. Također možete navesti više od jednog atributa. Na primjer, možete koristiti di = 1 4 33 za označavanje kataloga podebljanim, podcrtanim žutim.

    Evo popisa kodova u boji pozadine:

    • Crna pozadina: 40
    • Plava pozadina: 44
    • Cijan pozadina: 46
    • Zelena pozadina: 42
    • Ljubičasta pozadina: 45
    • Crvena pozadina: 41
    • Bijela pozadina: 47
    • Žuta pozadina: 43

    Na primjer, budući da je plava pozadina kod boje 44, upotrijebili biste di = 44 koristiti plavu pozadinu za direktorije. Također možete kombinirati kod boje pozadine, kôd boje prednjeg plana i onoliko atributa koliko želite. Na primjer, di-1; 4; 33; 44 će vam dati podebljani, podcrtani žuti tekst na plavoj pozadini.

    Evo popisa kodova vrsta datoteka:

    • Imenik: di
    • Datoteka: fi
    • Simbolička veza: ln
    • Imenovana cijev (FIFO): pi
    • Utičnica: tako
    • Blok uređaj: bd
    • Uređaj za znakove: cd
    • Simbolička veza siroče (ukazuje na datoteku koja više ne postoji): ili
    • Nedostaje datoteka (nedostaje datoteka kojoj simbolička simbolička veza upućuje): mi
    • Izvršna datoteka (ima dozvolu "x"): ex
    • * .exextension: bilo koja datoteka koja završava s navedenim nastavkom. Na primjer, upotrijebite * .txt za datoteke koje završavaju u .txt, * .mp3 za datoteke koje završavaju u .mp3, * .desktop za datoteke koje završavaju u .desktop ili bilo što drugo što vam se sviđa. Možete navesti koliko god želite različitih nastavaka datoteka.

    Odredite onoliko različitih vrsta kodova vrsta datoteka s toliko različitih boja koliko želite, odvojeno znakom:. Ponovite ovaj postupak za sastavljanje varijable LS_COLORS.

    Na primjer, recimo da želite koristiti podebljani ljubičasti tekst za direktorije, podcrtani crveni tekst za izvršne datoteke i podebljani zeleni tekst na crvenoj pozadini za .mp3 datoteke. Spajanjem kodova tipova datoteka i kodova boja sa gore navedenih popisa, dobili biste:

    LS_COLORS = "di-1; 35: ex = 4 31. * MP3 = 1, 32; 41"

    Kako postaviti nove zadane boje

    Sada imate prilagođenu LS_COLORS varijablu koja funkcionira u trenutnoj Bash sjednici. Međutim, vjerojatno želite da bude trajno tako da se automatski koristi svaki put kada pokrenete novu Bash sesiju, a da to ne morate zapamtiti.

    Možete postaviti prilagođenu varijablu LS_COLORS - i bilo koju drugu varijablu Bash koju želite - tako da je dodate u datoteku .bashrc korisničkog računa. Ova se datoteka nalazi na ~ / .bashrc. Dakle, ako je vaše korisničko ime bob, naći ćete ga na /home/bob/.bashrc. Postoje i drugi načini postavljanja varijabli okruženja, ali to je jednostavno.

    Najprije otvorite ovu datoteku u željenom uređivaču teksta. Ovdje ćemo kao primjer koristiti nano, ali možete koristiti vi, emacs ili bilo što drugo što vam se sviđa.

    nano ~ / .bashrc

    Dodajte prilagođenu varijablu LS_COLORS u novi redak na kraju datoteke, na primjer:

    LS_COLORS = "di-1; 35: ex = 4 31. * MP3 = 1, 32; 41"

    Spremite datoteku i izađite. U nano, pritisnite Ctrl + O, a zatim pritisnite Enter za spremanje, a zatim pritisnite Ctrl + X za izlaz.

    Kad god pokrenete novu sesiju Bash, Bash će pročitati .bashrc datoteku i automatski postaviti vašu varijablu LS_COLORS. Da biste ubuduće promijenili boje, vratite se u svoju .bashrc datoteku i uredite liniju LS_COLORS.

    Također možete samo izbrisati LS_COLORS = redak koji ste dodali u svoju .bashrc datoteku kako biste ponovno koristili zadane boje. Ako ne postavite vrijednost LS_COLORS, Bash će koristiti zadane boje.