Linux之为什么还要学习它

最近每天都会发一篇Linux原创文章,其实可能有些网友会不太喜欢纯技术的文章,或者太基础的文章​。我今天就想讲讲,为什么自动化运维工具和技术很多了,还要​学好Linux。

回想201x年,我们还在前线做一线和二线运维,每天水深火热的日子回想起来还挺充实的。​某一天,我们收到版本发布公告,应用系统准备从windows迁移到Linux,当时我和小伙伴的心情一下子都不好了。​我就心里想,java程序嘛,在哪个操作系统运行都可以,为什么要用大家都不太熟悉的操作系统。本来我就不喜欢死记硬背,想到linux的各种命令就头疼。​项目组技术总监给大家都发了一个Linux 学习教程pdf版。​大家就抽空开始学习,其实我是最不喜欢看那个pdf的。​接着,我们很快就收到了10台左右的linux系统账号和密码,着手准备系统的迁移,按照统一下发的手册,逐个安装java并对操作系统进行一些配置的修改,让他跑起来就可以了。​我们当时基本还是把linux当windows用的,用FTP把文件传到服务器目录,在FTP上修改文件权限,修改文件内容,然后就直接提交上去了。​现在想想,当时的玩法太low了,Linux作者知道我们这样玩,估计要气死了,哈哈!​现在看来,当时的那些迁移一个ansible roles,弄几个task就搞定了。​至于每次的部署,jenkins+ansible tower/ansible core, 很快就搞定,只是第一次编写脚本需要麻烦点,编写、修改、调优估计花的时间已经够手动部署好几次了。

也许会有人问,你这个自动化用的是ansible,关linux什么事​? 首先,我们用ansible脚本,最终执行的目标是linux系统,如果不熟悉linux,ansible报个什么OS相关的错误,我们就蒙了;第二,ansible虽然自带了好多的模块,例如文件拷贝、文件下载、文件修改、服务启动等等,但是总会有一些ansible不支持,这个时候只能利用使用杀手锏,就是使用ansible的shell模块,相当于直接通过ansible调用linux系统的shell脚本,例如项目内部自己编写的微服务,​要不把它注册成OS的服务,要么就通过sh文件调用;第三,对于同一个场景,通过ansible实现就有多种方式,我们想选择最优的,就要熟悉被操作的对象Linux的好多特性,例如linux权限机制、安全机制、文件管理​机制等。

对于我们运维人员来说,可能已经接触到了容器技术Docker,他就是在OS上在虚拟出一个轻量级的OS,他跟宿主系统共享同一套硬件资源,在某些情况下可能需要跟宿主机做磁盘映射等操作,甚至Doker内部好多命令的玩法跟Linux很像。Docker要占用宿主Linux系统的资源,想对docker资源占用熟悉,也要熟悉Linux系统CPU、​内存、IO的运行原理。我们想驾驭好容器,就要先学好Linux。听过大数据的伙伴也知道,大数据的解决方案几乎清一色都是基于Linux系统的。

学习过Linux的同学们都知道,Linux shell是一个比python、java语法​复杂好多的一种脚本语言,直接跟操作系统通信。他复杂但是也很强大,任何的Linux系统的配置修改,​通过他都可以实现自动化。还有,linux的好多shell脚本玩法,跟C很像,​精通Linux也会帮助我们精通C语言。如果玩好Linux的grep、awk、sed、ps等shel命令,结合ansible你会实现更多的自动化​功能,例如进程管理​、资源管理、快速的故障定位等等。其实,Linux也是一个很完美的开源产品,他的设计哲学也会提升我们对软件设计​、开发和测试的一些理念。例如,多进程技术、多线程技术、锁和并发的​概念等。

虽然本人在现在的工作中,尽量避免复杂的linxu命令,但是时不时要快速完成一个任务,但又不想为鸡毛蒜皮并且一次性的事情编写ansible脚本,​直接几条shell命令搞定。可以省点时间去听音乐​看美女也挺好的,真俗! 你如果学好了linux,​估计会有更多的感触。​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值