本人已经在运维行业工作了将近十年,我最早接触 Linux 是在大二的样子,那时候只追求易懂,所以就选择了 Ubuntu 作为学习、使用的对象,它简单、易用、好操作、界面绚丽,对于想接触 Linux 的新手来说是非常不错的。后来因为个人的知识有限,玩不转 Linux 的种种配置、各种插件以及软件缺失,加之没有持之以恒的坚持下去,使用了一段时间后感觉 Bug 多、没游戏、办公写文档也不方便,很多软件需要现学,最终希望用大学时光学习 Linux 的愿望夭折了。
后来一段时间里,自己接触了 Python 语言, Python 语言让我有种爱不释手的感觉,一是因为它非常的简单、好学;二是因为它是一门万金油语言,哪儿都可以用得上:服务器自动化运维、大数据分析、大数据挖掘、 Web 开发、游戏服务器后端开发等等,就连硬件开发都能插上一脚, Raspberry Pi (树莓派)是国外是很多创客喜爱的硬件开发平台,它就是使用 Python 作为开发语言的。可以在最短的时间开发出最高效的功能,这一点是很多语言望尘莫及的,而且几乎在所有的 Linux 发行版中都预装了 Python 语言,不过一般都是 2.7 版本的,在最新的 Ubuntu16.04 中,已经预装了 3.5 版本。在今年 6 月的编程语言 Tiobe 排行榜上面, Python 排到了第 4 名,仅次于 Java 、 C 、 C++ ,不过在 8 月却排在了第 5 名。不管怎么说,这都足以说明这门语言的受欢迎程度。
言归正传,为了更加深入的了解下 Python 语言,我想把学习平台放在 Linux 上面(因为心中始终有一个未完成的装逼极客梦,是的,有点矫情),在很多个 Linux 发行版中做了大量的对比,最终选择了 Centos 作为学习平台。这主要是因为两方面,一方面因为它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成,由于出自同样的源代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。另一方面原由于第一点,免费、稳定的特性促使了国内服务器操作系统大部分都是使用的 Centos 。这样也形成了一个良性循环: Centos 的使用率越大,技术社区的疑难困惑的技术支持方面的资料也越多。当然对于不差钱的大企业,或者说追求更高的稳定性和更加完善的技术支持,还是选择红帽企业系统 RHEL 更加的合适。
当时我在网上搜索了大量的学习资料,筛选了非常多的资料和问答,收集了很多学习 Linux 的视频、文档、电子书等等(没错,此人是一个资料收集狂)。在这个过程中,我得到了很多如何学习 Linux 的知识,但是这些并没有让我学会 Linux ,最后我痛定思痛。删了所有的视频和文档,最终选择了看《 Linux 就该这么学》,而且这本书籍有自己的网站在线学习是完全免费的,而且走到那里打开网页就能学特别的方便,为了避免广告嫌疑,我就不发网址了,你们自己百度搜索书名就行。这本书很适合学习技术的入门学习者,前部分都是基础,中间部分是一些服务配置和管理,后部分主要是近几年比较新的一些技术,比如 Openstack 、虚拟化服务等。这本书的风格是只写有用的,涵盖 Linux 服务器运维的各种技术。比起上一本,是简洁了许多,如果你的时间并不是很多,或者说更是一名在职工作者,建议从此书开始,可以“直击要害”、快速入门。另外这本书主要是用 RHEL 作为教学版本,前面也说过,它和 Centos 的关系,在技术和软件方面几乎都能共用,不至于担心技术学了完全用不上。
再给初来乍到的 Linux 学习者一些建议:我不建议看视频学习,因为看视频学习太费时间,一个小小的技术点,要讲接近一个小时,你看了还得自己动手实操吧?因此我觉得看书还是学习技术的最佳方式,一是省时;二是看书你会有更多的自己的思考,看视频的话你的思维完全是跟着视频走的,没有自己的思考,那么相当于学的东西没有加深印象,过不了多久就容易忘记。
在完成初级入门后,我建议你最好考虑下到底想要往哪个方向发展,然后再去根据方向选择学习的技术。前面我也提了很多方向,数据分析方向的话,你需要好好学习 NumPy 、 Pandas 这两个库,如果是 Web 方向,你可以选择一个框架好好学习,或者试着搭建一个自己的博客,推荐 Flask 或者 Django ,因为招聘网站上也可以看到职位要求基本上都是要求的这两个主要框架的相关经验。我自己的方向是数据分析,我现在还在不断的学习中,希望各位有志混 IT 行业的兄弟姐妹找到一份自己热爱的技术。