In this article, you will be acquainted with different methods to manage aliases by inspecting the alias tool to override commands, along with the common ways to set/unset temporary and persistent aliases.
Table of Contents
What are Aliases in Linux
Linux is always associated with repeated patterns of typing complicated and long command lines. Often times Linux users make mistakes while manually executing commands (we are only humans).
This problem could be very frustrating for some. Fortunately Linux offers the possibility to minimize time and effort when executing long commands by using Aliases.
alias command is considered by far one of the most useful utilities in Linux; it’s a method that creates a shorthand for long and complicated command lines, essentially overriding an existing command with a brand new command by the user’s choosing.
Most Linux users make use of this method to boost efficiency by reducing interaction with their keyboards while dealing with day to day command lines.
How to Set an Alias
Syntax to define an alias:
As you guessed it, an alias can be defined by using the
alias command. Let’s start by choosing the command line that it will be overridden by our new alias.
Suppose that we have to
echo the next line every time we boot our machine:
Hello Mr. ZzIyxbAzIIING, please call the mother ship. This could be frustrating, unless we aliased it as so:
alias Hi="echo Hello Mr. ZzIyxbAzIIING, please call the mother ship"
Now let run the “Hi” command:
Hello Mr. ZzIyxbAzIIING, please call the mother ship
Note, we can also create aliases in these files:
.bashrc; these types of defined aliases are called persistent aliases.
Let’s try the alias command for more practical examples: To get a full list of hidden files and their info, we use this command
ls -la, but for our case we want to achieve similar results by executing
alias a="ls -la" a
total 124 --info
Note: alias names cannot contain the following characters:
To print out the list of aliases that we’ve created, run the mentioned below command:
alias Hi='echo Hello Mr. ZzIyxbAzIIING, please call the mother ship' alias a='ls -la' --other aliases
Note that we can achieve similar results with running alias without the –p option
As you may have gathered, other aliases that you did not define, comes by default when starting the terminal.
In case you have a long list of aliases and you wanted to examine a specific alias that you’ve created, just feed the alias name to the alias command:
alias a alias a='ls -la'
How to Unset an Alias
How about removing an alias? Simply execute the unalias command followed by the alias name:
unalias Hi alias Hi
bash: alias: Hi: not found
If you choose to delete all existing aliases run the mentioned below command:
unalias -a alias -p
–Notice that now the
alias -p returns nothing, even the default defined aliases.
How to Override an Alias
Suppose we defined the alias below:
alias ls="ls -la"
Now every time we run
ls command, it will return the hidden files and their info located in the current directory.
How about for some reason we didn’t want to use the original command
ls? In other words, we want to override the alias name that we’ve just created. To do that, start with a backslash \ followed by the command that has a similar alias name just as so:
bash_article Downloads mydiscord.deb Public Videos Desktop grep_testing myscript.sh snap Documents Music Pictures Templates
Note that you can also achieve similar results by running these variations:
"ls" #or# 'ls' #or# command ls
How to Set Persistent Aliases
As you might have noticed that after starting a new terminal window you won’t be able to run your aliases. So the method of creating aliases by executing the alias command has a very short life, which means that everything you setup by executing the alias command is session specific. The next question we should ask is: how can we make these aliases permanent? To achieve this, we can simply append whatever alias command to our ~/bashrc or ~/.bash_aliases files.
Start by opening the bashrc file using your favorite text editor:
Scroll all the way down to the bottom, you can add a comment to make things organized, then copy and paste that
ls alias the we’ve used in the previous example just like the following:
alias ls="ls -la"
Save and exit the
.bashrc file, then source it for the changes to take effect in the current session:
We can be more organized and achieve similar effect by adding aliases to the
~/.bash_aliases file which is sourced from the
.bashrc file. Start by creating the file:
ls alias that we’ve used in the previous example:
alias ls="ls -la"
After saving the file; just like before, source it for the changes to take effect in the current session.
Note that the
~/.bash_aliases file work only if the
.bashrc file contains the mentioned code below:
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
To define new aliases in your
~/.bash_aliases a lot faster, you can use the
echo or the
cat command with the output
>> operator to append new aliases to the existing file.
echo alias rm="rm -v -i" >> ~/.bash_aliases cat ~/.bash_aliases
alias ls="ls -la" alias rm=rm -v -i
To add an alias using the
cat method, run the following commands:
cat >> ~/.bash_aliases
alias sl='ls --human-readable --size -1 -S --classify' ^C
After adding all your favorite aliases to either
bash_aliases file located on your home directory, your account will have access to all added aliases every time you run the terminal.
Taking Advantage of Aliases
Aliases are an awesome concept, to take a specific command and manipulate it by naming and shortening that command. Linux users could really be creative when dealing with bash aliases. Check the following command aliases that could make the life of a Linux enthusiast a lot easier.
Easy navigation (Alias of an alias):
alias ..='cd ..' alias ...='cd ../..' alias .3='..;...'
Delete files in an interactive and verbose manner:
alias rm="rm -v -i"
Update all packages:
alias updg="sudo apt update ; sudo apt upgrade -y"
alias i="sudo apt install"
Clear the screen:
List the current directory content by size and format:
alias sl='ls --human-readable --size -1 -S --classify'
alias src='source ~/.bashrc'
In this article, we’ve learned about the Alias command that alleviates the difficulties of the repeating patterns of command lines. We also discussed the different ways of setting up aliases by command line (temporary) and by appending the alias command to the
bash_aliases file (permanent).
Additionally, we talked about how to remove a specific alias or all aliases by command line, not to mention overriding an alias which is a neat trick to ignore that alias.