等等我还想学 CLI —— 微进阶的 CLI

window terminal

图片来源:我的 Windows terminal(imgur)

# 前言

(因为工作太忙,拖稿中)

大家安安,时间好快啊!已经 11 月底了,再一个月,今年又要过完了!

Lidemy 第五期的求职期到 12/12,也要来到最后的句点了。不少人应该也在工作了吧。

笔者的新工作也刚上线,前身是设计公司,主要产品是 3D/VR。之前的案子确实是外包,最近在招自己的前端团队,应该也算是创新(?)

所以整个前端的发展都还没有一个流程。主管前端技术其实也懂的不深(在几次的问答中发现),但他也知道(因为他以前都是做 3D 建模的)。所以说有问题都可以问同事,有一位前端的同事很厉害,所以目前有问题都会跟他讨论。这边的人都还不错,非常热心。

累的地方当然也是有,因为前端的部门刚开始,所以资源比较少,也没什么旧的案子可以看,案子都是近期的。框架一下 react、一下 vue 的,里面乱到不行。例如 styles 里面同时有 .css.scss.sass 档(一般是不会这样写吧?)。但之后确定是用 vue / pug / sass 跟 babylon.js(WebGL 3D 框架),后端是 php 搭配 laravel 框架。

因为是接案公司,所以也要比较快上手。他只给我一个礼拜的适应期,之后就丢一个项目过来了。这一个礼拜我要学公司的流程、Vue、babylon.js。还好我之前有先看一下 Vue,但还是有自主加班多留下来学一点,因为同事也都有留下,有一点责任制的概念 XD。

这样好吗?我觉得是好的。身为 junior 能多学就多学,不要太在意薪水(但也不要太夸张就好)。你能解决的问题越多、价值也就越高。等你待个一、两年,能力有了,自然会有人找上门挖角,这时候你就知道是谁吃亏了(X),所以眼光要放长远啦 XDD。

不说了,我假日还在看公司的文件,要继续去颠覆公司了(?)

以下正题。

# 师父领进门

一开始,会接触 CLI(Command-Line interface)应该是在 Lidemy 中,最初的 week1。当中老师简单地介绍了 CLI 的操作——原来只用键盘就可以做这么多事!我对此深深著迷,因为离 心中想像中的黑客 又更接近了。你说有点中二(?)我敢说你小时候一定也想象过。但有时候就是这种微不足道的小动力反而一直推着你前进。

但是没有师父领进门,你也不会自己去研究这些东西。没有国文老师还会自己去学数学、没有数学老师还会自己去学公民,隔行如隔山啊。如果你想惹毛学校的老师,照我上面的去问看看,一定会被老师打。

我很幸运,刚好也喜欢 CLI 操作又有师父带领,所以稍微理解 CLI 的一些指令。下面也会介绍一下我认识的 CLI。当然如果有懂比较多的朋友,也可以交流一下,我会很开心的:D。

一开始接触的就是下面这门课,其实看试看的就很够了。

延伸学习:Command Line 超新手入门 | Lidemy

# 先求能用就好

工作上其实用鼠标就可以做到很多事了,但有时候非 CLI 不可的时候,你就会觉得「书到用时方恨少」。例如:需要远端操作主机的时候(好吧,纯前端工程师可能真的不太会用到)。

总之先来看看基础的指令吧!

这几个指令会非常非常常用到,所以一定要记下来。但依笔者的学习过程,我认为:先掌握基本的指令就好,然后再慢慢增加指令,是最有效率的学习法!

例如:一次教你一堆指令,不用一个礼拜,两天后你就全忘光了。那不如就先记几个常用的吧。我觉得这也是老师故意的安排,只带我们认识几个常用的,而且在第一周就交了,为的就是让我们提早熟悉 CLI,因为之后会大量用到,越早熟悉越好!

最最最常用的应该就是 ls 了。刚学习时,一进来文件夹就先 ls 看一下有什么内容,cd 后再 ls 一下,没事就 ls 一下,渐渐地就记下来了!

还有一个不错用的指令:whoami。在自己电脑上使用可能无感,但如果是公司的电脑、有很多使用者的话,这个指令可以查看当前的使用者是谁。简单说就是让你的电脑知道「他爸是谁」。一不开心就问电脑 whoami,它永远不会反抗你!

很多指令都是有意义的。看完上面的 whoami,是不是不用特别记,你下次就记得了,是吧?

# 修行在个人

再来之后会用到 CLI 的地方大概就是项目了吧,很多文件也都会写一点基本的用法。

例如:

# 開啟專案
npm run start

# 開發專案
npm run watch

...

其实这些都算 CLI 的指令,甚至各个工具、框架也都有自己的 CLI,如:vue-cligit-bashdocker-climysql-cli……等。

你说这么多都要学也太累了吧!好在除了特别的功能不一样,大多通用的功能指令都是一样的,如上面的:ls、cd、pwd、touch 等等。

另外这几个也是开发中非常好用的指令:

# 微进阶的 CLI

以上的基本的部分都熟悉了,就可以寻找自己喜欢的指令,然后慢慢扩充它。很像玩游戏练技能的感觉,哇今天又多学了一个指令,感觉像是多学了一个技能,这样才能一直往前,不会固定在这边。

再来我要分享几个好用(但还是因人而异啦 XD)指令,也是我边东看看西看看学来的。

另外下面这两个都可以拆好多好多好多好多文章讲了,要深可以深到马里亚纳海沟了……

但笔者也非常喜欢这两个指令呢!它们底下分别又多了很多的指令。目前也是使用 VScode 搭配 vim 插件在开发。水真的深,但使用熟悉了,长期下来开发效率会提升很多的(而且还很潮?)

如果也有兴趣的朋友也可以 google 一下这两个关键字,应该也是很多资源,只是都很催眠就是了。例如:git 只会 pull/push 的话真的很可惜,还有很多强大的功能;vim 的话,可能只有会用的人才知道它的好。

延伸学习:Git - document
延伸学习:Vim - document

# 总结

以上稍微简单地介绍了一些 CLI。当然这水还很深,等著你我去探索。虽然我也还只是个小小的 junior,但我认为熟悉 CLI 是前往 senior 的门票之一。除了效率之外,CLI 也是跨入后端的必备技能,所以当然不能只停留在这里!

但这边多指令又该先学哪个呢?我觉得开心就好!

为什么要学这个?因为我开心、我喜欢这个。比起盲目地去学一堆,我认为无压力地去学一个 whoami 指令开心多了,你说是吧?

# Ref

免责声明

以上均为笔者自身经验,难免掺杂主观意见,仅供读者参考,也欢迎分享经验交流。
如果有错误的地方还请大佬们指正,笔者会立刻修改。再次感谢大家!

Creative Commons License

本著作采用 创用 CC 姓名标示 4.0 国际授权条款 授权。您可以在 benben.me 找到我。

This work is licensed under a Creative Commons Attribution 4.0 International License. You can find me at benben.me


关于烘焙师

我是 Benben,主要是前端工程师。沉迷于理性的冷知识,也着迷于感性的人事物。写程序 / 写文字,是为了不让自己停止成长。

分享文章