命令的选项参数太复杂记不住?使用 alias 给命令定义别名
俺在之前发了 tree
的平替,它不是超级长嘛,这不有位超级无敌帅气的大善人告诉我用alias
设置个别名就好啦,这不来交作业了!
首先 alias
是什么呢?
alias 命令用于设置命令的别名,也可以是命令带选项参数,利用它我们就可以不必记住太多复杂的选项参数,只需将它们设置成别名就好啦!
若仅输入 alias,则可列出目前所有的别名设置。
语法:
alias [别名]=[指令名称]
理论存在,实践开始!
首先,
准备好定义别名的命令,咱这里就以 tree 为例,详见这里!

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

爽耶!
不过现在这样只是暂时的,就像是一盘散沙,风一吹就散了。
如果系统重启,那我们刚刚设置的别名就失效啦!
所以我们为了方便使用,让它永久有效,就需要把它写到.bashrc
文件里面。
然后就 always and forever 啦!
小tips
1. 别设太多,忘了就哭唧唧叭,不过也可以通过直接输入 alias
命令,不加任何选项和参数,查看所有已设置的别名;
2. 如果只想查看一个单独命令是否设置了别名,那就用 alias
命令加参数;
3. 如何删除一个别名呢?可以使用 unalias
命令;
4. 如果想删除所有别名,直接使用 unalias
命令的 -a
选项即可,谨慎使用!
5. 如何执行命令本身而非别名?
如果定义的别名恰好和某个命令重名了,那就好惨嗷,Shell 中执行的将永远都是别名。那么,如果想执行真正的那个命令而非别名,该怎么办呢?
使用命令的绝对路径;
切换到命令所在的目录,执行 ./command;
在命令前使用反斜线(\)。
祝我早日脱菜!