Linux系統的命令別名功能(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/目錄中(系統別名目錄),使用以下方式可以檢視: #進入目錄/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