How to Make macOS's Terminal.app More Linux-Like—UI Adjustments
September 27, 2025
tl;dr—Read manpages and add color.
Why I Started Thinking About This
I had never given much thought to how monochromatic macOS's built-in Terminal.app is until I set up Xubuntu on an old Mac. The default Xubuntu Terminal added some color to the text, and it made a huge difference.
ls was way more readable, since I could see at a glance which entries were directories or executables, even if I didn't add -al... which I don't always want to add.
grep was another huge difference, since the pattern I had searched was always highlighted in red, instead of blending into the wall of other text that was part of those lines / entries.
Even if a command returned enough text to bump what I had written far above the visible screen, I could easily scroll back to the top of what the terminal had returned because the Bash prompt's username and current working directory both included color.
On macOS, by contrast, I had encountered plenty of times where I had to hunt a bit to find where I had last typed a command, vs. where its results had first shown up underneath that.
Possible Solutions
I briefly looked into iTerm2 and ohmyzsh, since I had seen both while searching for ways to modify the terminal. But ultimately decided against them, at least for now, since for my current use case, they would just be applying a visual bandaid rather than actually learning how to use the tools built into macOS.
At some point in the future, one or both of those terminal emulators might be useful, especially since Jaron Bradley mentions using two separate terminal apps for recording eslogger captures, which I want to experiment with to further understand the material from his training. But for now, all I'm looking for is color in the main prompt and occasionally in the terminal's output.
Extremely Short Write-Up
I'd like to write this out more clearly in the future, and include some screenshots. Especially interested in talking about how straightforward it is to apply color and other styles to the zsh prompt, compared to Bash, since the %CAPITAL_LETTER / %lowercase_letter system zsh uses seems more intuitive, at least to me.
- Shotts, The Linux Command Line—
- I remembered seeing a chapter on custmoizing the Bash prompt in Shotts's book, and started there. Page 145, in the 2nd edition.
- Temporarily changed one Terminal window to Bash instead of zsh, then took notes and experimented using the escape codes and examples he provides.
- The main goal at this point was to turn the username green, and the end of the current working directory blue, like in Xubuntu.
- Once I understood the basics in Bash, it was time to figure out how to apply this to zsh.
- zsh manpages—
- From scrolling through
man zshitself, I didn't see anything that looked related to adding color to the prompt. But at the top of the manpage, they list 10+ additional zsh-related manuals. - After a few false starts, I landed on
man zshmisc, which has extensive documentation on customizing $PS1 and the other prompts. - The final result from this was—
- I ended up making the working directory's background blue, rather than the foreground (text color), since the default shade of blue was low contrast against the black screen of the terminal itself.
- Addressing colorized output for
lsandgrep— - More notes on this later, but in brief—
- Shotts covers how to use
aliason p. 46-47. Unfortunately, there is no man page on macOS since it's a built-in command. - From digging through
man lsandman grep, I settled on the following two aliases— % alias ls='ls --color=always'% alias grep='grep --color=always'
% PS1="%F{green}%n@%m%f:%K{blue}%1~%k%# "