命令的选项参数太复杂记不住?使用 alias 给命令定义别名

俺在之前发了tree的平替,它不是超级长嘛,这不有位超级无敌帅气的大善人告诉我用alias设置个别名就好啦,这不来交作业了!

首先alias是什么呢?

alias命令用于设置命令的别名,也可以是命令带选项参数,利用它我们就可以不必记住太多复杂的选项参数,只需将它们设置成别名就好啦!

若仅输入alias,则可列出目前所有的别名设置。

语法:alias [别名]=[指令名称]

理论存在,实践开始!

首先,
准备好定义别名的命令,咱这里就以tree为例,详见这里

alias treee="find . -print | sed -e 's;[^/]*/;|**;g;s;**|; |;g'"

要注意的是:

  • alias的效力仅及于该次登入的操作。若要每次登入即自动设好别名,可在/etc/profile或自己的~/.bashrc中设定命令的别名。
  • 等号(=)前后不能有空格,否则就会出现语法错误了。
  • 如果 value 中有空格或 Tab,那 value 一定要用引号(单、双引号都行)括起来。

输入这行你会发现,


赏心悦目!

爽耶!

不过现在这样只是暂时的,就像是一盘散沙,风一吹就散了。
如果系统重启,那我们刚刚设置的别名就失效啦!
所以我们为了方便使用,让它永久有效,就需要把它写到.bashrc文件里面。
然后就 always and forever 啦!

小tips

  1. 别设太多,忘了就哭唧唧叭,不过也可以通过直接输入alias命令,不加任何选项和参数,查看所有已设置的别名

    $ alias 
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias grep='grep --color=auto'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias perlll='eval `perl -Mlocal::lib`'
    alias treee='find . -print | sed -e '\''s;[^/]*/;|;g;s;|; |;g'\'''
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    
  2. 如果只想查看一个单独命令是否设置了别名,那就用alias命令加参数;

    $ alias ls
    alias ls='ls --color=auto'
    
  3. 如何删除一个别名呢?可以使用unalias命令;

    我不想演示这个嘿嘿嘿
    
  4. 如果想删除所有别名,直接使用unalias命令的-a选项即可,谨慎使用!

    我很谨慎,所以我不演示!
    
  5. 如何执行命令本身而非别名?

    如果定义的别名恰好和某个命令重名了,那就好惨嗷,Shell 中执行的将永远都是别名。那么,如果想执行真正的那个命令而非别名,该怎么办呢?

    1. 使用命令的绝对路径;
    2. 切换到命令所在的目录,执行./command;
    3. 在命令前使用反斜线(\)。

祝我早日脱菜!

你可能感兴趣的:(命令的选项参数太复杂记不住?使用 alias 给命令定义别名)