基础命令学习目录首页html
原文连接:http://c.biancheng.net/view/938.htmllinux
给命令设置别名,你能够把它看成命令的"小名",可是这样作有什么意义呢?
好比笔者刚接触 Linux 时,使用的编辑器是 Vi,可是如今 Vim 的功能明显比 Vi 的功能更增强大,因此如今流行的编辑器变成了 Vim。可是笔者已经习惯了输入 vi 命令,而不习惯输入 vim 命令,别看小小的一个"m"的区别,在执行命令时总以为别扭,这时别名就能够起做用了。只要定义 vim 命令的别名为 vi,这样之后执行的 vi 命令实际上运行了的是 vim 命令。
命令格式:apache
[root@localhost ~]# alias
#查询命令别名
[root@1ocalhost ~] # alias 别名='原命令'
#设定命令别名vim
例如:bash
[root@localhost ~]# alias
#查询系统中已经定义好的别名
alias cp='cp -i'
alias l='ls -d .* --color=auto'
alias ll='ls -1 --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost ~]# alias vi='vim' #定义vim命令的别名是vi
[root@localhost ~]# alias
#从新查询别名
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -1 --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias vi='vim'
#别名已经生效
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'编辑器
你们须要注意一点,命令别名的优先级要高于命令自己。因此,一旦给 vim 命令设置了别名 vi,那么原始的 vi 命令就不能使用了。因此,除非你肯定原命令是不须要的,不然别名不能和系统命令重名。再举个例子:post
[root@localhost ~]# alias sto='/usr/local/apache2/bin/apachectl stop'
[root@localhost ~]# alias sta='/usr/local/apache2/bin/ apachectl start'学习
咱们在配置和使用 apache 时,须要不断地重启 apache 服务。这时定义"sta"为 apache 启动命令的别名,"sto"为 apache 中止命令的别名,能够有效地加快 apache 服务的重启速度。
固然,前提是已经肯定了系统中没有"sta"和"sto"命令,因此这两个别名不会覆盖系统命令。那么如何肯定系统中没有"sta"和"sto"命令呢?还记得 whereis 和 which 命令吗?另外,使用 Tab 键命令补全功能也可以肯定是否有这两个命令。
既然咱们说别名的优先级比命令高,那么命令执行时具体的顺序是什么呢?命令执行时的顺序是这样的:url
别名就是这样简单,不过若是咱们使用命令定义别名,那么这个别名只是临时生效,一旦注销或重启系统,这个别名就立刻消失了。为了让这个别名永久生效,能够把别名写入环境变量配置文件 ~/.bashrc 中。命令以下:.net
[root@localhost ~】# vi /root/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi='vim'
alias sto='/usr/local/apache2/bin/apachectl stop' alias sta='/usr/local/apache2/bin/apachectl start'
#Source global definitions
if [ -f /etc/bashrc ];then
./etc/bashrc
fi
这样,这些别名就能够永久生效了。那么,环境变量配置文件又是什么呢?所谓环境变量配置文件,顾名思义,就是用来定义咱们的操做环境的,别名固然也是操做环境,咱们会在后续章节详解介绍这个文件的做用。
设定好的别名能够删除吗?只要执行 unalias命令 就能够方便地删除别名,命令以下:
[root@localhost ~]# unalias vi
固然,若是肯定要删除别名,则也要删除环境变量配置文件中的相关项才能够。