Kolorowy Terminal w OS X

Domyślnie w systemie Apple OS X terminal nie posiada kolorowych czcionek określających typy plików czy katalogów jak to jest najcześciej w wielu dystrybucjach systemu Linux. O ile tło i czcionki możemy zmienić w konfiguracji terminala to w dalszym ciągu nie będą odpowiednio kolorowane typy plików. Nic straconego, możemy dodać odpowiednie kolorowanie czcionek w terminalu wedle naszych potrzeb. Wcale nie musimy mieć gorszego Terminala od tego chociażby z dystrybucji Ubuntu 🙂

Ustawianie kolorów

Otwieramy terminal i edytujemy plik w katalogu użytkownika o nazwie .bash_profie ( plik jest niewidoczny, zobaczysz go używając polecenia ls -la )
Wklejamy do pliku poniższy kod:

export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'

Teraz resetujemy terminal i po wydaniu polecenia przeglądania zawartości katalogu ls, powinniśmy teraz mieć ustawione wcześniej kolory dla nazw plików uwzględniając ich typ. Wybrane kolory uwzględniają takie typy jak: plik, katalog, link symboliczny, plik wykonywalny. Oprócz tego zdefiniowaliśmy kolory dla nazwy hosta, użytkownika i bieżącego katalogu.
Alias jest wymagany aby domyślnie dodawać opcje odpowiedzialne za kolorowanie typu plików.
Opcje w aliasie dla polecenia ls:

Opcja Opis
G aktywowanie kolorowania nazw plików
F dodawanie odpowiednich symboli określających typ pliku: „/", „@", „*"
h zwiększenie czcionki na bardziej czytelną

Opcje dla PS1 oprócz kodu koloru zawierają identyfikator, który skojarzony jest z konkretnym typem, na przykład:

Opcja Opis
\u nazwa użytkownika
\h nazwa hosta
\w bierzący katalog
\$ kolor znaków # lub $

Jeśli chcemy zmodyfikować kolory w jakich mają być wyświetlane poszczególne typy plików to dodajemy dla ułatwienia zdefiniowane typy kolorów i odpowiednio je umieszczamy w dyrektywie PS1. Przykładowa definicja kolorów:

Kolorowe nazwy plików

Kolory w terminalu OS X

C_DEFAULT="\[\033[m\]"
C_WHITE="\[\033[1m\]"
C_BLACK="\[\033[30m\]"
C_RED="\[\033[31m\]"
C_GREEN="\[\033[32m\]"
C_YELLOW="\[\033[33m\]"
C_BLUE="\[\033[34m\]"
C_PURPLE="\[\033[35m\]"
C_CYAN="\[\033[36m\]"
C_LIGHTGRAY="\[\033[37m\]"
C_DARKGRAY="\[\033[1;30m\]"
C_LIGHTRED="\[\033[1;31m\]"
C_LIGHTGREEN="\[\033[1;32m\]"
C_LIGHTYELLOW="\[\033[1;33m\]"
C_LIGHTBLUE="\[\033[1;34m\]"
C_LIGHTPURPLE="\[\033[1;35m\]"
C_LIGHTCYAN="\[\033[1;36m\]"
C_BG_BLACK="\[\033[40m\]"
C_BG_RED="\[\033[41m\]"
C_BG_GREEN="\[\033[42m\]"
C_BG_YELLOW="\[\033[43m\]"
C_BG_BLUE="\[\033[44m\]"
C_BG_PURPLE="\[\033[45m\]"
C_BG_CYAN="\[\033[46m\]"
C_BG_LIGHTGRAY="\[\033[47m\]"

I po dodaniu do pliku powyższych definicji kolorów, zapisujemy je już w bardziej ludzkim języku:

export PS1="\n$C_LIGHTGREEN\u$C_DARKGRAY@$C_BLUE\h $C_DARKGRAY: $C_LIGHTYELLOW\w\n$C_DARKGRAY\$$C_DEFAULT "

Polecam też przydatne narzędzie do odczytywania kodów kolorów dla terminala z podglądem: Kody kolorów dla terminala

Jeśli chodzi o systemy w których powyższa konfiguracja będzie prawidłowo działać to nie ma znaczenia czy jest to Lion, Mountain Lion, Maverick czy z nowszych Yosemite, El capitan.

Słowa kluczowe: kolorowe pliki, katalogi, kolorowanie nazw plików, w terminalu, linki symboliczne, pokolorowane, konsola, osx, os x, maverick, el capitan, mountain lion, iterm

Dodaj komentarz