曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3341|回复: 0
打印 上一主题 下一主题

alias -- 给命令起别名

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2012-3-20 15:17:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
alias 可以给别的命令或者是若干命令的组合起别名,达到简化方便的目的。

基本用法如下:
alias your_command='command sequence'
如:
root@bt:~# alias hello='echo "hello world"'
root@bt:~# hello
hello world

需要注意的是,alias 命令所给别的命令起别名只是临时的,如果当前终端关闭,那么在本次会话中所起的别名将失效。如果希望所起别名以后还能用得上,那么可以将设置写到用户家目录的 .bashrc 文件中,在该文件中的命令只要在一个新的 shell 进程建立时就会得到执行,比如可以:
echo 'alias my_cmd="command sequence"' >> ~/.bashrc

起别名机制在某些时候很有用,比如为了保险起见,可以在运行 rm 命令前将要删除的文件备份起来,这样以防止误删,如:
alias rm='cp $@ ~/mybak; rm $@
上面,$@  是个特殊的内置变量,代表了命令行上给出所有的参数。

如果你所起的别名之前已经有过,那么新的别名设置将覆盖旧有的。

从上面看到,别名也带有某些危险特性,比如你所运行的命令被人用别名修改过,从而会执行攻击者所附加的参数,这样就很不好了,那么为了安全起见,可以在你要运行的命令前加上反斜杠进行命令转义,这样别名就不会在起作用。如上面对 rm 命令所做的别名设置,在删除文件前进行备份,如果运行时在 rm 命令前加上 \ ,即 \rm ,那么就原原本本的就执行 rm 命令了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-18 04:00 , Processed in 0.076597 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表