Make Shell Aliases Easy
This blog started as part of a discussion about shell usage and putting aliases in. This is of interest to me because, before I went into full-time development, I did a lot of system administration in Unix and Linux. I spent most of my days in the shell and in a Unix editor. And I still get out of the IDE and into a shell.
Once upon a time, I remember reading somewhere that, if you run a command with at least one argument twice a day, then you should make an alias for it. Their reasoning made sense – the problem was that it was painful to do. They gave an example of an uber-alias — something in your shell init file ta helps you create them. What they went something like this:
Then you don’t store your aliases in your
.profile but in it’s own file. For me that file is
~/.aliases for commands and
~/.diraliases for directory aliases (which is a zsh thing. If you haven’t checked out zsh you really should).
I read this article over 10 years ago and it’s still a setup that I use to today. I find a command that I suddenly use a lot of, I can quickly make an alias for it and use it immediately.
Here is a few of the aliases that have come so ingrained into my workflow that I really can’t live without:
git smart-something aliases are from the git-smart project which could be the subject of another blog post, but let’s just say I find it very handy.
Sometimes you have a series of commands that you run over and over again. You could put it in a shell script in
~/bin but (if you are like me) that directory gets rather full. For me, I’d rather put them in function inside my
~/.aliases. Here is an example:
So save yourself some keystrokes and embrace the power of aliases in your shell.