Bash alias example | Linux
We will create a command of our own using the alias command. But before we start, we need to reveal a small command-line trick. It’s possible to put more than one command on a line by separating each command with a semicolon character. It works like this:
command1; command2; command3…
Here’s the example we will use:
[me@linuxbox ~]$ cd /usr; ls; cd –
bin games kerberos lib64 local share tmp etc include lib libexec sbin src
/home/me
[me@linuxbox ~]$
As we can see, we have combined three commands on one line. First we change directory to /usr, then we list the directory, and finally we return to the original directory (by using cd -) so we end up where we started. Now let’s turn this sequence into a new command using alias. The first thing we have to do is dream up a name for our new command. Let’s try test. Before we do that, it would be a good idea to find out if the name test is already being used. To find out, we can use the type command again:
[me@linuxbox ~]$ type test
test is a shell builtin
Oops! The name test is already taken. Let’s try foo:
[me@linuxbox ~]$ type foo
bash: type: foo: not found
Great! foo is not taken. So let’s create our alias:
[me@linuxbox ~]$ alias foo=’cd /usr; ls; cd -‘
Notice the structure of this command:
alias name=’string‘
After the command alias we give the alias a name followed immediately (no whitespace allowed) by an equal sign, which is followed immediately by a quoted string containing the meaning to be assigned to the name. After we define our alias, it can be used anywhere the shell would expect a command.
Let’s try it:
[me@linuxbox ~]$ foo
bin games kerberos lib64 local share tmp etc include lib libexec sbin src
/home/me
[me@linuxbox ~]$
We can also use the type command again to see our alias:
[me@linuxbox ~]$ type foo
foo is aliased to `cd /usr; ls ; cd -‘
To remove an alias, the unalias command is used, like so:
[me@linuxbox ~]$ unalias foo
[me@linuxbox ~]$ type foo
bash: type: foo: not found
While we purposely avoided naming our alias with an existing command name, it is sometimes desirable to do so. This is often done to apply a commonly desired option to each invocation of a common command. For instance, we saw earlier how the ls command is often aliased to add color support:
[me@linuxbox ~]$ type ls
ls is aliased to `ls –color=tty’
To see all the aliases defined in the environment, use the alias command without arguments. Here are some of the aliases defined by default on a Fedora system. Try to figure out what they all do:
[me@linuxbox ~]$ alias
alias l.=’ls -d .* –color=tty’
alias ll=’ls -l –color=tty’
alias ls=’ls –color=tty’
There is one tiny problem with defining aliases on the command line. They vanish when your shell session ends.
In case of any ©Copyright or missing credits issue please check CopyRights page for faster resolutions.