浅谈为什么要系统学习 Linux!!!

Posted by 陈谭军 on Thursday, March 1, 2018 | 阅读 |,阅读约 6 分钟

技术的价值不在于这个技术有多么高超,而在于技术本身给我们带来什么价值,所以很多时候我们学习一个技术,不能盲目学,是为了使用这个技术,知道这个技术的使用场景,知道这个技术带来的便利性,我们才决定要深入学习。

那我们为什么要学习 Linux?Linux 能给我们带来什么价值呢,这样我们的学习才不会麻木?

Linux 给我的感觉就是稳定,免费,性能好

稳定:体现在哪里?我们使用过 PC 机,安装的操作系统一般是 windows 系列等,这些操作系统,如果你开一个星期,你的机器就要重启了,因为电脑会变的很慢。但是如果你用 Linux,一般可以撑一个月不用重启,当前如果机器比较繁忙就例外了。这里我说的是个人 PC,而很多互联网公司使用的是廉价的 PC Server,目前价格是每台 2-3W,PC Server 和个人 PC 本质上没什么区别,一样的 x86 处理器架构,一样都是复杂指令集,只是 PC Server 的稳定性比个人 PC 高很多,性能和内存也比较高,但是代价就是开机比较久,一般要几分钟,声音也特别吵,家用买 PC Server 简直没法用。一般 PC Server 安装 Linux 可以维持很久不重启。

免费:这个大家应该清楚,windows 操作系统不是免费的,尤其是对企业来说,如果每台服务器都安装 windows,那企业要交的操作系统的费用很可观,尤其对互联网公司来说,拥有众多的 PC Server,分布全国各地,要交 windows 的保护费,简直是要命。而在中国,一般企业都是象征性买十几个 license,交点保护费也过关了(windows 有后门,不找家用电脑麻烦,企业会被找麻烦),但是如果企业比较大,效益好,机器多,十几个 license 也不够保护费,所以使用免费的 Linux 是不错的选择。

性能上:Linux 做了很多优化,例如 Linux 会把空闲的内存缓存文件目录,文件内容,能不用虚拟内存就不用,但是 windows 一定会用虚拟内存,即使内存足够。

生态:Linux 有庞大的开源软件支持,web 服务器,缓存服务器,数据库服务器,这些都是免费的选择,都是稳定成熟的产品。

然而本人觉得 Linux 在服务器领域确实很强大,但是在个人电脑上,我始终觉得不好用,目前还是 windows 好用,即使是目前个人桌面做的最好的 Linux,Ubuntu 也不如 windows,windows 拥有良好的用户体验,操作便利。

选择一个 Linux 的发行版本

学习 Linux 的第一件事情,就是要选择一个 Linux 的发行版本,在虚拟机或者物理机安装都可以了,初学者最好用虚拟机。初学 Linux 的第一件事情,就是看到众多的 Linux分支 而头晕,这到底有什么区别呢,为啥 Linux 不是只有一个版本,而是有很多个版本呢?其实是这样的,Linux 其实是一个操作系统内核,但是一个操作系统除了内核,还有用户操作界面,应用软件,例如我们使用的 windows,也有 windows 内核,出了 windows 内核,还有 windows 的图形界面,windows 的 office 等应用软件。而 Linux 是一个免费开源的内核,每个厂家都可以去Linux 内核官网 下载内核,然后去订制自己的图形界面和应用软件,所以会出现很多 Linux 分支,但是内核都是一样的。

目前 Linux 有几个重要的分支 redhat、ubuntu、debian、suse。很多其他 linux 发行版本是这几个分支的衍生版本,例如国内的红旗,centos 都是 redhat 的衍生版本。

在服务器领域,个人觉得 redhat 现在做的最好,桌面领域最好是 ubuntu,而我们学习 Linux 的最大目的是学习 Linux 相关领域知识,所以我推荐 redhat。

学校里的 linux 课本都比较陈旧,大部分是 Redhat Linux 9 的教程,但是 Redhat Linux 9 由于硬盘驱动关系,是无法在现在的物理机上安装的,包括本人,也受过大学课本的误导(坑爹的教科书)。

Redhat Linux 9 之后,redhat 公司不在维护 Redhat 的开源版本,于是直接发行他的商业版本 Redhat Enterprise Linux 2,目前已经有 Redhat Enterprise Linux 6,但是 6 的稳定性还不清楚,个人推荐使用 Redhat Enterprise Linux 5,请自行去网上下载 Redhat Enterprise Linux 5。

Redhat Enterprise Linux 虽然说是商业版本,但是只要你安装的时候,确定你不输入序列号,你还是可以正常使用,只是不能在 redhat 官网更新软件。然后,这里就要说下 CentOS,由于 Redhat Enterprise Linux 是商业版本,于是 CentOS 组织就和 redhat 公司买了源代码,并重新编译,免费开放出来,免费让用户可以在 centos 官网更新软件,包括使用 Redhat Enterprise Linux 的系统也可以在 centos 的官网更新软件。大家也可能有疑问,既然 centos 和 redhat 都是一模一样,除了名字不一样,为啥不选择 centos。其实没任何区别,Centos 5.5 就和 Redhat Enterprise Linux 5.5 是一模一样的,你可以选择 centos 去安装,去拿 redhat 的教程学习。

学习 Linux 的前言

选择了 Linux 发行版本,你就会想如何开始学习 Linux。

  1. 当然是安装 Linux,请上网自行 Google 或者百度下载 redhat linux 5 的安装光盘,然后再安装 vmware,自行安装。

  2. 多动手,多敲命令。只看书,不实践,一切都是浮云。默认安装 redhat 5,启动 redhat 5 是带有图形界面的,但是图形界面最好少用,对学习 Linux 不利,一定要尽量用字符界面,慢慢习惯。而工作中,使用 Linux,使用图形界面的概率几乎是 0。所以你去学习图形界面的技术价值,几乎为 0,性价比不高。

如何学习 Linux

  1. 学习 Linux 的第一件事情是学习 Linux 基础,这方面我推荐鸟哥的私房菜的 Linux 基础书籍,里面讲解了 Linux 的文件,磁盘,网络,进程等,看懂了这本书,并且一个个命令去实践,你就开始入门 Linux。

  2. 学习 Linux 的第二事情就是用 Linux。前面说过,Linux 的最大用处是服务器领域,所以你要学的第二步是学会架设服务器,这方面我推荐鸟哥的私房菜 Linux 架站文件,这本书介绍了很多服务器的假设,没有必要把全部服务器的架设步骤都看完。个人觉得可以先看完架设服务器的基础,然后再看看如何搭建 web 服务器,ftp 服务器,telnet 服务器,ssh 服务器。学会这几个服务器的搭建,管理,再根据个人兴趣和需要选择其他服务器的搭建。

  3. 进阶-编程。到了这里,你只是会用 Linux 而已,或许学会少许 shell 编程,能够学会简单的 shell,编写脚本。但是你要进一步熟悉Linux,就要学会 Linux 编程。例如,Linux 的管道是怎么做,Linux 的 deamon 进程是如何实现的,为什么 nohub 可以让一个进程可以以daemon 形式运行,即使关闭了 shell 也不会让这个进程也被关闭。这些,你学会了 Linux 编程,你就豁然开朗了。这里我推荐 《UNIX环境高级编程》,此书是 Linux/Unix 编程的圣经,堪称惊世之作。

  4. 到了这里,你就可以对 Linux/Unix 有所了解,已经有一定的基础了,接下来你就要根据你的兴趣去选择学习,或许要根据你的工作方向去学习(很多时候工作不是自己的兴趣),师父领进门,修行在个人,以上的学习步骤是我能想到的最简化的步骤,学习的东西越多,只会让初学者更迷茫。

总结

学习 Linux 是一个广阔而持久的过程,它涵盖了许多技能和概念。最重要的是,Linux 是一种实践型技能,需要不断地练习和实践才能真正掌握。在日常使用中,尽可能地使用 Linux 系统,遇到问题不要害怕查阅文档和搜索引擎,积累经验并不断学习新知识。