使用Shell alias給命令設(shè)置別名?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
目前創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、新野網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。命令格式:
[root@localhost ~]# alias #查詢命令別名 [root@1ocalhost ~] # alias 別名='原命令' #設(shè)定命令別名
例如:
[root@localhost ~]# alias #查詢系統(tǒng)中已經(jīng)定義好的別名 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' #別名已經(jīng)生效 alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
大家需要注意一點(diǎn),命令別名的優(yōu)先級(jí)要高于命令本身。所以,一旦給 vim 命令設(shè)置了別名 vi,那么原始的 vi 命令就不能使用了。所以,除非你確定原命令是不需要的,否則別名不能和系統(tǒng)命令重名。再舉個(gè)例子:
[root@localhost ~]# alias sto='/usr/local/apache2/bin/apachectl stop' [root@localhost ~]# alias sta='/usr/local/apache2/bin/ apachectl start'
我們?cè)谂渲煤褪褂?apache 時(shí),需要不斷地重啟 apache 服務(wù)。這時(shí)定義"sta"為 apache 啟動(dòng)命令的別名,"sto"為 apache 停止命令的別名,可以有效地加快 apache 服務(wù)的重啟速度。
當(dāng)然,前提是已經(jīng)確定了系統(tǒng)中沒(méi)有"sta"和"sto"命令,所以這兩個(gè)別名不會(huì)覆蓋系統(tǒng)命令。那么如何確定系統(tǒng)中沒(méi)有"sta"和"sto"命令呢?還記得 whereis 和 which 命令嗎?另外,使用 Tab 鍵命令補(bǔ)全功能也能夠確定是否有這兩個(gè)命令。
既然我們說(shuō)別名的優(yōu)先級(jí)比命令高,那么命令執(zhí)行時(shí)具體的順序是什么呢?命令執(zhí)行時(shí)的順序是這樣的:
第一順位執(zhí)行用絕對(duì)路徑或相對(duì)路徑執(zhí)行的命令。
第二順位執(zhí)行別名。
第三順位執(zhí)行 Bash 的內(nèi)部命令。
第四順位執(zhí)行按照 $PATH 環(huán)境變量定義的目錄査找的第一條命令。
別名就是這樣簡(jiǎn)單,不過(guò)如果我們使用命令定義別名,那么這個(gè)別名只是臨時(shí)生效,一旦注銷或重啟系統(tǒng),這個(gè)別名就馬上消失了。為了讓這個(gè)別名永久生效,可以把別名寫入環(huán)境變量配置文件 ~/.bashrc 中。命令如下:
[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
這樣,這些別名就可以永久生效了。那么,環(huán)境變量配置文件又是什么呢?所謂環(huán)境變量配置文件,顧名思義,就是用來(lái)定義我們的操作環(huán)境的,別名當(dāng)然也是操作環(huán)境,我們會(huì)在后續(xù)章節(jié)詳解介紹這個(gè)文件的作用。
設(shè)定好的別名可以刪除嗎?只要執(zhí)行 unalias命令 就可以方便地刪除別名,命令如下:
[root@localhost ~]# unalias vi
當(dāng)然,如果確定要?jiǎng)h除別名,則也要?jiǎng)h除環(huán)境變量配置文件中的相關(guān)項(xiàng)才可以。
看完上述內(nèi)容,你們掌握使用Shell alias給命令設(shè)置別名的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!