说说我当初是如何学Linux的
今天我就说说我当初是如何从一名普通桌面维护工程师,通过学习和努力转成Linux运维工程师的,以及作为Linux运维工程师需要一些什么技能和知识,希望可以帮到一些对Linux有兴趣或者想往Linux这个方向转的,都可以看看。
15年我还在做普通的桌面维护工作,技术还算行,就是杂事很多。虽然说我们公司的Windows服务器也算稳定,可是公司每天都有很多杂事儿,一会打电话来说我输入法用不了了,一会说我office打不开Excel了,很浪费精力。持续了两年时间都是浑浑噩噩的。如今的互联网,绝大多数的网站、服务、游戏均是跑在Linux上面的,我不想再做这种打杂的工作了,因为自己也算是有计算机方面的基础,自信学起Linux来应该也不慢。于是网上找了一些视频和学习Linux方面的电子书。真的是贪多嚼不烂啊!在对比了大部分的电子书目录后,只选择了一本Linuxprobe网站里的电子书和一套Linux学习视频,我是觉得:只要掌握透彻了一本书,再差也不会差到哪儿去。因为在Windows上基础还行,很快搭好了学习环境,后面就是辛苦的实操了,反复练习。

现在我从事Linux运维已经2年了,一路下来,走了些弯路,但是总的来说,自己学很慢,我差不多花了大半年年时间,投入了相当的时间和精力,特别是在实操,。下面我想写下我的刚开始的阶段来帮助想学Linux的朋友。
作为刚入门的同学,无非视频、书籍、网站帖子之类的学习方式,视频虽然讲得详细,但是所需要花费的时间也是巨大的,据我了解很少有人能持之以恒把一系列视频看完;网站帖子之类的,一般都比较散乱,不成学习系统,学起来如同没有头的苍蝇;书籍从目录来看就非常有条理,看书可以系统化的学习、循序渐进,不会初学者不知道从哪儿开始的感觉。建议使用我上面的那本,如果有更好的,也你可以,但是一定要坚持,前期可以安装一个Linux虚拟机,重复练习为主要手段,把一本书好好吃透,重点是吃透,那么你也就入门了。
那么具体需要掌握哪些知识呢?这里罗列一些必须掌握的知识:
1、了解Linux FHS,这是Linux的体系结构,明白大致原理
2、不重复80个常用Linux基础、运维命令,挂载
3、TCP/IP协议,网络配置相关知识
4、SSH原理及应用
5、防火墙的基本配置,iptables
在Linux下面掌握一些初级工具、技能是非常有必要的:
1、Vim编辑器,无论对于写配置文件,还是写语言脚本,Vim始终是Linux上面的必备神气,需要掌握基本操作方法、快捷键。
2、Git版本控制,很多人可能觉得没有必要,这个是开发才学的嘛,其实不然,今天Devops的日渐崛起,对于传统运维工程师来说是一个挑战,也是一个机遇。工程师们日常需要写大量的脚本,可以使用Git来管理、备份常用代码、脚本。
3、Shell编程,写脚本当然需要Shell啦,这也是基础。同上,作为Devops来说,再学习一门高效的脚本语言也是必需的,这里推荐Python,不过这是后话,先把Shell掌握了再说吧。
其实如果你把上面的要求掌握到80%,基本上算入门了,接下来需要去学习一些硬件知识,做运维工程师会经常和网络设备,服务器等硬件设备打交道,对于硬件知识也要做到了解。特别是判断硬件的优劣的核心参数,比如内存的存储介质、容量、速度、奇偶校验,CPU的制造工艺、核数线程、内外频、缓存等等。我们在工作中不仅仅只需要“软知识”,“硬知识”也是必不可少的关键技能,特别是当公司业务剧增,需要新增机房、服务器时,就要用很多“硬知识”了,网络传输介质的选择、UPS等等,都应该有所了解。
之前学习的都是基础的“软知识”,接下来就要学习一些高级的“软知识”。掌握最常用的服务搭建,每个公司也业务架构都不太一样,但是常用的服务也就那些,简单来说业务架构就是各种服务不同形式的组合。对于Linux运维工程师来说,你公司需要搭建各种服务器,比如文件共享服务器、Git服务器、数据库服务器、常见Web架构的部署、大公司可能还需要DHCP服务器等等。
一般来说你搭建某类服务器,都会有官方的指导手册。比如MySQL服务器的搭建、Git服务器搭建等等。Google到官网按照Tutorial手册一步一步来(翻*墙自己找梯子,百度到官网也行),基本上八九不离十的,当然也有很多网友现成的帖子可以直接翻翻看。这里需要注意的是,Linux的版本不一样,服务安装会有一些差异,当你遇到问题搜索的时候,建议加上Linux的发行版本,这样可以更加精准的匹配问题,你可以放心,你遇到的问题,你前面的无数人已经遇到过了(乐于分享回馈后来人)。
最后推荐《Linux就该这么学》,就是我之前在网站里学过的电子书,现在出了纸质版。我觉得还是踏踏实实的多实操,练习,再难得东西,都没有多难,现在的人啊。都是太懒了,才跑不动的。
说说我当初是如何学Linux的的更多相关文章
- 跟着鸟哥学Linux系列笔记3-第11章BASH学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...
- 跟着鸟哥学Linux系列笔记2-第10章VIM学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...
- 跟着鸟哥学Linux系列笔记0-如何解决问题
跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1. 在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...
- 跟着鸟哥学Linux系列笔记1
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...
- 为学Linux,我看了这些书
为学Linux,我看了这些书 去年开始,抱着学习的态度开始了我的Linux学习,到现在,差不多一年了,收获很多,不敢说精通Linux,但是,还是对得起"略懂"这两个字的.这一年 ...
- 十天学Linux内核之第十天---总结篇(kconfig和Makefile & 讲不出再见)
原文:十天学Linux内核之第十天---总结篇(kconfig和Makefile & 讲不出再见) 非常开心能够和大家一起分享这些,让我受益匪浅,感激之情也溢于言表,,code monkey的 ...
- 十天学Linux内核之第九天---向内核添加代码
原文:十天学Linux内核之第九天---向内核添加代码 睡了个好觉,很晚才起,好久没有这么舒服过了,今天的任务不重,所以压力不大,呵呵,现在的天气真的好冷,不过实验室有空调,我还是喜欢待在这里,有一种 ...
- 十天学Linux内核之第八天---构建Linux内核
原文:十天学Linux内核之第八天---构建Linux内核 今天是腊八节,说好的女票要给我做的腊八粥就这样泡汤了,好伤心,好心酸呀,看来代码写久了真的是惹人烦滴,所以告诫各位技术男敲醒警钟,不要想我看 ...
- 十天学Linux内核之第七天---电源开和关时都发生了什么
原文:十天学Linux内核之第七天---电源开和关时都发生了什么 说实话感觉自己快写不下去了,其一是有些勉强跟不上来,其二是感觉自己越写越差,刚开始可能是新鲜感以及很多读者的鼓励,现在就是想快点完成自 ...
随机推荐
- nacos作为配置中心兼容xml配置文件
最近公司想要用配置中心,因为公司用的有传统的spring项目,有springboot项目,为了兼容都能够采用配置中心,做了一些尝试,经过比较还是倾向于使用nacos,传统dubbo采用spring方式 ...
- Cortex-M3学习小结
- java中如何修改事务的隔离级别
事务的特性: 原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. (多条语句要么都成功,要么都失败.) 一致性(Consistency)事务前后 ...
- Xftp和Xshell
Xftp 用于跟云虚拟机文件传输的工具,Xftp官网 Xshell Xftp的兄弟工具,用于执行云虚拟机命令,Xshell官网 两个都是付费工具,各需要几百块钱,当然破解的版本也很多 登陆 这两个的连 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表格:条纹表格
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- ADV-292 计算行列式 java
问题描述 //据说很多人的题目会有一大堆废话,本傻×就不在这里废话了. 给定一个N×N的矩阵A,求|A|. 输入格式 第一行一个正整数N. 接下来N行,每行N个整数,第i行第j个数字表示A[i][j] ...
- Linux 创建网卡子接口
创建网卡子接口,添加IP别名 ifconfig eth0:0 2.2.2.2/24 或 ip addr add 2.2.2.2/24 dev eth0 label eth0:0 清除网卡子接口,删除 ...
- Lesson 48 Planning a share portfolio
How does the older investor differ in his approach to investment from the younger investor? There is ...
- Spring框架中的JDK与CGLib动态代理
JDK和CGLib动态代理区别 JDK动态代理:利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类, 在调用具体方法前调用InvokeHandler ...
- numpy高级函数:where与extract
numpy高级函数:where与extract 1.numpy.where()函数,此函数返回数组中满足某个条件的元素的索引: import numpy as np x = np.array([[1, ...