世界上诞生的第一台计算机,足足塞满了整个房间,而且也没有鼠标键盘,更别提显示器了。它不光啥都干不了,还要消耗很多人力物力(尤其是电力)。

在那之后许多年,微软横空出现,并差不多垄断了全世界的个人计算机市场(虽然那时候几乎只有美国有计算机),而它创造的Windows操作系统也成为了一座大山,挡在所有其他操作系统前进的路上。

是的,就像有了可口可乐,又出现了百事可乐;有了奔驰,又出现了宝马一样,在Windows之前,就已经有一个名为Unix的操作系统存在了十多年之久。但除了科学家和工程师们知道它之外,普罗大众压根就不知道它的存在(想知道Uinx界面是啥样子的,使用Windows的童鞋可以右击开始菜单后,再点击运行选项,输入「CMD」这三个字母就能打开DOS命令窗口了——DOS的使用方式和界面,其实是抄袭Unix的)。

Window 98开机启动界面

不过,Unix本来就不是给普通人用的,而且作为操作系统届的前辈,对Windows其实是嗤之以鼻的。就这样,两者相安无事地维系了许多年。

通过两幅图,能够更直观清晰地看到它们二者不同的演化路线:

Windows演变路线图

Unix及类Unix演变路线图

可以直观地看到,相比于Windows,Unix及其子孙的演变比较杂乱,起名较为随意。这也是由开源社区的文化决定的。在那个大师辈出,黑客盛行的年代(那时的黑客都以创造自由的软件文化、开发新的软件功能和探索技术的新用途为傲,是真正的技术先驱,不知怎么到后来却慢慢变成了网络攻击的代名词,真是让人有点唏嘘不已)。

尤其是Linux的创造者Linus Benedict Torvalds(林纳斯·本纳第克特·托瓦兹),他们始终坚持开放源代码的信念,没有注册专利,更没有做任何的商业化,Linus还不惜为此开罪权贵。

时至今日,Linux系统也因为Linus Benedict Torvalds的执着,而枝繁叶茂,大有取代Windows的势头(因为Windows能做的,Linux也都能做,而且大部分软件都还免费)。

在国外的源代码托管网站github有一幅开源的Linux演变路线图(这幅图作者的开源精神恐怕也是受Linus的影响),地址是:Releases · FabioLolix/LinuxTimeline · GitHub

如果网速慢打不开的话,可以直接看下面的图:

Linux的徒子徒孙们

这里面每一条线都代表一个Linux分支版本。Windows和它比起来,简直就是一棵小树vs整个森林。这,就是开源的力量。

虽然这个世界商业的力量无孔不入,无所不能,但总有那么一些人,会因为信念而坚守初心,矢志不渝!

Linux:徒子徒孙们的愚公移山相关推荐

  1. Linux的Anaconda安装

    Python脚本部署 Linux下默认使用的是python2.7.如果想在上面运行python3.0以上的就必须要装上Anaconda了.具体安装步骤如下 1.下载 wget https://repo ...

  2. 过滤Linux下不同大小的文件,linux查找当前目录下 M/G 大小的文件,删除Linux下指定大小的文件

    过滤Linux下不同大小的文件,linux查找当前目录下 M/G 大小的文件,删除Linux下指定大小的文件 find ./ -type f -size +1G| xargs rm 在清理系统日志文件 ...

  3. linux环境下nacos的安装+启动,阿里云服务器安装nacos

    nacos安装+启动(linux环境): 基础:安装java环境 官网下载压缩包:如 nacos-server-1.2.1.tar.gz 放在自定义目录下 # 解压 tar -xvf nacos-se ...

  4. Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败

    [Alibaba Cloud Linux 2.1903 LTS 64位]服务器yum源下载404 failure: repodata/repomd.xml from docker-ce-stable: ...

  5. Linux下创建硬链接,文件访问为空,提示:xxxx: 符号连接的层数过多

    Linux下创建软链接|硬链接,文件访问为空,提示:x x x: 符号连接的层数过多. 原因:创建符号链接的时候未使用绝对路径,无论是源文件路径还是目标路径,都需要使用绝对路径. 如: ln -s / ...

  6. 作为一个java程序员,常用的linux命令(越攒越多)

    本篇记录我在工作中不断遇到的常用的linux命令,并进行总结,时常更新! 1. 升级服务时先停止服务,然后进行替换 linux中杀进程时候,如果你是知道它所占用的端口号的话,可以通过 netstat ...

  7. 设置linux初始root密码

    简单一步设置linux第一个root密码 sudo passwd root #输入当前账户密码 #输入准备设置的root密码 #确认密码 如下所示:

  8. Linux/docker下oracle开启监听,开启自动启动

    写在前头: 之前呢,使用docker安装了oracle,但它默认是会关闭的.使用了几天以后突然连接异常了,报的问题是oracle监听有问题了,我知道了是oracle服务自动关闭了,监听也跟着关了.所以 ...

  9. Linux通过端口号杀死指定进程

    前言: 我们在服务器上升级项目的时候,需要将原来的项目停止,然后启动新的项目. 这时候我们只知道应用所占的端口号,如何将进程杀死呢? linux中杀进程时候,如果你是知道它所占用的端口号的话,可以通过 ...

最新文章

  1. APP程序内部打开某个APP的AppStore页面
  2. 数据访问层设计(持久层架构设计)
  3. 码农们不得不重视的问题
  4. cfiledialog指定位置和大小_GDamp;T | 位置度公差的理解过程
  5. python开源考试_Github 上 10 个值得学习的 Springboot 开源项目
  6. java websocket ie8_websocket兼容IE8
  7. 如何充分利用各大银行免费资源最大限度减少理财成本
  8. 容器化时代到来!跳转机分配问题终于“有救”了
  9. Visual C++中回调函数使用的变身大法
  10. 如何开发自己的股票软件105
  11. 顺序表的建立、查找、插入、删除
  12. HIT-哈工大数据结构-作业2(C++)
  13. RJS Debugging
  14. Cocos2dx游戏教程(十五):“见缝插针”,愿你走出半生,归来仍是少年
  15. 数据结构与算法笔记:抽象思维之对比算法,发现共性(下楼梯台阶和象棋跳马问题算法重构)
  16. 软考软件设计师基础知识—法律法规知识
  17. Matlab 绘制多条曲线,方法!
  18. C语言与Java实现:数制转换
  19. 华硕无双性能、体验双升级,“里子”“面子”精致又强悍
  20. 喜欢变形金刚的小可爱看过来!

热门文章

  1. 云服务器二:远程连接云服务器
  2. C盘目录下隐藏木马清除方法
  3. gradle设置build执行命令_Build.gradle 详细配置说明
  4. 阿尔·里斯-市场营销的22条法则(22条商规)-20
  5. ip网络通信类型分为 单播_通讯网络的类型
  6. FPGA采集IT6802视频HDMI输出,提供两套工程源码和技术支持
  7. win7iis配置html,Win7下配置本机IIS服务器
  8. 超声波功率放大器原理,安泰超声功率放大器在MEMS测试中的应用
  9. 中电信涉水软件网络商店 开发者可获四成收入
  10. 莆田Java开发_【莆田java开发】如何使用update-alternatives命令进行版本的切换