Linux系統的命令別名功能 命令別名功能在管理和維護Linux系統的過程中,將會使用到大量命令,有一些很長的命令或用法經常被用到,重複而頻繁地輸入某個很長命令或用法是不可取的。這時可以使用命令別名功能將這個過程簡單化。1.系統定義的別名通常情況下,系統中已經定義了一些命令別名,要查看已經定義的命令別名,可以使用alias命令:#alias命令將輸出所有已經定義的命令別名
# alias alias cp='cp -i' alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
從上面的結果中可以看出,當我們使用命令cp(複製檔案命令)時,系統會用cp -i代替命令中的cp。除此之外,還定義了ls命令及其使用的顏色、移動檔案命令mv、刪除命令rm等。用於設定系統別名的相關檔案儲存在/etc/profile.d/目錄中(系統別名目錄),使用以下方式可以查看: www.2cto.com #進入目錄/etc/profile.d/ # cd /etc/profile.d/ #查看目錄中的檔案 # ls colorls.csh glib2.sh krb5-workstation.csh lang.sh vim.csh colorls.sh gnome-ssh-askpass.csh krb5-workstation.sh less.csh vim.sh glib2.csh gnome-ssh-askpass.sh lang.csh less.sh which-2.sh #查看檔案less.csh的內容 # cat less.csh #以下為less.csh的內容,其中定義了ls命令使用的顏色等別名 # less initialization script (csh) if ( -x /usr/bin/lesspipe.sh ) then setenv LESSOPEN "|/usr/bin/lesspipe.sh %s" endif # cat colorls.sh # color-ls initialization alias ll='ls -l' 2>/dev/null alias l.='ls -d .*' 2>/dev/null ...... 2.使用者自訂別名許多時候管理員都會按自己的使用習慣定義命令別名。例如讓查看當前檔案內容的命令相容DOS中的查看文本命令type:#為cat命令定義一個別名type # alias type='cat' #使用type命令查看檔案alias.txt的內容 # type alias.txt 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' 上面的命令中,先為cat命令定義了一個名為type的別名。當使用者使用命令type時,系統會自動使用cat命令將其替代。 www.2cto.com
3.取消定義的別名要取消已經定義好的命令別名,可以對別名使用unalias命令:# unalias type # type alias.txt -bash:type: command not found 4.儲存別名設定當系統重新啟動或使用者重新登入時,使用alias命令定義的別名將會丟失。可以在系統別名目錄中添加別名設定檔,但這種方式定義的別名對所有的使用者都生效,通常不建議使用這種方法。如果要定義全域別名,通常建議將命令添加到全域設定檔/etc/profile中。例如定義全域別名:# echo "alias type='cat'">>/etc/profile 這條命令將alias pg='cat'添加到檔案/etc/profile中。注意:在對/etc/profile這樣的系統設定檔進行操作時,一定要謹慎,否則有可能會損壞系統。因此上面的命令中使用的是">>"而不是">",">>"表示將內容追加到檔案結尾。如果某個使用者想要定義自己的命令別名,可以將命令添加到使用者家目錄中的檔案.bash_profile中。例如要定義使用者自己的別名:# echo "alias vi='vim'">>~/.bash_profile
本文來自於胖鯊魚網