自从Unix在20世纪70年代初出现以来,计算机世界的观察家们很快就把它写成一种由专业程序员设计的奇特的操作系统。尽管他们声称,Unix拒绝死亡。早在1985年,Stewart Cheifet就想知道Unix是否会成为PBS节目“计算机编年史”的未来标准操作系统,尽管MS-DOS正处于巅峰时期。2018年,很明显Unix确实是一个标准的操作系统,不是台式机,而是智能手机和平板电脑。
它也是Web服务器的标准系统。事实上,全世界每天都有数百万人与Linux和Unix系统交互,他们中的大多数人一生中从未写过一行代码。
那么是什么让Unix受到程序员和其他技术人员的欢迎呢?让我们来看看这个操作系统的一些特性。
壳
自从计算的早期以来,用户界面设计已经走过了漫长的道路。有命令行界面,图形界面和基于手势的界面,你能说出它们的名字。然而,大多数严肃的用户更喜欢老式的命令行。首先,因为基于Unix的操作系统通常存在于服务器上,所以使用纯文本软件可以减少开销。管理员可以通过SSH远程登录到计算机,而不是通过专用的显示器、键盘和鼠标登录到服务器。他们可以直接登录到计算机,或者经常登录到控制台服务器,控制台服务器会显示操作系统消息,并告诉他们重新启动计算机。
这些用户的大部分时间都花在shell上,shell是一个接受输入并将其转化为操作的程序,无论是运行程序还是配置系统。它类似于MS-DOS提示符或8位计算机(如Commodore 64)上的旧BASIC语言。
在Unix和Linux系统上,用户可以选择shell。对于Bourne Again shell,Linux世界中的默认值是Bash,也就是最初的一个shell的创建者Stephen R. Bourne。其他受欢迎的shell有zsh、C shell和Korn Shell,以David Korn命名。
由此可见Unix世界对模块化设计的偏好。从shell到GUI的一切都只是另一个程序,组件可以很容易地交换。它还允许基于小工具的开发方法。这些我们后面会介绍。
一切都是(文本)文档
类Unix系统的一个特点是依赖文本文件,这与其他使用不透明的二进制文件存储配置信息的时间系统形成对比。对文本的关注激怒了其他系统的一些用户,但Unix用户喜欢它。
“普遍的观念是,文字是一致的;托马斯斯科维尔写道:“在我以前的职业生涯中,我的UNIX同事在文字和印刷文字的舒适性和流畅性方面取得了令人怀疑的高比例。“他们是熟练的读者和作者,而UNIX很容易利用这些优势。从某种意义上说,UNIX对他们来说就是文学。突然之间,UNIX社区中多语言、自由艺术类型和贪婪读者的过度表达,似乎不那么神秘了,并且指出了一个更深层次的问题:在一个越来越被图像文化(电视、电影、jpg文件),UNIX还是植根于这个词的文化。”
传统的Unix设计一直使用纯ASCII文本文件。甚至像硬盘驱动器或打印机这样的设备也被表示为文件。它们不是真正的文本文件,但是程序员可以像对待这些特殊文件一样对待它们。
小工具
作为一个单独的文件,shell包含了所有内容,这有助于Unix开发的另一个主要特性:使用小工具构建管道来完成复杂的任务。
所有shell都有一个管道符号“|”,它将一个程序的输出发送到另一个程序的输入。这使得串联程序变得容易。
假设您想要一个已登录到系统的所有用户的有序列表,没有重复项(因为用户可以多次登录)。看起来是这样的:
Who | cut -d''-f1 |排序|唯一的
虽然看起来很奇怪,但是却显示了这种发展方式的强大。如果您决定用C从头开始实现它,您可能会看到成千上万行代码。
这种开发方式被称为Unix哲学。如果你对此感兴趣,你可能想看看Mike Gancarz的书《Linux和Unix的哲学》。
Unix为什么会这样生存?
那么,面对微软等公司的挑战,为什么这个怪异的操作系统会受到影响呢?答案很简单:许多开发人员发现它是IDE等单一工具和Java等语言的新鲜替代品。现代的Unix版本不是通过某种公司从高处传下来的,而是有机开发的。科幻作家尼尔斯蒂芬森(Neil Stephenson)在他的文章《开始是命令行》(Beginning is the Command Line)中将Unix称为计算机界的“吉尔伽美什史诗”。
如果它继续取得成功,那么Unix将在未来几年继续吸引更多的开发者。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!