linux命令别名


早期的DOS,清除屏幕上的信息可以使用cls,在Linux下则是使用clear来清除画面。 那么可否让cls等于clear呢?除了可以建立clear的软连接文件cls外,还可以通过命令别名(alias)来实现。

1.alias命令

回到顶部

alias显示和设置命令别名。 我们通过type ls发现,ls是一条命令别名,真正的命令其实是'ls --color=auto',也即是说执行ls就相当于执行'ls --color=auto'命令。 可通过alias命令查看系统中所有的命令别名,直接在命令行输入alias或者alias -p即可列出系统中所有已定义的命令别名。:

              root@peter-VirtualBox:~# alias
              alias egrep='egrep --color=auto'
              alias fgrep='fgrep --color=auto'
              alias grep='grep --color=auto'
              alias l='ls -CF'
              alias la='ls -A'
              alias ll='ls -alF'
              alias ls='ls --color=auto'
            
alias命令用来设置指令的别名。我们可以使用该命令将一些较长的命令进行简化。 alias命令不仅可以显示系统中已经定义的命令别名,也可以通过alias定义命令别名,例如下面将'rm -i'命令的别名定义为rm。 这样我们在运行rm命令的时候,实际上是在运行rm -i,这样rm可以给我们提示确认是否要删除文件,以防止误删除:
              root@peter-VirtualBox:~# alias rm='rm -i'
            
alias aliasNAME='commandstr'
alias 别名='命令 选项...'
将commandstr设置为别名aliasNAME,alias 的定义规则与变量定义规则几乎相同。使用alias时,用户必须使用单引号'将原来的命令引起来,防止特殊字符导致错误。
命令别名与变量有什么不同呢?命令别名是新创一个新的命令, 可以直接执行该命令,而变量需要使用类似echo命令才能够输出变量的内容! 这两者是不一样的!
Usage:
alias [-p] [name[=value] ... ]
定义或显示命令别名
如果不加任何参数,alias以'alias NAME=VALUE'的形式在标准输出打印别名列表, 否则,alias就会给VALUE定义一个别名NAME,VALUE的别名就是NAME
一条alias命令可以定义多个命令别名,每个命令别名定义之间用空格隔开
Options:
-p
-p参数用来打印所有已定义的命令别名,和不加任何参数的alias执行结果一样
Exit Status:
alias returns true unless a NAME is supplied for which no alias has been defined.

2.unalias命令

回到顶部

unalias取消命令别名。 使用unalias NAME可以取消已定义的命令别名:

              initroot@initroot:~$ unalias rm
            

alias命令的作用只局限于该次登录的操作。若要每次登录都能够使用这些命令别名,则需要将相应的alias命令存放到bash的初始化文件/etc/bashrc中。

将ls -al | more命名为lm:

              [peter@study ~]$ alias lm='ls -al | more'
            
这样在命令行下执行lm就相当于执行ls -al | more,命令别名可以很好的简化复杂命令。
root可以移除(rm)任何数据!所以当你以root身份在进行工作时,需要特别小心, 但是总有失手的时候, rm提供了一个-i选项来让我们确认是否要移除该文件,所以可以这样做:
              [peter@study ~]$ alias rm='rm -i'
            
那么以后使用 rm 的时候,就不用太担心会有错误删除的情况了!这也是命令别名的优点
vi 与 vim是不太一样的,vim 可以多作一些额外的语法检验与颜色显示。一般用户会有 vi=vim 的命令别名, 但是 root 则是单纯使用 vi 而已。 如果你想要使用 vi 就直接以 vim 来开启文件的话,使用 alias vi='vim' 这个设定即可。
使用unalias取消命令别名,要取消lm:
              [peter@study ~]$ unalias lm
            
DOS下清除屏幕使用cls,linux下使用clear,dos使用dir列出目录与文件,而linux下为ls。使用命令别名将clear和ls分别命名为cls和dir:
              [peter@study ~]$ alias cls='clear'
              [peter@study ~]$ alias dir='ls -l'
            

initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读