linux运维需要掌握的技能有哪些方面(谈谈Linux运维人员是否需要掌握一门编程语言)
最近经常有同行的朋友或者Linux初学者问我:
运维人员是否需要学一门语言 ,那么该学哪种语言呢?
对于这个问题 ,我分两个方面回答:
首选 ,在大数据 、云计算发展迅猛的今天 ,系统运维人员如果不懂一点开发语言的话 ,确实会举步维艰 ,因为在运维工作中 ,业务系统的繁多 ,线上服务器规 模很大时 ,只能通过写脚本的方式(自动化也是脚本一种哦)自动化完成,不然 ,如此重复和繁琐的工作 ,靠人力是无法负担的,所以 ,学习一门可以让运维工作批 量完成的语言 ,就显得很重要了 。
那么应该学习一门什么语言呢?
对于Linux系统运维人员来说,答案就比较复杂 ,因为有很多的选择 。shell 、perl 、python 、ruby等等 。
我认为 ,每一个Linux系统运维人员都应该知道Linux外壳程序(sh或bash) ,另外还要知道Perl 、Ruby或Python当中的某一门语言 。至于学哪一门语言 ,并不重要 。
在我看来 ,任何语言都是为运维工作服务的 ,只要能完成运维工作 ,你喜欢哪种语言 ,那么你就用哪种语言吧 ,当然,对于初学者会有一些不同的选择 ,如果 你是初学者 ,推荐当下比较流行或者企业应用比较多的语言来学的话,对以后的工作会有很大帮助 ,毕竟没有哪个公司愿意接受一种陌生的语言 。
那么 ,是否初学者一开始就要马上学习一门运维语言呢,我觉得这个为时过早了 ,因为任何语言 ,特别是shell 、python等这些语言 ,与 Linux联系很紧密 ,如果对Linux一无所知的时候 ,就茫然的去学语言 ,那无异于盲人摸象 ,所以我建议 ,学习系统语言 ,一定要有Linux基础后再去 学习,你会发现 ,语言也变得容易多了 。
shell作为一门通用的系统语言 ,是所有运维人员都必须要了解和掌握的,通过shell能帮助我们解决日常工作中很多重复 、繁琐的工作 ,但是 shell的基础就是系统命令 ,因此,只有掌握了系统命令的原理和使用方法 ,shell才能运行起来 ,我见过很多学Linux的朋友 ,他们也接触运维多 年 ,但是对于如何执行for循环 、while循环 、if with [[或[、$1 、$2 、$3… $*和 $@ 以及case语句的使用都不会 ,他们迟早会为没有尽早学习bash而自责不已 。
那么又有人问我 ,我对shell已经非常熟悉了 ,但还是找不到工作 ,很多单位都要求会python或ruby等语言 ,我是否还要学这些语言呢?
这个问题分为两个方面,首先从员工角度来讲 ,企业招聘员工是为自身服务的 ,交给员工的任务只要能按质保量的完成,其实已经足够了 ,至于通过什么语言 来实现的 ,并不重要 。可能有些企业出于习惯或传统的目的,强制要求要通过一种语言去完成所有工作 ,这是企业环境问题。如果每个员工都有完全依赖于企业的这 种习惯 ,岂不是要学会所有的语言吗 ,显然 ,这并不是一种常态 。
很多朋友都看过招聘信息 ,对语言的要求基本都是shell、python 、perl等任意一个熟悉 ,那么也就说明对运维工作的语言要求是相对较宽泛 的 ,我曾就职多家大型公司 ,对于运维的工作都有专业的任务调度管理平台 ,而调度管理平台上,可以支持任何语言编写的运维调度任务 ,因此 ,你无需为学习哪个 语言而发愁 。
然后,从职业管理的角度来看 ,我认为真正擅长其中一门语言 ,对另外其它语言有所涉猎,这是最大的竞争力 ,哪怕这意味着仅仅阅读介绍这些语言的书籍的 头几个章节。真正擅长其中一门语言意味着 ,你深入了解如何运用该语言 ,深入了解该语言在“底层 ”是怎么一回事 ,那样你在设计更大型的程序时 ,就能作出更合 理的决策 。我之所以把这个问题上升到职业管理问题的层面来讨论 ,原因在于 ,如果你想受雇于一家使用不同语言的公司 ,“成为愿意学习不同语言的专家 ”远比 “成为只想学习大有潜力的语言 ”或“对这门或那门语言一知半解 ,但是从来没有耐心把某一门语言学好的人 ”来得重要 。
我是南非蚂蚁,一个多年从事运维一线工作者 ,如果你还在迷茫该如何学习一门运维语言 ,不妨看一看!
以上就是电脑学习网分享给大家的关于谈谈Linux运维人员是否需要掌握一门编程语言的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题 ,如有不足之处 ,欢迎留言指出 。感谢朋友们对本站的支持!
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!