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)
This evaluates to $ git status
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 realize that what he’d be doing will have repercussions. This has saved my ass many a times.