为什么每个程序员都应该学习使用命令行

大学毕业以后我就成了一名JAVA程序员,在之后的很长一段时间里,我每天上班的流程基本都是一样的:

早上来到公司 -> 打开电脑(启动Windows) -> 打开Eclipse(我是一名JAVA程序员) -> 写一天代码(期间我通过IDE集成的Tomcat服务器来调试我的应用)-> 下班前通过Eclispe的插件把修改过的代码提交到SVN代码仓库中 ->下班回家.

在我的印象中,很少需要用命令行去完成什么工作的。这种情况一直持续了很久,以至于我下意识地认为任何软件工具都是应该有一个图形界面的。但最近几年这种情况发生了改变,几乎所有的工具软件都不约而同地变得更加简单而纯粹,它们精简了那些不必要的功能,不再一味追求大而全,而是更加注重用户的感受和使用效率。其中一些非常优秀的软件工具更是抛弃了图形界面,要求用户通过命令行直接进行操作。这一改变当然也对我的工作流程产生了影响,它变成了现在这个样子:

打开电脑,启动Mac操作系统 -> 打开Sublime和Eclipse -> 通过命令行输入三条命令 mongod;redis-server;grunt serve启动我的本地调试环境 ->开发->通过命令行git commit ;git push提交我一天的工作代码 -> 结束工作。

通过上面的对比,你应该已经能够发现命令行已经成为了现代程序员所必须具备的一项基础技能,而其原因最明显地体现在以下三个方面:

你可以更有效地控制你的操作系统

控制操作系统,这可能是学习命令行最直接的一个原因了。即使你不是一个程序员,也可以通过学习命令行,使你的工作效率得到显著的提升。比如:一些简单的命令能够帮助我们快速搜索或查看文件,而通过对那些简单命令进行组合,就可以完成更加复杂的任务。

以前,我要启动一套本地的开发环境,我总是需要手工地一个个去点击那些服务逐一启动Web服务器、数据库服务器、并打开IDE等等。这看起来每次只需要花2、3分钟时间,但这是每天都需要进行的操作,而且由于调试需要,一天里经常需要重复启动好几次。一个月下来我光花在启动环境上的时间就花去了2,3个小时。后来,我便学着写了一个Shell脚本,其实非常简单,就是按顺序去一个个掉用那些启动服务的命令,这样我每次只要点一下执行那个脚本,整个环境就自动启动好了。之后,我又进行了一些改进,让它能够根据我输入的参数执行不同的任务,这又进一步提升了我的工作效率,开发的心情也顿时好了许多。

有了这个小小的成功经历之后,我又写了好几个Shell脚本,将那些原来需要重复操作的工作都让脚本去完成了。正因为得到了这些好处,我也经常鼓励身边的程序员们去编写自动化脚本,让他们从重复性的工作中解脱出来。

你需要用Git来做版本控制

Git已经成为最被推荐的版本控制工具。几乎所有的开源软件都使用Git来做版本控制,即使是那些大型软件企业也在越来越多地使用Git。因此,作为程序员,你必须掌握Git。

但Git最早是用来维护Linux内核代码的,它的所有操作也都是基于命令行的。虽然GitHub也提供了Mac和Windows上的客户端,但它们的使用效率完全无法跟直接用命令行相比。而且,我想告诉你,如果你参与过开源项目的话,你会发现几乎没有程序员喜欢使用客户端,他们都能够非常熟练地使用命令行进行操作。

不过,Git确实有些难于掌握,特别是它独特的分支操作。你可以通过一些在线教程来进行学习,关于命令行,你也可以参考我之前写的【简明教程】Git 来熟悉那些命令的用法。

另一个好的办法是通过实践掌握这些命令,这里我推荐Try Git这个网站,你能在这里根据它的教程练习Git命令,15分钟内,你就能够掌握那些最常用的基本命令了。

前端开发依赖于命令行工具

前端因为它最贴近用户,因此在这个比以往任何时候都更重视用户体验的时代,正变得越来越重要。而针对前端的优秀工具也如雨后春笋般层出不穷。以前我们做前端时,如果需要用到依赖的第三方库,总是需要到相应的网站上去下载,然后引入到自己的工程里。而现在这一切都有相应的工具或库帮你完成。

  • 你可以使用NPM (Node Package Manager) 来安装几乎所有的前端第三方工具或开源库
  • 你可以使用SASS,LESS这样的预处理工具,来大大减轻CSS编写的难度,并使代码更加易于维护
  • 你还可以使用GRUNT,GULP这样基于任务的处理工具,来进行从代码、测试到部署的整套自动化流程。
  • 还有其他很多优秀的工具或库如Jade,CoffeeScript,Express.js,它们都能在某个领域为你提供极大的帮助。

但以上这些工具,都需要通过命令行来进行安装,因此,如果你想成为一名前端工程师的话,你也必须学习命令行

既然学习命令行对于程序员来说那么重要,我们又应该如何学习呢?

其实,我们大多数人排斥使用命令行是因为我们对使用命令行没有信心,认为很难像电影里那些黑客那样非常熟练地使用命令行。而当我们尝试去学习时,也总是会看到包含大量命令说明的书籍或教程,一下子我们可能就畏惧了。其实,对于初学者来说,你根本不需要去看那些书,因为它们大部分是为系统管理员写的。而对于一个普通程序员,你只需要从熟悉那些最常用的基本命令开始,比如 ls,cd,pwd,cp等(我在网上找到一篇不错的博客:linux常用基本命令),并尝试反复使用它,当你习惯并适应使用这些命令以后,便可以更进一步,尝试写一些自动化脚本来帮助你完成一些工作。相信我,到那个时候,你一定会喜欢上命令行,而且会并被大家认为是一个高手的。当然,如果你已经是一个命令行达人了,也不妨在评论中分享你的使用心得哦 _


技匠,以上内容欢迎大家分享到朋友圈/微博等。如需转载,请通过简信联系授权。谢谢大家!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,569评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,100评论 18 139
  • 本片内容转自CSDN http://blog.csdn.net/ithomer/article/details/7...
    五娃儿阅读 4,832评论 2 88
  • 《欢乐颂》又又又上了热搜!从开播到现在,每一集都是个巨大的话题库。这次应勤请五美吃饭,曲筱绡一句玩笑话让应勤知道邱...
    沐森读书阅读 387评论 0 0
  • 石材横跨了几个世纪,因石材的美观、耐用、耐寒的性能,在建筑与辅助设施中的运用中至今风韵犹存,在潜意识里,我...
    草民0809阅读 507评论 2 3