Nice post. You should’ve also mentioned that we can escape alias names and run them literally by placing a “/” before the alias. Say, there later comes a binary from a npm package, going by the name of gs. (gravity strengthify)

$ gs
This evaluates to $ git status

$ \gs
This evaluates the literal $ gs which can run the required binary.
I usually recommend beginners to set an alias for the rm command, say this,
alias rm=” ”

So that when they accidentally try to remove, it doesn’t do anything. If they do want to remove a file/dir actually, they’d have to type $ \rm.

This evaluates the literal $ rm . The extra work by putting a “\” really makes the user realise that what they’d be doing will have repercussions. This has saved my ass many a times.