早在 20 世纪 70 年代,UNIX 系统是开源而且免费的,但是在 1979 年时,AT&T 公司宣布了对 UNIX 系统的商业化计划,随之开源软件业转变成了版权式软件产业,源代码被当作商业机密,成为专利产品,人们再也不能自由地享受科技成果。

于是在 1984 年,Richard Stallman 面对于如此封闭的软件创作环境,发起了 GNU 源代码开放计划并制定了著名的 GPL 许可协议。

图 1 Richard Stallman

Richard Stallman,理查德·马修·斯托曼,自由软件运动的领袖、GNU 计划的创立者。

1987 年时,GNU 计划获得了一项重大突破,即发布了 gcc 编译器,这使得程序员可以基于该编译器编写出属于自己的开源软件。随之,在 1991 年 10 月,芬兰赫尔辛基大学的在校生 Linus Torvalds 编写了一款名为 Linux 的操作系统,该系统因其较高的代码质量且基于 GNU GPL 许可协议的开放源代码特性,迅速得到了 GNU 计划和一大批黑客程序员的支持,随后 Linux 系统便进入了如火如荼的发展阶段。

1994 年 1 月,Bob Young(红帽创始人)在 Linux 系统内核的基础之上,集成了众多的源代码和程序软件,发布了红帽系统并开始出售技术服务,这进一步推动了 Linux 系统的普及。

1998 年以后,随着 GNU 源代码开放计划和 Linux 系统的继续火热,以 IBM 和 Intel 为首的多家 IT 企业巨头开始大力推动开放源代码软件的发展。

到了 2017 年年底,Linux 内核已经发展到了 4.13 版本,并且 Linux 系统版本也有数百个之多,但它们依然都使用 Linus Torvalds 开发、维护的 Linux 系统内核。RedHat 公司也成为了开源行业及 Linux 系统的带头公司。

初步接触 Linux 的读者,或者有这样一个疑问,Windows 系统也很好用,也能满足日常工作需求,为什么要学习 Linux 系统呢?

有些初学者会将“Linxu 系统是开源的”作为这个问题的答案,其实不然。开源的操作系统少说有 100 个,开源的软件至少也有十万个,为什么不去逐个学习?Linux 的开源特性只是一部分优势,并不是学习 Linux 的主要原因。

对于用户来讲,开源精神仅具备锦上添花的效果,真正的原因在于,Linux 系统是一款优秀的软件产品,具有类似 UNIX 的程序界面,而且继承了 UNIX 的稳定性,能够较好地满足工作需求。

大多数读者应该都是从微软的 Windows 系统开始了解计算机和网络的,客观来讲,Windows 系统确实很优秀,但是在安全性、高可用性与高性能方面却难以让人满意。例如,如果你经常使用 Windows,应该见过如图 2 所示的这个界面。

图 1 Windows系统崩溃

想必读者现在已经能猜到,为什么要在需要长期稳定运行的网站服务器上、在处理大数据的集群系统中,以及需要协同工作的环境中采用 Linux 系统了。

图 2 Linux相比Windows的优势

从图 2 中,也可以看出 Linux 系统相较于 Windows 系统的具体优势。

1.6 为什么要学Linux,它比Windows好在哪里?的更多相关文章

  1. 跟着鸟哥学Linux系列笔记3-第11章BASH学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...

  2. 跟着鸟哥学Linux系列笔记2-第10章VIM学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...

  3. 跟着鸟哥学Linux系列笔记0-如何解决问题

    跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1.  在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...

  4. 跟着鸟哥学Linux系列笔记1

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...

  5. 为学Linux,我看了这些书

    为学Linux,我看了这些书   去年开始,抱着学习的态度开始了我的Linux学习,到现在,差不多一年了,收获很多,不敢说精通Linux,但是,还是对得起"略懂"这两个字的.这一年 ...

  6. 十天学Linux内核之第十天---总结篇(kconfig和Makefile & 讲不出再见)

    原文:十天学Linux内核之第十天---总结篇(kconfig和Makefile & 讲不出再见) 非常开心能够和大家一起分享这些,让我受益匪浅,感激之情也溢于言表,,code monkey的 ...

  7. 十天学Linux内核之第九天---向内核添加代码

    原文:十天学Linux内核之第九天---向内核添加代码 睡了个好觉,很晚才起,好久没有这么舒服过了,今天的任务不重,所以压力不大,呵呵,现在的天气真的好冷,不过实验室有空调,我还是喜欢待在这里,有一种 ...

  8. 十天学Linux内核之第八天---构建Linux内核

    原文:十天学Linux内核之第八天---构建Linux内核 今天是腊八节,说好的女票要给我做的腊八粥就这样泡汤了,好伤心,好心酸呀,看来代码写久了真的是惹人烦滴,所以告诫各位技术男敲醒警钟,不要想我看 ...

  9. 十天学Linux内核之第七天---电源开和关时都发生了什么

    原文:十天学Linux内核之第七天---电源开和关时都发生了什么 说实话感觉自己快写不下去了,其一是有些勉强跟不上来,其二是感觉自己越写越差,刚开始可能是新鲜感以及很多读者的鼓励,现在就是想快点完成自 ...

  10. 十天学Linux内核之第六天---调度和内核同步

    原文:十天学Linux内核之第六天---调度和内核同步 心情大好,昨晚我们实验室老大和我们聊了好久,作为已经在实验室待了快两年的大三工科男来说,老师让我们不要成为那种技术狗,代码工,说多了都是泪啊,, ...

随机推荐

  1. 手撕代码之线程:thread类简单使用

    转载于:https://blog.csdn.net/qq_22494029/article/details/79273127 简单多线程例子: detch()启动线程: 1 #include < ...

  2. 如何建立一个JDBC程序?

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...

  3. Markdown语法2

    二 . 低频使用的语法 下面是相对用得少的markdown语法,但也值得学习学习. 10.区块(块引用) 要创建块引用,请在段落前添加一个 >  符号: 块引用支持多段落: 块引用支持嵌套,即引 ...

  4. BMZCTF SDNISC2020_过去和现在

    SDNISC2020_过去和现在 打开附件就一张图片 根据题意感觉是图片中隐藏了什么信息 使用binwalk -e分离这里foremost不行 三个文件查看在第一个中发现flag

  5. 使用 Vuex + Vue.js 构建单页应用

    鉴于该篇文章阅读量大,回复的同学也挺多的,特地抽空写了一篇 vue2.0 下的 vuex 使用方法,传送门:使用 Vuex + Vue.js 构建单页应用[新篇] ------------------ ...

  6. 关于 video 播放的新探索

    前端同学要使用 HTML5 播放器视频,必然会使用 video 标签,不过大多数同学只是使用了较简单的功能,其实它本身拥有不凡之力有待我们发现. 首先,我们先来看下 video 最基础的用法: 使用 ...

  7. java中为什么把Checked Exception翻译成受检的异常?

    6.Checked Exception(受检的异常) 马克-to-win:为什么我大胆的把Checked Exception翻译成受检的异常?因为这类异常,编译器检查发现到它后会强令你catch它或t ...

  8. 微信小程序animation动画2种方法

    这里介绍 2 种方法一种是常规的小程序方法操作,另一种是引入动画库 1. 常规动画操作设置 wxml: <view> <view bindtap="clickMe" ...

  9. vue项目处理dpr和多屏幕适配问题

    <!DOCTYPE html> <html style="font-size:37.5px"> <head> <meta charset= ...

  10. Factorials and Powers of Two

    分析:我们可以看出这道题目的描述并不是很复杂,就是说对于一个给定的整数n,我们能否把他拆成k个powerful的数,也就是说这k个数要么是2的幂次,要么是某个数的阶乘,并且我们要让当前的k越小越好:然 ...