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

首先限定在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?

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

可以对着图对学习了解这些命令 (<strike>抱歉图片的原始来源我没有搜到,如果有朋友知道,麻烦告诉我,谢谢</strike> 感谢 @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

基于本地存储。切勿用网盘,也不建议用lastpass等

ssh私钥添加密码

以上任何一点都很重要,否则弄丢了,风险会非常大。

2、责任心

如上面那个帖子里 @山大 提到的 Owner 意识

遇到报警,第一时间处理,而不要等着他人去处理

如果无法处理,应该第一时间让同事协助帮忙,而不要禁止报警,让问题掩盖

3、细心

你的任何一个操作,都可能造成系统的损坏、业务出问题。所以敲命令时一定要细心、再三确认。你敲的再快,也就节省那么一点时间,出了问题才是大事。

4、推进/改善

如果代码有问题,导致系统开销很大,比如负载,io等。应该第一时间和开发部门确认,要求优化代码。

5、进取心/不断学习

运维的知识范围很广,要不断学习。遇到问题,做好分析记录,事后还可以在部门内分享交流。

这也是我为什么热衷于写技术博客和维基的原因,好记性不如烂笔头。记录整理的过程也是一个思考升华的过程。

Linux运维工程师必须掌握的基础技能有哪些?的更多相关文章

  1. linux运维工程师面试题收集

    面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...

  2. Linux运维工程师面试

    一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块?   2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解? ...

  3. Linux运维工程师面试-部分题库

    一.Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块?   2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解? ...

  4. 做linux运维工程师,必须要掌握以下几个工具

    linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究 ...

  5. 要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...

    要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...  [复制链接]   发表于 2013-12-13 15:59 | 来自  51CTO网页 [只看他] 楼主           本人 ...

  6. Linux运维工程师入门的10大实用工具

    说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. 我就大概列出这几方面,这样入门就基本没问题了. 工具如下: 1.Linux系统基础 这个不用说了,是基础中的基础,连这 ...

  7. Linux运维工程师入门须掌握的10个技术点

    本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. 我就大概列出这几方面,这样入门就基本没问 ...

  8. 详解linux运维工程师入门级必备技能

    详解linux运维工程师入门级必备技能 | 浏览:659 | 更新:2013-12-24 23:23 | 标签:linux it自动化运维就是要很方便的运用各种工具进行管理维护,有效的实施服务器保护 ...

  9. Linux 运维工程师的十个基本技能点

    本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧. 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具.我就大概列出这几方面,这样入门就基本没问 ...

随机推荐

  1. php 生成静态页面

    使用ob函数 <?php require_once(dirname(__FILE__).'/include/config.inc.php'); ?> <?php $dosql-> ...

  2. <数据结构与算法分析>读书笔记--要分析的问题

    通常,要分析的最重要的资源就是运行时间.有几个因素影响着程序的运行时间.有些因素(如使用编译器和计算机)显然超出了任何理论模型的范畴,因此,虽然它们是重要的,但是我们在这里还是不能考虑它们.剩下的主要 ...

  3. Mac中安装JDK1.8和JDK11双版本并任意切换

    首先区官网下载JDK8和JDK11安装包,安装后打开bash $ cd /Library/Java/JavaVirtualMachines $ ls -al 可以看到两个版本安装成功 然后编辑环境变量 ...

  4. 深入浅出的webpack4构建工具--webpack4+vue+vuex+mock模拟后台数据(十九)

    mock的官网文档 mock官网 关于mockjs的优点,官网这样描述它:1)可以前后端分离.2)增加单元测试的真实性(通过随机数据,模拟各种场景).3)开发无侵入(不需要修改既有代码,就可以拦截 A ...

  5. POJ2236

    https://vjudge.net/problem/POJ-2236 An earthquake takes place in Southeast Asia. The ACM (Asia Coope ...

  6. Objective-C 代码混淆

    代码混淆 参考链接: https://blog.csdn.net/yiyaaixuexi/article/details/29201699 http://fighting300.com/2017/04 ...

  7. Android学习之基础知识十一 —运用手机多媒体

    一.使用通知(Notification) 通知(Notification)是Android系统中比较有特色的一个功能,当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助 ...

  8. java 面向对象基本概念

    1.面向对象与面向过程 (1).都是解决问题的思维方式,都是代码组织的方式. (2).解决简单问题可以使用面向过程 (3).解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程. 2.面向对 ...

  9. Android 百度sdk5.0定位

    在开发中可能 会用到诸如“定位出当前所在城市,所在位置的经纬度”等功能.一次性的定位肯能定位不成功,可能经纬度未读出来,也可能是地址信息或者城市信息未读出来.此时就需对定位后拿到的信息做判断,加入没有 ...

  10. linux应用编程之进程间同步

    一.描述 在操作系统中,异步并发执行环境下的一组进程,因为相互制约关系,进而互相发送消息.互相合作.互相等待,使得各进程按一定的顺序和速度执行,称为进程间的同步.具有同步关系的一组并发进程,称为合作进 ...