Shellalias怎么給命令設(shè)置別名的方法-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“Shell alias怎么給命令設(shè)置別名的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Shell alias怎么給命令設(shè)置別名的方法”吧!

創(chuàng)新互聯(lián)長期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為中寧企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè),中寧網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

給命令設(shè)置別名,你可以把它當(dāng)作命令的"小名",但是這樣做有什么意義呢?

比如筆者剛接觸 Linux 時(shí),使用的編輯器是 Vi,但是現(xiàn)在 Vim 的功能明顯比 Vi 的功能更加強(qiáng)大,所以現(xiàn)在流行的編輯器變成了 Vim。但是筆者已經(jīng)習(xí)慣了輸入 vi 命令,而不習(xí)慣輸入 vim 命令,別看小小的一個(gè)"m"的區(qū)別,在執(zhí)行命令時(shí)總覺得別扭,這時(shí)別名就可以起作用了。只要定義 vim 命令的別名為 vi,這樣以后執(zhí)行的 vi 命令實(shí)際上運(yùn)行了的是 vim 命令。

命令格式:


[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)中沒有"sta"和"sto"命令,所以這兩個(gè)別名不會(huì)覆蓋系統(tǒng)命令。那么如何確定系統(tǒng)中沒有"sta"和"sto"命令呢?還記得 whereis 和 which 命令嗎?另外,使用 Tab 鍵命令補(bǔ)全功能也能夠確定是否有這兩個(gè)命令。

既然我們說別名的優(yōu)先級(jí)比命令高,那么命令執(zhí)行時(shí)具體的順序是什么呢?命令執(zhí)行時(shí)的順序是這樣的:
第一順位執(zhí)行用絕對(duì)路徑或相對(duì)路徑執(zhí)行的命令。
第二順位執(zhí)行別名。
第三順位執(zhí)行 Bash 的內(nèi)部命令。
第四順位執(zhí)行按照 $PATH 環(huán)境變量定義的目錄査找的第一條命令。

別名就是這樣簡單,不過如果我們使用命令定義別名,那么這個(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)境變量配置文件,顧名思義,就是用來定義我們的操作環(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)才可以。

到此,相信大家對(duì)“Shell alias怎么給命令設(shè)置別名的方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享名稱:Shellalias怎么給命令設(shè)置別名的方法-創(chuàng)新互聯(lián)
分享地址:http://www.muchs.cn/article12/ceoogc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站維護(hù)、動(dòng)態(tài)網(wǎng)站、全網(wǎng)營銷推廣、定制開發(fā)小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司