Most programmers are lazy, including myself. We always want to figure out a more efficient or easier way of doing something to save us time and effort. An alias in bash is meant for just that. An alias is essentially a keyboard shortcut or replacement mechanism for commonly typed commands in your shell. You are able to set them temporarily or permanently if placed in the correct file.
I will show you how to display current aliases already on your system, yes there are a few built-ins! I will also show you how to make your own and have them on your system during boot-up.
Show All Current Bash Aliases With ‘alias -p’
To display all the current aliases on your system as a normal user, type alias -p.
1 2 3 4 5 | $ alias -p alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias ls='ls --color=auto' |
And how! So how do these work? For instance, every time I type the ‘ls’ command the bash shell secretly replaces my ‘ls’ entry with ‘ls –color=auto’ so when I type ‘ls’ I get the pretty listing of my files all nicely colored. Awesome. So for us lazy people this can become quite handy! One command I type quite often is ‘ps aux wwwf’ to display all my processes current usage, thread output, etcetera. But that is a lot to type. So lets make an alias to save me time. I will call my alias ‘p’.
1 2 3 4 5 6 7 | $ alias p="ps aux wwwf" $ alias alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias ls='ls --color=auto' alias p='ps aux wwwf' |
Now you can see I have my process output alias. This is great, because anytime I need to check my systems process output I can just type ‘p’ instead of that lengthy spiel.
The lifetime of my new alias is only as long as the lifetime of my current shell. So when I exit the shell, the alias goes with it. If we want our alias to persist it must be stored in /etc/profile, .bash_aliases or your .bashrc file in your home directory.
Store Alias In File For Longevity
To create persistent aliases you must place them in one of three files:
- /etc/profile
- .bashrc
- .bash_aliases
For example, an excerpt from my .bashrc file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi # some more ls aliases #alias ll='ls -l' #alias la='ls -A' #alias l='ls -CF' # Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi |
You’ll notice at the bottom, if the .bash_aliases file exists, then Bash will include all aliases placed in that file for your shell. If you like cleanliness, I would suggest placing all your custom aliases in the .bash_aliases file. Otherwise, you are free to populate this file with any aliases you see fit.
Common Aliases
Here is a list of some common aliases I have come across:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | alias ls='ls -aF --color=always' alias ll='ls -l' alias search=grep alias mcd='mount /mnt/cdrom' alias ucd='umount /mnt/cdrom' alias mc='mc -c' alias ..='cd ..' alias ...='cd ../..' alias L='ls -FLb' alias LL='ls -FLlb' alias a='alias' alias h='history' alias j='jobs -l' alias l='ls -Fb' alias la='ls -Flab' alias ll='ls -Flb' alias m='less' alias ot='popd' alias to='pushd' alias zm='zless' |
If you need a more complex alias, by all means. I created an alias to check the memory usage of my mysql database:
1 2 | alias memu="ps --user mysql u | grep mysql | awk '{print $4;}' | \ awk '{split($0,a,"."); print a[1]}'" |
Remove Alias With ‘unalias’
If you are now tired with a specific alias, you may unalias that command.
1 | $ unalias memu |
Voila! I have written a few other Bash articles if you would like to check them out:


