alias命令用于查看和设置指令的别名。
用户可利用alias,自定指令的别名。
若仅输入alias,则可列出目前所有的别名设置。
alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在.profile或.cshrc中设定指令的别名。
语法
alias[别名]=[指令名称]
参数说明:若不加任何参数,则列出目前所有的别名设置。
别名的作用:
- 通过给危险动作加一些保护参数,防止人为误操作
- 把很多复杂的字符串或命令变成一个简单的字符串或命令
示例:
查看别名
[root@oldboy tmp]# alias #查看别名 alias cp='cp -i' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
设置别名:
[root@oldboy tmp]# alias cp='cp -i' [root@oldboy tmp]# alias|grep cp alias cp='cp -i'
通过设置别名,简化操作:
如下,将查看网卡信息,设置为别名net,只要执行net就可以获取到网卡信息
[root@oldboy network-scripts]# alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0' [root@oldboy network-scripts]# alias |grep net alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0' [root@oldboy network-scripts]# net DEVICE=eth0 HWADDR=08:00:27:10:a5:56 TYPE=Ethernet UUID=e1aa5279-e4c6-45af-8cbc-a63e5fa2b35d ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=dhcp USERCTL=no IPV6INIT=no PEERDNS=yes
将rm的别名设置为字符串,导致rm失效,防止rm被滥用。
[root@oldboy tmp]# alias rm='Help!we can not remove it!' [root@oldboy tmp]# rm -bash: Help!we: command not found
以上的alias的别名设置是在内存中,重启即失效。
定义别名永久生效:
/etc/profile 全局生效
~/.bashrc 当前用户生效
只要~/.bashrc文件中有该alias,就永久会有,哪怕通过unalias删除,通过source ~/.bashrc命令也可以重新获取到
[root@oldboy network-scripts]# unalias cp [root@oldboy network-scripts]# unalias rm [root@oldboy network-scripts]# alias|grep cp [root@oldboy network-scripts]# alias|grep rm [root@oldboy network-scripts]# source ~/.bashrc [root@oldboy network-scripts]# alias|grep cp alias cp='cp -i' [root@oldboy network-scripts]# alias|grep rm alias rm='rm -i'
取消别名:unalias,临时生效