专栏名称: 程序猿
本微信公众号:imkuqin,为程序员提供最新最全的编程学习资料的查询。目前已经开通PHP、C/C++函数库、.NET Framework类库、J2SE API查询功能。
目录
相关文章推荐
51好读  ›  专栏  ›  程序猿

Linux运维工程师必须掌握的基础技能有哪些?

程序猿  · 公众号  · 程序员  · 2017-03-29 22:42

正文

来自:知乎

作者:Tanky Woo

链接:https://www.zhihu.com/question/23665108/answer/2529988 (点击尾部阅读原文前往)


Tanky Woo Python/运维 at 知道创宇,http://tankywoo.com

这个问题挺好的,回答这个问题也是对自身的审查,看看自己还欠缺哪些。(所以我估计得好好思考下,也许下一刻我就会突然惊醒,发现我还是战⑤渣)


首先限定在Linux运维工程师上


回答仅代表我想到,不代表我都会 :(


技能:


1、Linux基础


包括对Linux整体的理解/使用和基本命令:


了解Linux FHS : Filesystem Hierarchy Standard,国人写的这本书不错 Linux系统架构与目录解析 (豆瓣)


入门Linux:鸟哥的Linux私房菜.基础学习篇(第三版) (豆瓣) 个人认为鸟哥的这本书是一本非常好的入门书


基本操作命令:Google,如Linux command cheat sheet

熟悉至少一个内置编辑器: vi, nano


至少熟悉一个发行版(或系列),建议作为服务器常用的如Centos, Debian, Ubuntu,可以了解多个常用发行版


个人使用/开发尽量在Linux上,比如我前期选择了 Gentoo Welcome – Gentoo Linux ,非常Cool的一个Linux发行版,配合官方的 Handbook Handbook:Main Page,可以学到很多东西


2、运维的命令:


运维相关的工具(命令),了解它能解决很多问题。


前几天刚回答了一个问题:如何才能更深入的学习linux?


里面的图在这里也可以用到:



可以对着图对学习了解这些命令 ( 抱歉图片的原始来源我没有搜到,如果有朋友知道,麻烦告诉我,谢谢 感谢 @jeremy yang 的提示,已经搜到来源 http://www.brendangregg.com/linuxperf.htmlhttp://www.slideshare.net/brendangregg/linux-performance-analysis-and-tools)。


另外我个人也会对平时用到的这些工具做一个整理和记录,总结到我的个人维基上:Wiki · Tanky Woo


3、基础服务:


LAMP或LNMP :Apache/Nginx,MySQL,PHP/Python/Perl LAMP (software bundle)

FTP

DNS

SAMBA

EMAIL

NTP

DHCP

...


可以本地搭建练练手


这里推荐鸟哥另外一本书 服务器架设篇: 鸟哥的Linux私房菜 (豆瓣)


4、运维平台工具:


也在这个问题 如何才能更深入的学习linux? 里提到了:

Nagios

Puppet

Zabbix

Cacti

SaltStack

....

可以选择性的折腾下,因为这个涉及到业务,没有实际环境,很难去理解他们的功能和特点。


5、脚本:


必备: Shell

额外: Python,Perl...


6、底层:

Linux C,内核


7、网络:

网络是非常重要的一块

把《TCP/IP协议详解》多看几遍,理解。

熟练使用tcpdump等抓包工具


8、安全:

防火墙配置,如 iptables, ipset


9、硬件:

接口类型

查看硬件信息

知道各类型服务器,如塔式、机架式、刀片式


10、其它:


了解更多特定技能要求的方式:


Google搜"Linux运维工程师 招聘",看看他们的需求。


最后推荐一本书:Unix/Linux系统管理技术手册 UNIX/Linux 系统管理技术手册 (豆瓣)


后续想到再做补充


素养/处理方式:


除了技能,我觉得素养(态度)也可以谈谈


这个正好看到右边相关问题:运维工程师需要具备哪些性格特质?


1、安全


运维人员的权限很大,所以一定要保证帐号/私钥的安全。

最好使用加密工具存储。比如truecrypt,1password







请到「今天看啥」查看全文