Linux 是否被过誉了?

我说个观点,linux现在其实是重视程度不够。

看下应用,我是做java的,就以这个来举例。java程序被打成jar包,一般都是被部署到linux上运行,一些分布式组件,比如redis,kafka,或者nginx,都是部署在linux系统上,而且可能会以集群的方式部署。Docker工具以及docker容器,还有k8s,也都是部署在linux机器上。

相比之下,程序员虽然是在Windows上开发代码,但开发成的结果,以及运行项目的基础设施,比如分布式组件或数据库,不是部署在windows上,而是linux上。

为什么会这样,本人不做进一步说明,但事实上确实如此。但本人平时也是做技术面试官,在问求职者,你们的项目是怎么部署的?或者再细问,你们的项目是部署在哪个操作系统上的?回答说项目部署在windows平台上的,不是少数,甚至不少应聘高级开发岗的求职者也会这样回答。

但是,在java方面,如果要做到资深开发或架构师级别,一定得熟悉各种linux的操作和底层,比如得用命令看linux日志文件,同时分析日志排查问题,或者部署各种模块或组件,或搭建集群,但是,这些linux技术对大多数只会掌握增删改查的初级开发来说,平时可能甚至没实践过。

初级开发在程序员群体里占的比例不小,大多数初级开发不熟悉linux技术。所以可以这样说,虽然linux是程序员在升级到资深开发和架构师道路上所必需的技术,但linux的重要性其实没被广大程序员所认可。

那么具体来说,程序员应该掌握linux方面的哪些技术呢?其实也不难,不用去看源码。

1 熟悉linux操作文件的基本命令,比如tail或vi等,要通过这些技术,找到linux里的日志文件,并能通过搜索关键字,找到关键日志并排查问题。

2 能通过命令,在linux上关闭或启动程序,或者需要具备一定sh文件的编写和调试基础。

3 最好还能通过命令,在linux上搭建redis等集群,或者是能通过命令修改某些配置文件。

我不否认,其实这些技术应该是运维的工作,但事实上很多资深开发或架构,平时也干这些工作。很多初级开发认为平时用的技术够用了,不去主动接触在linux上部署运行维护模块和组件相关技术,那么这样可能就一直停留在初级级别了。

其实linux也能往深挖,比如通过看linux源码,调试分析linux通讯流程,但这些平时开发用的并不多,哪怕架构也不大会用这些技术。

最后做个总结:平时程序员可能未必会关注linux技术,但等到要升级,又不得不学习和使用linux行管技术,所以linux不能说被重视,而是可能被广大程序员所忽视的。

如果大家想进一步了解写简历和面试方面的技能,可以关注我。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hsm_computer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值