第1章-小试牛刀(07别名)
2019-02-28 本文已影响4人
昨天剩下的一杯冷茶
1.8.1实战演练
你可以执行多种别名操作。
(1)创建别名
alias new_command='command sequence'
下面的命令为apt-get install创建了一个别名

定义好别名之后,我们就可以用install来代替sudo apt-get install了。
(2)alias命令的效果只是暂时的。一旦关闭当前终端,所有设置过的别名就会失效了。为了使别名在所有的shell中都可用,可以将其定义放入/.bashrc文件中。每当一个新的交互式shell进程生辰时,都会执行/.bashrc中的命令。
echo 'alias cmd="command set'' ' >> ~/.bashrc
(3)如果需要删除别,只需要将其对应的定义(如果有的话)从~/.bashrc中删除,或者使用unalias命令。也可以使用alias example=,这回取消别名example。
(4)我们可以创建一个别名rm,它能够删除原始文件,同时在backup目录中保存副本。
alias rm='cp @'
1.8.2补充内容
如果身份为特权用户,别名也会造成安全问题。为了避免对系统造成危害,你应该将命令转义。
1、对别名进行转义
创建一个和原生命令同名的别名很容易,你不应该以特权用户的身份运行别名化的命令。我们可以转义要使用的命令,忽略当前定义的别名:
\command
字符\可以转义命令,从而执行原本的命令。在不可信环境下执行特权命令时,在命令前加上\来忽略可能窜在的别名总是一种良好的安全实践。这是因为攻击者可能已经将一些别有用心的命令利用别名伪装成了特权命令,借此来盗取用户输入的重要信息。
2、列举别名
alias命令可以列出当前定义的所有别名:
