dev_neil_a
Posted on February 5, 2023
- YouTube Video
- Introduction
- What Are Aliases?
- Creating And Using Aliases
- Making An Alias Persistent
- How To Check For An Alias
- Removing An Alias
- Conclusion
YouTube Video
If you would prefer to watch the content of this article, there is a video version available on YouTube below:
Introduction
This article will be covering:
- What aliases are in Linux (and macOS).
- How they are created.
- How to use them.
- Determine if there is a alias configured.
- How to remove one.
What Are Aliases?
In Linux and macOS, aliases are shortcuts for commands that are installed on the system. One of the main purposes for using them is to take a command that an user runs often, has a lot of extra switches / arguments that need to be passed and reduce it down to something simpler and shorter.
Aliases are configured on a per user basis so they are applicable to that user only.
Another common use case for aliases is let's take an user is new to Linux after using Windows for a while. The user is more familiar with using the dir
command to get a list of files and folders from the Windows command / PowerShell prompt.
As there is no (built-in) dir
command in Linux or macOS, an user would use the ls -lh
command to get a similar output to dir
(or ls -lha
to get the equivalent of dir /a
).
With an alias, the user can map the ls -lh
command to dir
so that they can use what they are familiar with whilst they get use to using the Linux / macOS terminal.
Creating And Using Aliases
To create create an alias, the alias
command is used in the following format:
alias <name-of-alias>="<the command the alias should run>"
Now, using the previous dir
example, let's create an alias for that which will run ls -lh
:
alias dir="ls -lh"
The below image shows what happens when running dir
before the alias is created and after:
In addition to this, the dir
alias can also have additional switches specified after it that are part of the source command. For example, let's run the dir
command but this time add on -a
(similar function to /a
on the Windows dir
command) to view all the hidden files and folder in the directory as well as unhidden files and folders:
Lastly, an alias can be used to override an existing command. For example, an user creates the following alias:
alias top="htop"
In the above example, when the user runs top
(built-in system monitoring tool), it will open htop
(user installed system monitoring tool) instead of the top
command that most Linux distros ship with.
Making An Alias Persistent
Now, there is one issue with this: The dir
alias that was created is only available for the terminal session it was created in. What that means is that if the terminal (or terminal tab) is closed, the alias is lost.
However, an alias can be set to be persistent by adding it to the users shell rc file. As to which rc file will depend upon which shell environment the user is running. The main two shells used are bash
(default for most Linux distros) and zsh
(default for macOS and some Linux distros). The location of the rc file for each is:
- bash: ~/.bashrc
- zsh: ~/.zshrc
To make the dir
alias persistent, run the command that is applicable to the shell that is being used:
For bash:
echo 'alias dir="ls -lh"' >> ~/.bashrc
For zsh:
echo 'alias dir="ls -lh"' >> ~/.zshrc
Once that has been done, open up a new terminal session and the alias will work in there and any other sessions that are run.
How To Check For An Alias
To check if the command an user runs is an alias, the where
command can be used to see what the path of the command or alias is. For example, an alias called top
is configured to use htop
but the user would like to run the actual top
command this time but doesn't know where it is installed. Using where
will show the user the location of the actual top
command. For example:
From the above, there is an alias called top
that runs htop
. As this is an alias, it is at the top of the search result. With aliases, they have a higher precedence versus commands that are system-wide.
The standard top
command can be run in the shell by using the full path.
Removing An Alias
To remove an alias, it is very simple:
- Using nano (or another text editor, such as vim), open the rc file that the matches the shell the user is running. For example
nano ~/.zshrc
. - Locate the alias that needs to be removed and either delete that line or put a # at the beginning of the line to comment it out.
- Save the file (
CTRL+X
followed byy
for yes in nano,:wq
in vim). - Close the terminal and open a new one. The alias will now no longer work.
Conclusion
To conclude, aliases are a very easy way to help speed up how an user can interact with commands in the terminal and speed up complex & repetitive commands to even a single letter or word.
Thank you for reading and have a nice day!
Posted on February 5, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.