Skip to Content
Navigation:

A stick figure smiling

This is a page from an upcoming zine called "The Secret Rules of the Terminal".

To get an email when the zine comes out, sign up for the zine announcements list!

Image of a comic. To read the full HTML alt text, click "read the transcript".
read the transcript!

the shell starts programs

when you run a program in the terminal, you’re actually asking your shell to start it for you

it turns out that starting programs is a surprisingly complicated job!

there are LOTS of shells but 95% of people use

  • bash (default on Linux)
  • zsh (default on Mac (in 2025))
  • fish (aims to be more user friendly)

fish: the friendly interactive shell

ASCII illustration of a fish

I love how fish has friendly defaults that I can use without configuring it

this is (mostly) not a fish propaganda zine though

Little illustration of a smiling stick figure holding up a sign that says “fish 4eva”, labelled “me”

bash and zsh are both “POSIX shells”

this means they follow a standard for how Unix shells should behave, but there are differences

I’ll mention when something varies between shells!

where to find your shell’s config file

bash: ~/.bashrc or ~/.bash_profile (which one is a rabbit hole, huge flow chart at wzrd.page/bashrc)

zsh: ~/.zshrc

fish: ~/.config/fish/config.fish

.bashrc vs .bash_profile

here’s an trick to figure out whether bash is using .bashrc or .bash_ profile (or both!)

Add:

echo "this is .bashrc"
echo "this is . bash _ profile"

to each file, open a new terminal tab, and see what it prints out!

Saturday Morning Comics!

Want another comic like this in your email every Saturday? Sign up here!

I'll send you one of my favourite comics from my archives every Saturday.
© Julia Evans 2025 | All rights reserved (see the FAQ for notes about licensing)