Linux系统的命令别名功能
来源:岁月联盟
时间:2012-05-31
# 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
本文来自于胖鲨鱼网