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 ~]#