This post explains how you can change the color of the Terminal prompt in Mac OS X.
It also covers how to activate the Terminal color layout, a very useful feature that displays different colors depending on the character of the file or folder.
Change the color of the Terminal prompt
To change the color of the Terminal prompt to a green color, open or create the file ~/.bash_profile and write:
#PS1='[\u@\h \W]\$ ‘ # Default
PS1=’\[\e[1;32m\][\u@\h \W]\$\[\e[0m\] ‘
where the first line is a comment indicating the default value, and
- \e[1;31m indicates Red color
- \u @ \h \W indicates the format of the prompt: user@host path.
- \e[0m indicates format text reset
You can find more information about these special characters in this link. To activate these changes open and close the terminal, or run
source ~/.bash_profile
Activate colors in your Terminal
Activate colors is very easy. You only need to open the ~/.bash_profile file and add the following line:
export CLICOLOR=1
Save the file, and activate the changes like before.
Change the colors of your Terminal
Now, let’s learn how we can configure our Terminal to obtain the colors of the figure.
Colors can be changed using the LSCOLORS variable in the ~/.bash_profile. By default is set to
LSCOLORS=exfxcxdxbxegedabagacad
where the string exfxcxdxbxegedabagacad is a concatenation of pairs of the format TB, where T is the text color and B is the Background color.
The order of these pairs correspond to:
- directory
- symbolic link – special kind of file that contains a reference to another file or directory.
- socket – special kind of file used for inter-process communication.
- pipe – special file that connects the output of one process to the input of another.
- executable
- block special – a kind of device file.
- character special – a kind of device file.
- executable with setuid bit set (setuid is a short for set user ID upon execution).
- executable with setgid bit set (setgid is a short for set group ID upon execution).
- directory writable to others, with sticky bit – only the owner can rename or delete files.
- directory writable to others, without sticky bit – any user with write and execution permissions can rename or delete files.
And the different letters correspond to:
- a black
- b red
- c green
- d brown
- e blue
- f magenta
- g cyan
- h light grey
- x default color
The same letters in uppercase indicate Bold.
The Terminal default colors, described by exfxcxdxbxegedabagacad, and ordered by file type / text color / background color, are:
- ex –> directory / blue / default
- fx –> symbolic link / magenta / default
- cx –> socket / green / default
- dx –> pipe / brown / default
- bx –> executable / red / default
- eg –> block special / blue / cyan
- ed –> character special / blue / brown
- ab –> executable with setuid / black / red
- ag –> executable without setuid / black / cyan
- ac –> directory with sticky / black / green
- ad –> directory without sticky / black / brown
You can change the colors of your terminal by creating a new concatenated string, like
GxFxCxDxBxegedabagaced, and writing in the .bash_profile file the following line:
export LSCOLORS=GxFxCxDxBxegedabagaced
Enjoy the new Terminal layout! 😉
Don’t forget to g+1 if useful! Thanks!
Marina Mele has experience in artificial intelligence implementation and has led tech teams for over a decade. On her personal blog (marinamele.com), she writes about personal growth, family values, AI, and other topics she’s passionate about. Marina also publishes a weekly AI newsletter featuring the latest advancements and innovations in the field (marinamele.substack.com)