9.1概述
比如,让用户无法执行rm命令的方法:
1、删除rm命令
2、修改rm命令的名字
3、既可以使用rm命令又可以进行提示:用户运行rm命令时,输出一个提示rm command not found
这些需求可以通过别名实现。
Linux中的别名,就相当于给命令起个昵称。
应用场景:
- 省事
- 安全,比如运行rm命令,删除文件给个提示
9.2 应用案例
alisa别名格式:alias 昵称=’命令’
#查看别名,系统已有的别名
[root@linux-87-01 ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
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@linux-87-01 ~]#
#设置别名(命令行设置的,属于临时生效)
[root@linux-87-01 ~]# alias rm='echo do not use rm command'
[root@linux-87-01 ~]# rm
do not use rm command
[root@linux-87-01 ~]#
永久生效(重新登录):在/etc/profile文件中最后一行设置别名即可
执行命令:source /etc/profile 即可立刻生效
root设置rm、mv、cp别名的坑:Linux出于安全考虑已经默认设置了这些别名,放在:~/.bashrc中。把~/.bashrc的这些别名注释掉,那么在 /etc/profile设置就可生效
[root@linux-87-01 ~]# cat ~/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
[root@linux-87-01 ~]#
9.3 设置别名后的,怎么使用原来的命令
比如,给rm设置别名后,怎么使用原来本意的rm命令删除文件
1、使用\执行命令,则临时取消别名。
[root@linux-87-01 ~]# alias rm='echo do not use rm command'
[root@linux-87-01 ~]# \rm -f 1.txt
[root@linux-87-01 ~]#
2、使用命令的绝对路径,如:
[root@linux-87-01 ~]# /bin/rm 1.txt
/bin/rm: cannot remove ‘1.txt’: No such file or directory
[root@linux-87-01 ~]#