本人已经在运维行业工作了将近十年,我最早接触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行业的兄弟姐妹找到一份自己热爱的技术。

请不要重复犯我在学习Python和Linux系统上的错误的更多相关文章

  1. 孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务

    孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第七天.成功在本地搭建 ...

  2. IT技术学习指导之Linux系统入门的4个阶段(纯干货带图)

    IT技术学习指导之Linux系统入门的4个阶段(纯干货带图) 全世界60%的人都在使用Linux.几乎没有人没有受到Linux系统的"恩惠",我们享受的大量服务(包括网页服务.聊天 ...

  3. 转 让Python在Android系统上飞一会儿

    让Python在Android系统上飞一会儿 地址: http://blog.csdn.net/ccwwff/article/details/6208260

  4. python进行linux系统监控

      python进行linux系统监控 Linux系统下: 静态指标信息: 名称 描述 单位 所在文件 mem_total 内存总容量 KB /proc/meminfo disks 磁盘相关信息 - ...

  5. Linux学习之二-Linux系统的目录结构

    Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...

  6. 使用Python获取Linux系统的各种信息

    哪个Python版本? 当我提及Python,所指的就是CPython 2(准确的是2.7).我会显式提醒那些相同的代码在CPython 3 (3.3)上是不工作的,以及提供一份解释不同之处的备选代码 ...

  7. python在windows系统上创建文件

    正确方法为:open("test1.txt",'wb')或open("test1.txt",'w') 以下是网上的方法创建遇到的问题 使用Python2.7在w ...

  8. 大数据学习路线之linux系统基础搭建

    学习大数据是必须掌握一定Linux知识的,工欲善其事,必先利其器.在学习之前,首先需要搭建Linux系统,本节将讲解VMware Workstation的安装和CentOS 7系统的安装. 1.2.1 ...

  9. Linux学习之十-Linux系统时间

    Linux系统时间 1.date命令用于查看以及修改Linux系统的时间,关于date命令的详细帮助文档如下 [root@localhost ~]# date --help Usage: date [ ...

随机推荐

  1. 通过配置Mysql参数提高写入速度

    1) innodb_buffer_pool_size 如果用Innodb,那么这是一个重要变量.相对于MyISAM来说,Innodb对于buffer size更敏感.MySIAM可能对于大数据量使用默 ...

  2. [LeetCode] Validate Binary Search Tree 验证二叉搜索树

    Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ...

  3. [LeetCode] Set Matrix Zeroes 矩阵赋零

    Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. click ...

  4. PHP的性能大坑--strtotime函数

    最近在做一个游戏数据统计后台,最基础的功能是通过分析注册登录日志来展示用户数据.在公司内部测试,用户量很少,所以就没有发现什么性能问题.但是这两天一起放到真实的测试环境,用户量噌噌地就涌进来了,从下午 ...

  5. oracle数据泵导入

    假设将dmp放到/data目录下,首先在数据库中创建directory目录SQL> create directory exp as '/data/'在操作系统命令执行导入命令.impdp sys ...

  6. hibernate缓存机制(转)

    原文出处:http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html 一.why(为什么要用Hibernate缓存?) Hibernate是 ...

  7. Mybatis传入参数类型为Map

    mybatis更新sql语句: <update id="publishT00_notice" parameterType="Map"> update ...

  8. android获取位置location为null的问题

      12:38:542016-12-23 很多人经常遇到这种问题,主要是获取到位置的信息为null,第一个主要要有权限 <uses-permission android:name="a ...

  9. Python 【第六章】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  10. 解决安卓微信浏览器中location.reload 或者 location.href失效的问题

    在移动wap中,经常会使用window.location.href去跳转页面,这个方法在绝大多数浏览器中都不会 存在问题,但早上测试的同学会提出了一个bug:在安卓手机的微信自带浏览器中,这个是失效的 ...