alias命令詳情

2022-03-21 22:17:24 字數 2554 閱讀 4953

基礎命令學習目錄首頁

給命令設定別名,你可以把它當作命令的"小名",但是這樣做有什麼意義呢?

比如筆者剛接觸 linux 時,使用的編輯器是 vi,但是現在 vim 的功能明顯比 vi 的功能更加強大,所以現在流行的編輯器變成了 vim。但是筆者已經習慣了輸入 vi 命令,而不習慣輸入 vim 命令,別看小小的乙個"m"的區別,在執行命令時總覺得彆扭,這時別名就可以起作用了。只要定義 vim 命令的別名為 vi,這樣以後執行的 vi 命令實際上執行了的是 vim 命令。

命令格式:

[root@localhost ~]# alias

#查詢命令別名

[root@1ocalhost ~] # alias 別名='原命令'

#設定命令別名

例如:[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 命令就不能使用了。所以,除非你確定原命令是不需要的,否則別名不能和系統命令重名。再舉個例子:

[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 鍵命令補全功能也能夠確定是否有這兩個命令。

既然我們說別名的優先順序比命令高,那麼命令執行時具體的順序是什麼呢?命令執行時的順序是這樣的:

第一順位執行用絕對路徑或相對路徑執行的命令。

第二順位執行別名。

第三順位執行 bash 的內部命令。

第四順位執行按照 $path 環境變數定義的目錄查詢的第一條命令。

別名就是這樣簡單,不過如果我們使用命令定義別名,那麼這個別名只是臨時生效,一旦登出或重啟系統,這個別名就馬上消失了。為了讓這個別名永久生效,可以把別名寫入環境變數配置檔案 ~/.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這樣,這些別名就可以永久生效了。那麼,環境變數配置檔案又是什麼呢?所謂環境變數配置檔案,顧名思義,就是用來定義我們的操作環境的,別名當然也是操作環境,我們會在後續章節詳解介紹這個檔案的作用。

設定好的別名可以刪除嗎?只要執行 unalias命令 就可以方便地刪除別名,命令如下:

[root@localhost ~]# unalias vi

當然,如果確定要刪除別名,則也要刪除環境變數配置檔案中的相關項才可以。

alias命令別名

筆者在看 鳥哥私房菜 時,突然看到這個命令,之前未接觸過,故簡單記錄學習下,具體的大家可參見man手冊。功能說明 設定指令的別名。語 法 alias 別名 指令名稱 參 數 若不加任何引數,則列出目前所有的別名設定。舉 例 ermao lost desktop alias alias egrep e...

iptables命令詳情

iptables語法 iptables i a d 進 出 p 傳輸協議 s 源ip d 目的ip dport 埠號 i 入站網絡卡 o 出站網絡卡 j 控制型別 介紹 i 指定新增規則 a 末尾新增規則 d 刪除規則 進 input 出 output 傳輸協議 tcp udp icmp 控制型別 ...

Linux命令詳情

例子 ls aldhi 目錄 選項說明 a 顯示所有檔案,包括隱藏檔案 l 顯示檔案詳細資訊 d 檢視目錄屬性資訊,不看目錄下檔案的資訊 h 人性化檢視 i i節點補充說明 常見的檔案型別 rw r r drw r r lrw r r 檔案 d 目錄 l 軟鏈結檔案例子 mkdir tmp guan...