这个问题挺好的,回答这个问题也是对自身的审查,看看本身还欠缺哪些。(因此我估计得好好思考下,也许下一刻我就会忽然惊醒,发现我仍是战⑤渣)html
首先限定在Linux运维工程师上linux
回答仅表明我想到,不表明我都会 :(ios
技能:安全
一、Linux基础服务器
包括对Linux总体的理解/使用和基本命令:网络
了解Linux FHS : Filesystem Hierarchy Standard,国人写的这本书不错 Linux系统架构与目录解析 (豆瓣)架构
入门Linux:鸟哥的Linux私房菜.基础学习篇(第三版) (豆瓣) 我的认为鸟哥的这本书是一本很是好的入门书运维
基本操做命令:Google,如Linux command cheat sheetssh
熟悉至少一个内置编辑器: vi, nanotcp
至少熟悉一个发行版(或系列),建议做为服务器经常使用的如Centos, Debian, Ubuntu,能够了解多个经常使用发行版
我的使用/开发尽可能在Linux上,好比我前期选择了 Gentoo Welcome – Gentoo Linux ,很是Cool的一个Linux发行版,配合官方的 Handbook Handbook:Main Page,能够学到不少东西
二、运维的命令:
运维相关的工具(命令),了解它能解决不少问题。
前几天刚回答了一个问题:如何才能更深刻的学习linux?
里面的图在这里也能够用到:
能够对着图对学习了解这些命令 (<strike>抱歉图片的原始来源我没有搜到,若是有朋友知道,麻烦告诉我,谢谢</strike> 感谢 @jeremy yang 的提示,已经搜到来源 http://www.brendangregg.com/linuxperf.htmlhttp://www.slideshare.net/brendangregg/linux-performance-analysis-and-tools)。
另外我我的也会对平时用到的这些工具作一个整理和记录,总结到个人我的维基上:Wiki · Tanky Woo
三、基础服务:
LAMP或LNMP :Apache/Nginx,MySQL,PHP/Python/Perl LAMP (software bundle)
FTP
DNS
SAMBA
NTP
DHCP
...
能够本地搭建练练手
这里推荐鸟哥另一本书 服务器架设篇: 鸟哥的Linux私房菜 (豆瓣)
四、运维平台工具:
也在这个问题 如何才能更深刻的学习linux? 里提到了:
Nagios
Puppet
Zabbix
Cacti
SaltStack
....
能够选择性的折腾下,由于这个涉及到业务,没有实际环境,很难去理解他们的功能和特色。
五、脚本:
必备:Shell
额外:Python,Perl...
六、底层:
Linux C,内核
七、网络:
网络是很是重要的一块
把《TCP/IP协议详解》多看几遍,理解。
熟练使用tcpdump等抓包工具
八、安全:
防火墙配置,如 iptables, ipset
九、硬件:
接口类型
查看硬件信息
知道各种型服务器,如塔式、机架式、刀片式
十、其它:
了解更多特定技能要求的方式:
Google搜"Linux运维工程师 招聘",看看他们的需求。
最后推荐一本书:Unix/Linux系统管理技术手册 UNIX/Linux 系统管理技术手册 (豆瓣)
后续想到再作补充
素养/处理方式:
除了技能,我以为素养(态度)也能够谈谈
这个正好看到右边相关问题:运维工程师须要具有哪些性格特质?
一、安全
运维人员的权限很大,因此必定要保证账号/私钥的安全。
最好使用加密工具存储。好比truecrypt,1password
基于本地存储。切勿用网盘,也不建议用lastpass等
ssh私钥添加密码
以上任何一点都很重要,不然弄丢了,风险会很是大。
二、责任心
如上面那个帖子里 @山大 提到的 Owner 意识
遇到报警,第一时间处理,而不要等着他人去处理
若是没法处理,应该第一时间让同事协助帮忙,而不要禁止报警,让问题掩盖
三、细心
你的任何一个操做,均可能形成系统的损坏、业务出问题。因此敲命令时必定要细心、再三确认。你敲的再快,也就节省那么一点时间,出了问题才是大事。
四、推动/改善
若是代码有问题,致使系统开销很大,好比负载,io等。应该第一时间和开发部门确认,要求优化代码。
五、进取心/不断学习
运维的知识范围很广,要不断学习。遇到问题,作好分析记录,过后还能够在部门内分享交流。
这也是我为何热衷于写技术博客和维基的缘由,好记性不如烂笔头。记录整理的过程也是一个思考升华的过程。