alias和unalias命令示例

时间:2020-03-21 11:48:24  来源:igfitidea点击:

在本教程中,我们将通过Linux中的示例学习alias和unalias命令。

alias命令

alias命令用于运行带有用户定义的字符串的任何命令或者命令集(包括许多选项,参数)。
不管原始命令有多复杂,字符串都可以是命令的简单名称或者缩写。
我们可以使用别名作为使用普通Linux命令的方式。
alias命令已预装在shell中,包括BASH,Csh,Ksh和Zsh等。

别名命令的一般语法为:

alias [alias-name[=string]...]

让我们继续看一些示例。

列出别名

系统中可能已经有别名。
在安装某些应用程序时,它们可能会自动创建别名。
要查看现有别名的列表,请运行:

$alias

或者,

$alias -p

我的Arch Linux系统中具有以下别名。

alias betty='/home/sk/betty/main.rb'
alias ls='ls --color=auto'
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
alias update='newsbeuter -r && sudo pacman -Syu'

创建一个新的别名

就像我已经说过的那样,我们无需记住冗长而复杂的命令。
我们甚至不需要一遍又一遍地运行长命令。
只需使用易于识别的名称为命令创建别名,然后在需要时运行它即可。
让我们说,我们想经常使用此命令。

$du -h --max-depth=1 | sort -hr

此命令查找在当前工作目录中哪些子目录消耗了多少磁盘大小。
该命令有点长。
无需记住整个命令,我们可以轻松地创建一个别名,如下所示:

$alias du='du -h --max-depth=1 | sort -hr'

其中du是别名。
我们可以对别名使用任何名称,以便以后轻松记住它。

创建别名时,可以使用单引号或者双引号。
没什么区别。

现在,我们可以运行别名(在本例中为du),而不是完整的命令。
两者都会产生相同的结果。

别名将在当前的shell会话中过期。
一旦我们退出当前会话,它们将消失。
为了使别名永久化,我们需要将它们添加到Shell的配置文件中。

在BASH Shell上,编辑~/.bashrc文件:

$nano ~/.bashrc

别名一一添加:

保存并退出文件。
然后,通过运行以下命令来更新更改:

$source ~/.bashrc

现在,别名在会话之间是持久的。

在ZSH上,我们需要在~/.zshrc文件中添加别名。
同样,如果使用Fish shell,请在~/.config/fish/config.fish文件中添加别名。

查看特定的别名命令

如前所述,我们可以使用“ alias”命令查看系统中所有别名的列表。
如果要查看与给定别名关联的命令,例如“ du”,请运行:

$alias du
alias du='du -h --max-depth=1 | sort -hr'

如我们所见,以上命令显示与单词“ du”相关的命令。

有关别名命令的更多详细信息,请参见手册页:

$man alias

unalias命令

顾名思义,unalias命令只是删除系统中的别名。
unalias命令的典型语法为:

unalias <alias-name>

要删除一个别名命令,例如我们先前创建的“ du”,只需运行:

$unalias du

unalias命令不仅从当前会话中删除别名,而且还将它们从Shell的配置文件中永久删除。

删除别名的另一种方法是创建一个具有相同名称的新别名。

要从当前会话中删除所有别名,请使用-a标志:

$unalias -a

有关更多详细信息,请参见手册页。

$man unalias

如果反复运行这些命令,则为复杂而冗长的命令创建别名将为我们节省一些时间。
现在是时候创建常用命令的别名了。

alias和unalias命令是shell内置的,因此在Linux程序员手册中它们没有单独的手册页。
它们记录在相关shell的手册页中。
但是,这两个命令的手册页都可以在Posix程序员手册中找到。