alias和unalias命令示例
在本教程中,我们将通过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程序员手册中找到。