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:

The 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.

About the Author

Object Partners profile.

One thought on “Make Shell Aliases Easy

  1. Nate says:

    Cool post. I do the same thing, and I even made an alias to easily create alias’.

    Example:
    echo ‘alias ‘$1’=”‘$2′”‘ >> ~/.bash_profile;

    full code here:
    https://gist.github.com/nateflink/f3652012615117488c47

Leave a Reply

Your email address will not be published.

Related Blog Posts
Natively Compiled Java on Google App Engine
Google App Engine is a platform-as-a-service product that is marketed as a way to get your applications into the cloud without necessarily knowing all of the infrastructure bits and pieces to do so. Google App […]
Building Better Data Visualization Experiences: Part 2 of 2
If you don't have a Ph.D. in data science, the raw data might be difficult to comprehend. This is where data visualization comes in.
Unleashing Feature Flags onto Kafka Consumers
Feature flags are a tool to strategically enable or disable functionality at runtime. They are often used to drive different user experiences but can also be useful in real-time data systems. In this post, we’ll […]
A security model for developers
Software security is more important than ever, but developing secure applications is more confusing than ever. TLS, mTLS, RBAC, SAML, OAUTH, OWASP, GDPR, SASL, RSA, JWT, cookie, attack vector, DDoS, firewall, VPN, security groups, exploit, […]