There are commands we don’t run often enough to commit to muscle memory. Here are the most common ones:
Cleaning up merged branches
When using version control for a long-lived project, it’s easy to accumulate branches. This can get messy, so it pays to tidy up your merged in branches.
git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d
Breaking this down:
git branch --merged
returns all branches that have been merged.egrep -v "(^\*|master|dev)"
filters out all those branches called ‘master’ or ‘dev’, we won’t want to delete those.xargs git branch -d
will take each branch left and pass it intogit branch -d
which will delete the branch.
Finding out what is running on a port
With local services and servers running all at once, often something will hog a port and not shut down. We can stop the process, but first we need to find the port
lsof -i tcp:5432
lsof
stands for “list open files” and we’re passing in tcp connections on port 5432
.
Decompressing
A common task is taking a .tar
file, which is a compressed folder containing other files, and expanding it out to take the contents.
tar -xvzf my_compressed_file.tar.gz
This is what each flag is doing:
x
– This stands for extract, in other words get the files from the compressed file.v
– verbose, this returns the files we’ve extractedz
– filter the output through gzipf
– tell is which file totar
, in this casemy_compressed_file.tar.gz
Aliasing
A common way to store commands in your terminal is to create an alias. To do this, we append to the .bash_profile
file in your home directory the alias you want to make.
If you always call ls
with the flags -lah
you could write an alias like this:
alias ls='ls -lah'
Or perhaps you always mistype git
as gut
:
alias gut=git
The problem with aliasing is once the aliases are made they aren’t particularly easy to look up.
TextExpander for bash commands
Because TextExpander is in your menu bar, you can easily access the snippets without having to remember what to type. Normally we’d suggest making a memorable term, with things you don’t type that often being able to quickly browse great for your productivity.
What are your favourite commands you have to look up?
We had a lot of fun asking our friends and co-workers about this, please let us know @TextExpander and on Facebook.