In computing, alias is a command in various command line interpreters (shells) such as Unix shells, 4DOS/4NT and Windows PowerShell, which enables a replacement of a word with another string. It is mainly used for abbreviating a system command, or for adding default arguments to a regularly used command. Typically, an alias will last for the life of the shell session but regularly used aliases can be placed in the shell's configuration file (~/.cshrc or the systemwide /etc/csh.cshrc for csh, or ~/.bashrc or the systemwide /etc/bashrc or /etc/bash.bashrc for bash) so that they will be available for all shell sessions.
Contents |
Creating aliases
Aliases can be created by supplying name/value pairs as arguments for the alias command. An example of the Bash shell syntax is:
alias copy="cp"
The corresponding syntax in the C shell or tcsh shell is:
alias copy "cp"
This alias means that when the command copy is read in the shell, it will be replaced with cp and that command will be executed instead.
In the 4DOS/4NT shell the following syntax is used to define cp as an alias for the 4DOS copy command:
alias cp copy
To create a new alias in Windows PowerShell, the new verb can be used with the alias cmdlet:
new-alias ci copy-item
This creates a new alias called ci that will be replaced with the copy-item cmdlet when executed.
Viewing currently defined aliases
To view defined aliases the following commands can be used:
alias # Used without arguments; displays a list of all current aliases alias -p # Analogous to the above; not available in 4DOS/4NT and PowerShell alias myAlias # Displays the command for a defined alias
Overriding aliases
In Unix shells, if an alias exists for a command, it is possible to override the alias by surrounding the command with quotes or prefixing it with a backslash. For example, consider the following alias definition:
alias ls='ls -la'
To override this alias and execute the ls command as it was originally defined, the following syntax can be used:
'ls'
or
\ls
In the 4DOS/4NT shell it is possible to override an alias by prefixing it with an asterisk. For example, consider the following alias definition:
alias dir = *dir /2/p
The asterisk in the 2nd instance of dir causes the unaliased dir to be invoked, preventing recursive alias expansion. Also the user can get the unaliased behaviour of dir at the command line by using the same syntax:
*ls
Changing aliases
In Windows PowerShell, the set verb can be used with the alias cmdlet to change an existing alias:
set-alias ci cls
The alias ci will now point to the cls command.
In the 4DOS/4NT shell, the eset command provides an interactive command line to edit an existing alias:
eset /a cp
The /a causes the alias cp to be edited, as opposed to an environment variable of the same name.
Removing aliases
In Unix shells and 4DOS/4NT, aliases can be removed by executing the unalias command:
unalias copy # Removes the copy alias unalias -a # The -a switch will remove all aliases; not available in 4DOS/4NT unalias * # 4DOS/4NT equivalent of `unalias -a` - wildcards are supported
In Windows PowerShell, the alias can be removed from the alias:\ drive using remove-item:
remove-item alias:ci # Removes the ci alias
Typical aliases
Some commonly used aliases in the Bash shell:
alias ls='ls --color=tty' # use colors alias la='ls -a' # list all files alias ll='ls -l' # long listing format alias rm='rm -i' # prompt before overwrite alias cp='cp -i' alias mv='mv -i' alias vi='vim' # use improved vi editor
Standard aliases of Windows PowerShell include:
new-alias cd set-location new-alias ls get-childitem new-alias dir get-childitem new-alias echo write-output new-alias ps get-process new-alias kill stop-process
Alternatives
When not using arguments, as in the vi alias defined above, one might create a symbolic link with the ln command rather than use an alias. This method will result in the vi command being available to all users, independent of the shell.
If you need to pass command line arguments to an alias, use a shell function instead:
function foo() { echo $@ ;}
External links
- : define or display aliases – Commands & Utilities Reference, The Single UNIX® Specification, Issue 7 from The Open Group
- Bash man page for alias
- The alias Command by The Linux Information Project (LINFO)
|
||||||||||||||||||||||||||
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)




