Background
最近接触到了Linux系统,在学习的过程中有一个命令别名我感觉特别有意思。于是我照着教程编写了我自己的命令alias zzm=‘echo “wlz, I love u”’,然后马上拉着给我女朋友看,她先是聚精会神地看着那几行代码,然后看懂了之后就娇羞地笑了,四目相对,我们都异常兴奋。
可是第二天我继续学习Linux的时候,我先在命令行输入了zzm,可是发现却提示我没有这一条命令了,原来,爱会消失的对吗呜呜呜。。
不,我怎么可能让爱这么不清不楚地就消失了呢!老子不服!
于是,我开始查阅资料并思考如何让自定义的别名命令永久保存,网上有些方法,但是Linux不同的发行版本有一些差异,有些方法不适用。我的虚拟机是Ubuntu18.04TLS的。
本来想着今天再把Linux的书看几章,结果半天全都去钻研这个去了。不过我一点都不后悔花这些时间去钻研一个小问题。因为这是对爱的守护,同时,学习/研究其实也就是这种发现各种小小的问题,然后自我探索的一个过程。
废话不多说,我开始讲我在Ubuntu18.04TLS上是如何解决的吧。
Solution
首先将当前工作目录调整到 /home/自己的用户/
cd /home/zzmine
然后,搜索.bashrc文件(由于是以.开头的文件,需要用-a选项来显示)
ls -a -l | grep .bashrc
确定有这个文件后,打开它!
less .bashrc
往下翻,你会看到一句话
You may want to put all your additions into a separate file like
~/.bash_aliases, instead of adding them here directly.
这个意思就是,你可以自己定义一个单独的文件 .bash_aliases来存储自己定义的命令,而不是直接添加到.bashrc文件中。那我们就自己在当前工作目录 /home/zzmine 里写一个.bash_aliases 文件吧。
vim .bash_aliases
alias zzm='echo "wlz,I love u"'
然后保存,退出,最后重新执行.bashrc文件使其生效
source .bashrc
接着,重启,直接输入之前定义的命令,发现已可以了!
Extension
其实,自定义命令的用处远远不止花哨地秀恩爱这么简单。可以将多条命令组合,然后赋予别名来简化未来的工作。比如,可以将第一次推送到github的命令设置为:
alias gpush = 'git add .; git commit -m "first commit"; git push -u origin master'
最后,如果读者对文章有疑问或其他想法,欢迎交流!