Linux commands: alias
By Flavio
Published · Updated
Tagged: CLI
Learn how the Linux alias command creates a shortcut for another command, like alias ll for ls -al, and how to make your aliases permanent in .bashrc.
It’s common to always run a program with a set of options you like using.
For example, take the ls command. By default it prints very little information:

while using the -al option it will print something more useful, including the file modification date, the size, the owner, and the permissions, also listing hidden files (files starting with a .):

You can create a new command, for example I like to call it ll, that is an alias to ls -al.
You do it in this way:
alias ll='ls -al'
Once you do, you can call ll just like it was a regular UNIX command:

Now calling alias without any option will list the aliases defined:

The alias will work until the terminal session is closed.
To make it permanent, add it to your shell config.
On macOS the default shell is zsh (since Catalina), so you put the alias in ~/.zshrc. Then run source ~/.zshrc, or open a new terminal.
On Linux most distros still default to Bash. Add the alias to ~/.bashrc, or to ~/.profile / ~/.bash_profile depending on the setup. Then source ~/.bashrc.
I wrote more about this in How to set an alias in a macOS or Linux shell.
Be careful with quotes if you have variables in the command: using double quotes the variable is resolved at definition time, using single quotes it’s resolved at invocation time. Those 2 are different:
alias lsthis="ls $PWD"
alias lscurrent='ls $PWD'
$PWD refers to the current folder the shell is into. If you now navigate away to a new folder, lscurrent lists the files in the new folder, lsthis still lists the files in the folder you were when you defined the alias.
The
aliascommand works on Linux, macOS, WSL, and anywhere you have a UNIX environment
Want me to talk about your product? You can sponsor this site.
Related posts about cli: