python和linux运维学哪个 - CSDN
精华内容
参与话题
  • 现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能,不会开发,你就不能充分理解你们系统的业务流程,你就不能帮助调试、优化开发人开发的程序,开发人员有的时候很少关注性...
        

    640?



    现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能,不会开发,你就不能充分理解你们系统的业务流程,你就不能帮助调试、优化开发人开发的程序,开发人员有的时候很少关注性能的问题,这些问题就得运维人员来做,一个业务上线了,导致CPU使用过高,内存占用过大,如果你不会开发,你可能只能查到进程级别,也就是哪个进程占用这么多,然后呢?然后就交给开发人员处理了,这样怎么体现你的价值?


    另外,大一点的公司,服务器都上几百,上千,甚至数万台,这种情况下怎样做自动化运维?用Shell写脚本for循环?Shell也就适合简单的系统管理工作。


    到复杂的自动化任务还得要用专门的开发语言。你可能说了,自动化管理有专门的开源软件监控也有,直接拿来用下就好了,但是现有的开源软件如 Puppet、Saltstack、OpenStack、Zabbix、Nagios等多为通用的软件,不可能完全适用你公司的所有需求,当你需要做定制、做二次开发的时候,你怎么办?找开发部门?


    开发部门不懂运维的实际业务逻辑,写出来的东西不能用,我自己也做运维系统,6年运维工作经验,开发出来的第一版照样烂的不行,这还是懂的运维业务逻辑的,让开发人员来做,跑偏可能更多了,这就是为什么我见过很多公司自行开发运维平台,最后都扔那了。

    其次,不会运维开发,你就不能自己写运维平台复杂的运维工具,一切要借助于找一些开源软件拼拼凑凑,如果是这样,那就请不要抱怨你的工资低,你的工作不受重视了,话说人家FaceBook一个运维工程师管2万台机器,运维工程师年薪十几万USD,你以为人家是盖的呢?哪个不是身怀绝技,开发运维兼备?


    为什么要学Python?


    Python第一是个非常牛B的脚本语言,能满足绝大部分自动化运维的需求,又能做后端C/S架构,又能用WEB框架快速开发出高大上的Web界面,只有当你自已有能力做出一套运维自动化系统的时候,你的价值才体现出来,你才有资格跟老板谈重视,否则,还是老老实实回去装机器吧!


    运维开发为什么要用Python?


    Good question,为什么不用PHP,JAVA, C++,Ruby,这里我只能说,见人见智, 如果你碰巧已经掌握了除Python之外的其它语言,那你爱用啥用啥,如果你是一个连Shell都还没写明白的新手,想学个语言的话,请用Python,为什么呢?


    首先,PHP是跟Python比的最多的,其实他俩根本就不用比,为什么呢?两个语言适用性不同,PHP主要适用于Web开发,可以迅速的做出中小型,轻量级的WEB网站,但后端嘛,基本还是要借助其它语言,借助什么语言呢?Shell?Python?呵呵。而Python呢,是个综合语言,前后端都可以,单拿出来比Web,也一点不比PHP差,但为什么Web方向上PHP比Python要火?


    先入为主嘛,PHP 90年代诞生就是做Web的,Python2000年后才出现Web框架,但论优秀程度上,Python的Web框架基本上出其无左,至少是跟PHP比。


    那JAVA呢?好吧,一个臃肿、中庸、豪无新意的语言,还是老老实实用它来做ERP吧!搞个运维小平台,用JAVA真心没啥必要,在我看来,JAVA就是稳定的中年男人,稳定、成熟、秃顶,而Python代表的就是青春,简洁、快、干净、帅!


    C++/C,这个嘛,我只能说,如果你会了Python,又会C的话,那你会更吃香,但是不会C的话,其实也无大碍,基本上做运维的人,搞搞C就是为了来装B的,因为多数情况下你都到不了看系统底层源码的程度, 不过如果你学好了Python之后,还是建议你学习下C++,毕竟相比Python这个动态语言来讲,C++的效率还是高很多的,但对新手来讲,不建议做为第一门语言开始学习,为什么呢?打击自信心…呵呵,你懂的


    Ruby,日本开发的,还不错,风格跟Python有点像,因为Ruby onrails出了名,国外用的比较多,国内,放心吧!没戏,Python已经把它的想象空间都占死了。


    当然还有新的语言GO,有些搞运维的看见做开发的人员搞GO,也想凑热闹,觉得是未来,我想说,别没事跟风,GO再成功,也不会变成运维开发语言。


    有些人觉得Python效率底,说他不能支持多线程,OH,好吧!这个还有点说对了,但是我想问,看我这篇文章的有几个做过搜索引擎开发?有几个做个上亿PV的并发网站开发?


    有几个看过Linux内核源码?如果没有,请别跟着传了,知道Python为什么不支持多线程吗?这句话问错了,其实Python支持多线程,只是不支持多CPU多线程,也就是一个程序spawn出来的多线程只能占用一个CPU,但是为什么呢?噢,因为GIL,GIL是什么东东,请自行脑补。。。但是你非得用多线程吗?你可以用多进程呀!再牛B你还可以用协程呀,这些Python支持的都很好呀,如果你的程序逻辑不好,搞个多线程也快不起来。


    我认识一个博士讲过一句话,我觉得不错,他说,程序效率高低,80%都是写程序的人决定了,语言本身就占20%,所以下次有人再说Python效率低的时候,请让他先回去自己检查下自己的程序多了多少无用的逻辑、循环等等。这个博士自己用Python写的WEB程序,一台服务器每天能处理上亿请求,一秒并发近两万,什么WEB框架这么牛B? 别问它是谁,它叫tornado。


    Python能否自学?


    当然可以,什么都可以自学,前提是你得能学得会,见过N多菜鸟踏上自学的不归路!


    动不动就说Python是个脚本语言,自己看看就不会了,说这话的只可能有两种人,一种是高手,一种是菜鸟,对于高手来讲,他肯定已经会其它语言,Python在这种情况下,自学当然就很容易学会,几年前我刚接触Python时,代码遇到问题,找了个开发的哥们帮调试,哥们帮调了十几分钟就搞定了,结果人家以前一句Python代码也没写过,为什么,因为语言都有相通之处,一门掌握好了,其它门自己学学就会了。


    但对于新手来讲,没任何语言基础就开始自学,真的很难,而且深层次学习也很吃力。基本上自学是属于专业人员干的事情,就像会一门乐器了,自己学下就可能学会另一门,但我之前没音乐基础,跟着老师都没把吉它学会。


    所以奉劝没基础又想学Python的同学,花点钱去报个班学吧!拿钱换时间,时间是生命,钱没了可再挣钱,时间过去了就再也不会回来,如果你不信邪,非要自己学,那我佩服你的勇气,不过自己试试就知道了。


    当然天下没有绝对的事情,我大天朝牛X的人多了去了,很多人也能通过自学编程,最后变成高手了,我的Python也是自学的,但是我可以说自学过程中走过了N多坑好么,好多时候纠结在一个简单的小问题上好几天都卡住,当时如果不是因为工作需求,估计早放弃了,这还是Python,就别说其它复杂的语言了,我相信除了少数的大牛之外,多数人不比我聪明到哪去,选择自学的同鞋们,一路珍重。


    说了这么多,只想告诉那些迷茫不知所措该学什么语言的新手们, 在你还没学好走路的时候,不要老想着,将来我当上老板了,我是开宝马呢?还是开奔驰呢?先学会骑自行车吧!

    转自简书,作者为Li.Yingjie(部分内容有改动)

    云计算免费课程火热开讲中,运维干货内容免费抢先听点击文末“阅读原文”即可免费听运维课当然也有其他IT课程免费听(Java、前端、大数据、Python、设计、C++、嵌入式、网络营销),后台回复“姓名+联系方式+所在+课程名称”也可申请其他免费课程,火速抢先~~~~

    PS:记得查收小编送你的免费大礼包呦~

    福利 | 一万多套PPT模板等你免费来拿!无条件领取!

    免费送 | 1000多套简历模板免费拿,附赠简历制作教程!

    免费领 | 《Shell脚本 100例》电子书免费拿,运维必备干货~

    640?640?wx_fmt=jpeg

    ▼▼点击【阅读原文】,免费听5天Linux运维干货分享课,火热开讲中,速来抢!

    展开全文
  • 不懂编程的运维人员到底还能走多远? 首先,可以肯定的说,未来的IT岗位需要的是综合能力强的人员,运维、开发、数据库、网络,技术岗位对上述知识体系都要会一些,才能很好的胜任对应岗位工作。 下面已经不是...

    不懂编程的运维人员到底还能走多远?

     

    首先,可以肯定的说,未来的IT岗位需要的是综合能力强的人员,运维、开发、数据库、网络,技术岗位对上述知识体系都要会一些,才能很好的胜任对应岗位工作。

    下面已经不是趋势,而是菜鸟及老鸟都必须要认真考虑的:

    1、运维人员要会运维、开发、数据库、网络,但侧重点是运维

    2、开发人员要会运维、开发、数据库、网络,但侧重点是开发

    3、数据库人员要会运维,开发,数据库,网络,但侧重点是数据库

    4、网络人员要会运维,开发,数据库,网络,但侧重点是网络,最好侧重点转运维

    5、硬件工程师(F5,存储设备等)建议趁早转岗linux运维,云计算已经把硬件给灭了,硬件集中化了。

     

    只会技术知识还不够,工作态度,做人素质,沟通表达,责任心都是具备核心竞争力的容易被忽略的资本!

    技术知识和态度素质比例接近6:4,岗位越高对技术要求的比例越低!

     

    互联网,移动互联网,甚至是物联网的时代对IT人才的综合能力要求越来越高!一些极其低端的工作大多数人的岗位会被自动化、虚拟化、云计算、甚至是机器人取代是毫不夸张的!

    例如:IDC机房运维,低端网络工程师,各类硬件工程师。

    新的时代对我们IT人员有了新的挑战,我们不能抱残守缺,而一定要快速学习,适应时代对我们的更多要求,不要本位主义,单纯的认为运维就不需要开发,开发就不需要运维,这些想法都是在重复掩耳盗铃的寓言故事。

    大家如果学习运维,给自己的定位是高级运维或架构师,就必须要会linux运维,python开发,linux集群架构。

    另外,强烈建议,想从事linux运维的朋友一定要先掌握好运维岗位需要的本领后,然后再去蚕食开发领域。想从事开发的朋友一定要先掌握好开发岗位需要的本领后,然后再去蚕食运维等领域。

    切记,一定不要太浮躁,人云亦云,一定不要边玩linux,边玩开发,一个时间点专注一点,你就可以更快找到工作,找到工作后再去利用周末去培训或自学,除非你参加脱产班的培训,或者时间真的很充裕。

    掌握了一项岗位的知识能力后,如果你真的掌握了的话,再学其它岗位技术的也会轻松很多,因为学习的方法都是相通的。

    一定要先掌握你想从事的本领域的岗位的基本本领,短时间千万不要样样都了解,会导致样样都稀松,最后找工作到处碰壁,短时间就是抓重点(记得我讲的浴室着火吧)!

    虽然企业对运维的岗位要求趋势是越来越高了,但也不代表只学一种找不到工作。

    对于新手,是无法再短时间内掌握运维和开发两项本领的,哪怕即使是运维知识也是海量,学了前面的,忘了后面的网友满地都是,最后厌学,能力没提升,给自己带来困扰。

    例如你想从事运维,可以先学好linux运维,适当了解python开发,然后,找到工作后,再利用周末去学习。老男孩教育linux运维班新班会精讲shell和python开发基础,很多同学月薪可以达到12-13K,这个事实说明,先精通一门技术的重要性,但是一旦拿到offer,我们就会告诉学生要参加学习python开发以及高级架构师课程,说到这大家都明白了吧,linux运维,linxu架构,python开发,都是运维岗位需要的,打好linux基础,可以找到工作,但是要想立足和发展就必须要学习linux网站集群架构,python开发,这是现实的行业内的人都看得出的趋势,不这样努力这样做的,就算找到了工作可能也会丢失掉,谈不上立足和发展了。

    如果你想从事开发工作也是一样,可以先学好开发,然后再去学linux运维+linux架构。(学历达不到本科的同学,如果选择纯开发一定要慎重,衡量下自己适合不适合,能不能下足功夫和高学历的去拼,开发领域的竞争者大把的本科、硕士的人群,而运维领域本科的同学基本上是凤毛麟角,这也是老男孩老师当初差异化发展的思想,虽然老男孩是本科双学士)。

    新手一旦考虑学习开发,我建议可以学习python全栈开发,差异化发展,未来做开发做运维可以有更多的选择,而不是去选择PHP,JAVA等开发语言。

    综上,解答开篇的不懂编程的运维还能走多远?

    1、linux(含shell)已成为IT技术岗位的必备的技术(开发,数据库,网络等岗)。

    linux运维学好目前北上广的薪水可以到8-15K,但是如果不快速继续深入高级架构师和python开发,未来发展瓶颈十分大,时间久了,有可能上升空间就被会架构又会python开发的人堵死,刻不容缓。

    2、python已成为IT技术岗位发展提升竞争力的必备技术(开发,数据库,网络等岗)。

    3、linux高级架构师(大规模网站集群架构)也将成为IT技术岗位发展提升竞争力的必备技术(开发,数据库,网络等岗)。

     

    因此,linux运维+linux架构+python开发这三项技术是近3-5年运维人员必备的技术,也是纯开发提升竞争力最有利的武器。

    掌握上述三项技术的先后顺序可以为:

    linux运维+linux架构或linux运维+python开发,这三项技术是有紧密联系的,高级运维及架构师发展都得会!

    有关运维人员的开发语言,做运维的人员一定要放弃小众语言的学习,例如perl,ruby,也不要选择偏离linux运维的php和JAVA。

    linux+(shell/python)是当下最火的运维人员学习的组合,跟着趋势准没错!

    如果学习纯开发可以选的语言有:python,php,java,但是这些开发岗位发展到1-2年后,还是需要学习linux运维+linux架构的,这就是所说的大一统的IT岗位技能要求趋势。

    掌握了上述运维和开发本领后,将来还可以朝大数据、云计算等热门领域过渡,基础不牢地动山摇,没有运维和开发基础,大数据、云计算这样的空中楼阁,你就有看和想的份。

     

    展开全文
  • 推荐一套适合运维的书籍

    万次阅读 2017-11-08 15:35:57
    精简的当然是我的《跟阿铭学Linux》 shell 我看过最好的 《shell编程艺术》 综合运维 《高性能Linux服务器构建实战》 lamp/lnmp nginx: 《取代Apache的高性能Web服务器》 apache:《Apache服务器配置...
    linux基础入门
    全面的是《鸟哥的Linux私房菜》
    精简的当然是我的《跟阿铭学Linux》

    shell
    我看过最好的 《shell编程艺术》

    综合运维
    《高性能Linux服务器构建实战》

    lamp/lnmp
    nginx: 《取代Apache的高性能Web服务器》
    apache:《Apache服务器配置与使用工作笔记》
    mysql:《高性能MySQL》

    安全
    《Linux firewalls》
    《白帽子讲web安全》

    架构
    《大型网站技术架构》
    《构建高性能web站点》

    docker
    《Docker技术入门与实战》

    nosql
    《redis设计与实现》
    《mongodb权威指南》

    自动化
    《Puppet实战》
    《SaltStack技术入门与实战》

    云计算、虚拟化
    《OpenStack开源云王者归来 云计算、虚拟化、Nova、Swift、Quantum与Hadoop》

    python
    《Python基础教程》

    监控
    《Zabbix企业级分布式监控系统》
    《华章科技:Nagios系统监控实践》
    展开全文
  • 为什么运维Python

    千次阅读 2018-04-23 17:27:28
    基于Python本身的优点:简单,易学,速度快,免费、开源,高层语言...比起CJava,Python的魅力更为突显,因为完成同一项任务,C语言需要1000行代码,Java只需要100行代码,而Python可能只需要20行就轻松搞定。Pyt...
  • Linux运维常用命令----持续更新

    万次阅读 2018-06-28 11:14:56
    于是乎稍微总结一下运维这段时间常用的操作指令1、查看当前目录下所有文档的内容行数2、查看当前目录下所有文档的大小3、后台启动Python脚本输出日志到文件,查看日志文件4、...
  • 转行做linux运维工程师,首先要了解linux运维要做多少事情,需要什么基础,然后根据自己的情况进行有的放矢的追踪学习。先了解下做linux运维工程师需要做的事情 1.熟悉linux命令基本操作,玩不转基本操作别的都是...
  • 1. 1秒钟启动一个下载服务器在... python 一行试解析jsonecho '{"job": "developer", "name": "lmx", "sex": "male"}' | python -m json.tool
  • 外界都说运维只是处于被动低效率手工救火的状态,企业对其重视程度不高,提起运维很多人能联想到的字眼就有“苦逼”、...现在,运维人员的发展前景也开始让很多程序员眼羡,作为Linux运维人员的你:这一年,你的L...
  • 运维人该醒醒了,要变天了

    千次阅读 2017-10-26 13:17:39
    传统运维人员该转型了
  • Linux运维学习路径

    千次阅读 2018-09-28 15:41:30
    实验楼楼+训练营的Linux运维工程师需要的全部技术要求(只是个人学习的一个借鉴路径) Linux基础,Shell编程与文本处理,应用服务运维,数据库服务运维,日志与监控,Python基础,Python自动化运维,Docker自动化...
  • 找了一个星期的python实习,投了十几家公司都没有反应,...需要python的太少了,那需要python实习的更加少了,python比运维难找多了,如果这周日还是没有反应,就找linux运维了,运维也能接触python,差不到哪去,而...
  • Linux运维高级架构师实战视频教程

    万次阅读 2019-04-27 20:59:36
    Linux运维高级架构师实战视频教程 运维工程师需要了解系统的服务搭建.shell脚本的编写(便于维护或者日程),mysql操作。 这是重要的,而且是必须的。其次就是涉及Linux系统接入网络的应用。你可以直接去搜一下简历上...
  • 或许你听说过:一个高级运维必须掌握Python技术,而会Python的运维更具竞争力,也更“值钱”。那么,运维和Python到底是什么关系呢?为什么掌握Python的运维...
  • 学习python的心得体会

    千次阅读 2019-04-18 20:54:09
    python的方向 我自己将要向数据处理方向走,数据处理需要网络爬虫的知识,且更加精进。...全栈和运维涉及linux服务器的操作,那需要shell编程和linux基础操作的基础能力。数据分析其实就没有这一层...
  • Python运维中要掌握的 20个技能

    千次阅读 2018-09-20 18:59:10
    能够实现获取系统运行的进程系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析系统资源及进程的管理。 2、IPy(http://github.com/haypo/python-ipy),辅助IP规划。 3、dnspython...
  • Python运维常用的20个库模块

    千次阅读 2018-12-27 10:26:39
    Python运维常用的20个库 1、psutil是一个跨平台库(https://github.com/giampaolo/psutil) 能够实现获取系统运行的进程系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析系统资源及进程的管理。 ...
  • Shell运维的重要性_python的作用

    千次阅读 2017-10-08 00:36:41
    Linux 运维人员就是负责 Linux 服务器的运行维护。随着互联网的爆发,Linux 运维在最近几年也迎来了春天,出现了大量的职位需求,催生了一批 Linux 运维培训班。 如今的 IT 服务器领域是 Linux、UNIX、Windows ...
  • linux运维需要掌握的基础知识

    千次阅读 2018-10-21 15:16:32
    踏入linux运维工程师这一职业,其实有很多工具技能需要掌握,下面我来给大家一一介绍。 1、shell脚本另一个脚本语言,shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单...
  • Linux运维工程师应具备哪些技能?

    千次阅读 多人点赞 2019-03-10 21:00:33
    想成为合格运维工程师,需要掌握不少技能,Linux运维工程师讲究的是广度,下面是年薪50W的L inux云计算工程师推荐的学习内容: 1、Linux系统基础入门-Linux的基础知识内容,命令使用,以及用户...
1 2 3 4 5 ... 20
收藏数 32,092
精华内容 12,836
热门标签
关键字:

python和linux运维学哪个