基礎命令學習目錄首頁html
原文連接:http://c.biancheng.net/view/938.htmllinux
給命令設置別名,你能夠把它看成命令的"小名",可是這樣作有什麼意義呢?
好比筆者剛接觸 Linux 時,使用的編輯器是 Vi,可是如今 Vim 的功能明顯比 Vi 的功能更增強大,因此如今流行的編輯器變成了 Vim。可是筆者已經習慣了輸入 vi 命令,而不習慣輸入 vim 命令,別看小小的一個"m"的區別,在執行命令時總以爲彆扭,這時別名就能夠起做用了。只要定義 vim 命令的別名爲 vi,這樣之後執行的 vi 命令實際上運行了的是 vim 命令。
命令格式:apache
[root@localhost ~]# alias
#查詢命令別名
[root@1ocalhost ~] # alias 別名='原命令'
#設定命令別名vim
例如:bash
[root@localhost ~]# alias
#查詢系統中已經定義好的別名
alias cp='cp -i'
alias l='ls -d .* --color=auto'
alias ll='ls -1 --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@localhost ~]# alias vi='vim' #定義vim命令的別名是vi
[root@localhost ~]# alias
#從新查詢別名
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -1 --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias vi='vim'
#別名已經生效
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'編輯器
你們須要注意一點,命令別名的優先級要高於命令自己。因此,一旦給 vim 命令設置了別名 vi,那麼原始的 vi 命令就不能使用了。因此,除非你肯定原命令是不須要的,不然別名不能和系統命令重名。再舉個例子:post
[root@localhost ~]# alias sto='/usr/local/apache2/bin/apachectl stop'
[root@localhost ~]# alias sta='/usr/local/apache2/bin/ apachectl start'學習
咱們在配置和使用 apache 時,須要不斷地重啓 apache 服務。這時定義"sta"爲 apache 啓動命令的別名,"sto"爲 apache 中止命令的別名,能夠有效地加快 apache 服務的重啓速度。
固然,前提是已經肯定了系統中沒有"sta"和"sto"命令,因此這兩個別名不會覆蓋系統命令。那麼如何肯定系統中沒有"sta"和"sto"命令呢?還記得 whereis 和 which 命令嗎?另外,使用 Tab 鍵命令補全功能也可以肯定是否有這兩個命令。
既然咱們說別名的優先級比命令高,那麼命令執行時具體的順序是什麼呢?命令執行時的順序是這樣的:url
別名就是這樣簡單,不過若是咱們使用命令定義別名,那麼這個別名只是臨時生效,一旦註銷或重啓系統,這個別名就立刻消失了。爲了讓這個別名永久生效,能夠把別名寫入環境變量配置文件 ~/.bashrc 中。命令以下:.net
[root@localhost ~】# vi /root/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi='vim'
alias sto='/usr/local/apache2/bin/apachectl stop' alias sta='/usr/local/apache2/bin/apachectl start'
#Source global definitions
if [ -f /etc/bashrc ];then
./etc/bashrc
fi
這樣,這些別名就能夠永久生效了。那麼,環境變量配置文件又是什麼呢?所謂環境變量配置文件,顧名思義,就是用來定義咱們的操做環境的,別名固然也是操做環境,咱們會在後續章節詳解介紹這個文件的做用。
設定好的別名能夠刪除嗎?只要執行 unalias命令 就能夠方便地刪除別名,命令以下:
[root@localhost ~]# unalias vi
固然,若是肯定要刪除別名,則也要刪除環境變量配置文件中的相關項才能夠。