1. 程式人生 > >Linux系統的命令別名功能

Linux系統的命令別名功能

結果 命令使用 dev gnome 當前 then linux系統 works 可能

在管理和維護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/目錄中(系統別名目錄),使用以下方式可以查看:

#進入目錄/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

source ~/.bash_profile 最後,退出並重新登陸以使定義生效。

Linux系統的命令別名功能