如今Linux无处不在。要想找到最终的证据,只需看看窗户。随着WindowsSubsystem for Linux2的发布,微软将在其操作系统中附带一个Linux内核。不久前,那还真像愚人节的玩笑。
虽然Linux可能为互联网的很大一部分提供主干网,但它并不是从无到有创建的。在Linux之前,就有Unix,而更新的操作系统之所以流行,很大程度上要归功于20世纪70年代甚至60年代诞生的理念。
虽然Unix本身力求简单,但要准确地描述它是什么并不容易。最初的Unix是AT&T的一个操作系统,但是现在,Unix商标属于opengroup。Unix也被用作描述整个操作系统系列的一个类别。
还有Unix哲学。这是Unix程序要遵循的一般准则,其核心是每个程序应该做好一件事。Unix工具应该简单地完成它的工作,理想情况下产生的输出可以直接输入到另一个程序的输入中,而不是将目标放在可以想象的所有特性中。
现在,有许多Unix变体可用,无论是免费的还是商业的。
Linux是另一个比你想象的更难描述的术语。从技术上讲,一个完整的Linux发行版是一个“类似Unix”的操作系统,但这只是一个开始。
许多人将Linux作为一个更准确地描述为GNU/Linux的缩写。Linux本身就是内核,是操作系统的一部分,负责核心计算和与硬件的接口。在这个内核上运行的核心实用程序同样重要。
GNU是一个递归的首字母缩略词,代表“GNU'snotunix”。GNU项目不包含任何原始Unix代码,但提供了您希望在Unix操作系统中找到的所有实用程序。这是Unix和Linux之间的一个关键区别。
即使是Unix的创建者也没有完全创建它。相反,Ken Thompson和Dennis Ritchie从早期的操作系统Multics中获得了灵感。在贝尔实验室,这两个人从操作系统中提取了概念,并用里奇设计并帮助开发的C语言重写了自己的概念。
Unix不是开源软件。相反,AT&T**商业许可证,但它并不是唯一一家从事Unix业务的公司。伯克利的学者们最初开发了一个名为Berkeley软件分发(BSD)的附加组件。最终BSD成为了自己的完整Unix。
在20世纪80年代到90年代,许多公司开始销售自己的Unix产品。其中包括IBM的AIX、Sun的Solaris和后来成为scounix的Xenix。
除了各种Unix产品外,还提供了一些类似Unix的变体。其中之一是MINIX,它是为学术用途而设计的。来自赫尔辛基的一位名叫Linus Torvalds的软件开发人员对MINIX的局限**到失望,他打算创建一个类似的内核来利用他购买的新PC。
与此同时,理查德·史泰尔曼正在寻找内核。1983年,他开始了GNU项目,为各种Unix实用程序免费建立替换。他当时没有的是一个免费的开源内核。Torvalds已经在内核中使用GNU实用程序,最终其他的也使用了。
Linux很快引起了广泛的兴趣。到20世纪90年代中期,由于内核和GNU工具集的免费设计特性,这个项目已经迅速流行起来。即使在其他各种免费的Unix操作系统出现的时候,Unix最初20年的商业性质也笼罩着它们。时至今日,这仍然影响着Unix与Linux之争。
目前,流行可能是Linux和Unix的主要区别。也就是说,有一些免费的Unix发行版运行许多与Linux相同的软件。最流行的两个是FreeBSD和OpenBSD,顾名思义,它们都是BSD的变体。
当然,还有苹果。现在你买的任何苹果设备,无论是MacBook、iPhone,甚至是applewatch,都运行着类似Unix的操作系统。在iPhone或applewatch上,你永远不会从使用它们中知道这一点。但在Mac电脑上却不是这样。
只需启动Mac终端应用程序,就可以访问ls、pwd等标准Unix实用程序,甚至vim等编辑器。这些工具可能非常强大。有关介绍,请参阅我们的Mac终端初学者指南。
Linux可能无处不在,但这并不意味着你能看到它。Android,世界上最流行的移动操作系统,是Linux的一个分支。从运行它的过程中你可能不知道,但是在幕后是一个为移动设备而修改的Linux内核版本。
大部分互联网都运行在Linux上。虽然Windows和Unix变种为一些服务器提供了电源,但绝大多数服务器都运行Linux发行版。这在很大程度上与操作系统的免费特性有关,但也与它的健壮性有关,这意味着停机时间更少。Unix的健壮性丝毫没有下降,但是Linux的普及意味着大多数人会在Unix与Linux的较量中选择它。
在过去的几年中,Linux最引人注目的表现之一就是Linux的Windows子系统。这使您可以在Windows上运行Linux实用程序,这对web开发人员和软件工程师来说是一大福音。我们有一个关于如何开始使用Linux的Windows子系统的指南。
用Unix或Linux运行计算机比以往任何时候都容易。Windows的核心并不运行Linux,但至少可以在Windows上运行Linux。你买的任何苹果设备的核心都有Unix的变种。
如果您希望在您的计算机上运行一个“真正的”Linux,那也很容易。您可以自己在计算机上安装无数Linux发行版中的一个。你喜欢预装Linux的电脑吗?再看看我们的Linux笔记本电脑列表就知道了。
...踪unix子体 就像任何可以追溯到40多年前的历史一样,Unix及其后代的历史也是杂乱无章的。为了简化,我们可以将Unix的子代大致分为两组。 学术界开发了一组Unix后代。第一个是BSD(Berkeley软件发行版),一个开源的、类似Unix的...
...什么是开源软件,为什么它很重要? 许可是一个显著的区别,尽管对大多数人来说并不重要。Linux使用GNU通用公共许可证(GPL)。如果您修改Linux内核并分发它,您必须为您的修改发布源代码。 BSD使用BSD许可证。如果您修改了BSD...
...tallman反对“Linux”一词的一个重要原因是,它淡化了GNU的重要性及其最初的目的:作为一个完全免费的操作系统,旨在为用户提供自由。这与关于“自由软件”和“开源”的争论交织在一起,前者旨在关注自由,后者旨在关注技...
...机使我们的任务更容易。在我们开始讨论GNU和Unix之间的区别之前,让我们用外行的术语来学习与任何操作系统相关的核心概念。 什么是gnu公司(gnu)? 术语GNU代表“GNU而不是Unix”。大多数人认为gnulinux和Unix是一样的,但事实并非...
...十年的法律纠纷已陷入诉讼和指控的泥潭。 ibm与sco的区别 ibm和sco基础知识 –IBM,International Business Machines的缩写,是一家全球性的信息技术和咨询机构,总部位于纽约阿蒙克。IBM是一家领先的云平台和认知解决方案公司,在...
内核和shell的主要区别在于内核是操作系统的核心,它控制着系统的所有任务,而shell是允许用户与内核通信的接口。 Unix是一种操作系统。它是用户和硬件之间的接口。它执行各种任务,包括文件处理、内存管理、控制硬件设备...
Unix和Linux的主要区别在于Unix是一个多用户多任务操作系统,而Linux是一个基于Unix的操作系统。 操作系统是用户和硬件之间的接口。它执行任务调度、文件处理、进程管理、控制硬件设备等等。因此,没有操作系统,计算机系统...
在UNIX中grep和find命令的主要区别在于grep是一个帮助搜索内容并根据用户指定的正则表达式显示内容的命令,而find命令帮助根据给定的条件搜索和定位文件。 UNIX是一种较旧的操作系统,它执行各种任务以支持整个系统的正常运...
sed和awk的主要区别在于sed是一个命令实用程序,它与字符流一起工作,用于搜索、过滤和文本处理,而awk则比sed更强大、更健壮,具有复杂的编程结构,如if/else、while、do/while等。 操作系统是用户和硬件设备之间的接口。没有操...
GNU和Linux的主要区别在于,GNU是一个操作系统,它被设计成用许多软件程序替代UNIX,而Linux是一个操作系统,它结合了GNU软件和Linux内核。 操作系统是用户和硬件之间的接口。它是确保整个计算机系统正常运行的主要部件。UNIX是...