alias命令用来设置指令的别名。
我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号''将原来的命令引起来,防止特殊字符导致错误。
语法 alias(选项)(参数)
选项 -p:打印已经设置的命令别名。
参数
命令别名设置:定义命令别名,格式为“命令别名=‘实际命令’”。
实例 alias 的基本使用方法为: alias 新的命令='原命令 -选项/参数'
例如:alias l=‘ls -lsh'将重新定义ls命令,现在只需输入l就可以列目录了。
直接输入 alias 命令会列出当前系统中所有已经定义的命令别名。
要删除一个别名,可以使用 unalias 命令,如 unalias l。
查看系统已经设置的别名:
[root@ldaptest ~]# alias -p alias cp='cp -i' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias lxjtest='ls /boot' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
创建alias:
[root@ldaptest ~]# alias psnew='ps -Ao user,pid,ppid,command' [root@ldaptest ~]# alias psnew2 ='ps -ef | grep slapd' --注意别名后边不能有空格。 -bash: alias: psnew2: not found -bash: alias: =ps -ef | grep slapd: not found [root@ldaptest ~]# alias psnew2='ps -ef | grep slapd' [root@ldaptest ~]# psnew2 root 2195 2150 0 11:52 pts/0 00:00:00 grep slapd [root@ldaptest ~]# psnew USER PID PPID COMMAND root 1 0 /sbin/init root 2 0 [kthreadd] root 3 2 [migration/0] root 4 2 [ksoftirqd/0] …… [root@ldaptest ~]# unalias psnew [root@ldaptest ~]# unalias psnew2 [root@ldaptest ~]# psnew -bash: psnew: command not found [root@ldaptest ~]# psnew2 -bash: psnew2: command not found [root@ldaptest ~]#
alias命令的作用只局限于该次登入的操作。
若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件/etc/bashrc中。
[root@ldaptest ~]# vi /etc/bashrc --把两条alias添加到进来。 alias psnew='alias psnew='ps -Ao user,pid,ppid,command' alias psnew2 ='ps -ef | grep slapd'
对别名进行转义
alias命令能够为任何重要的命令创建别名,不过你未必总是希望用别名来执行这个命令。
我们可以将希望使用的命令进行转义,从而忽略当前定义的别名。例如:
$ command
字符对命令实施转义,使我们可以执行原本的命令,而不是这些命令的别名替身。在不可
信环境下执行特权命令,通过在命令前加上 来忽略可能存在的别名设置总是一个不错的安全
实践。因为攻击者可能已经将一些别有用心的命令利用别名伪装成了特权命令,借此来盗取用户
输入的重要信息。
[root@server0 ~]# psnew | head -5 USER PID PPID COMMAND root 1 0 /usr/lib/systemd/systemd --switched-root --system --deserialize 21 root 2 0 [kthreadd] root 3 2 [ksoftirqd/0] root 5 2 [kworker/0:0H] [root@server0 ~]# psnew bash: psnew: command not found... [root@server0 ~]#