最近搞一個Django站點,需要經常進入/var/www/site/mycitsm/這個目錄,每次都得重復的輸入這一長串路徑進入該目錄,顯得麻煩而費時,有沒有一種好的方式可以將“cd /var/www/site/mycitsm”這樣一個命令取一個別名,每次只需輸入該別名就可以進入該目錄呢?
很慶幸,Linux系統提供了一個有用的工具叫alias,可以讓我們將一些需要頻繁使用的但又過於冗長的命令設置一個別名,這樣一來,以後只需輸入一個簡短的別名就可以達到同樣的作用。
用法:alias [-p] [name[=value] ... ] 注意‘=’和字符串之間不能包含空格
顯示當前設置的別名:
shell>alias -p
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
或者直接輸入:
shell>alias -p
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
若只想顯示某個別名代表的含義可輸入alias name,比如:
shell>alias ll
alias ll='ls -l --color=tty'
若想為某個命令設置別名可輸入 alias 新命令='原命令 選項/參數',比如:
shell>alias site='cd /var/www/site/mycitsm/'
若想取消某個別名可輸入unalias name,比如
shell>unalias site
但是,上述設置方法存在一個問題,也即設置的命令別名只針對當前回話有效,一旦連接斷開並重連之前設置的別名別不在有效。
可以通過將設置別名的命令寫進啟動文件使別名持久生效。大多數Linux發行版使用下述三個啟動文件中的一個:
$HOME/.bash_profile
$HOME/.bash_login
$HOME/.profile
可將設置別名的命令寫進啟動文件內,這樣,每次連入系統的時候別名都會生效。若想在命令寫入啟動文件後立即生效記得執行source命令,比如:
source $HOME/.bash_profile
通過上述方式設置命令別名解決了命令別名只針對回話生效的問題,但是,寫進每個用戶特定的主目錄下的啟動文件中的命令別名只針對該用戶有效。對其他用戶沒有什麼效果,這通常也是正常情況下期望看到的情況。但如果確實像使設置的別名對任意用戶有效則可將設置別名的命令寫進全局啟動文件中,如/etc/profile。