Linux系统的命令别名功能


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 
 

 
本文来自于胖鲨鱼网

相关内容

    暂无相关文章