目录:
Unix以其各种形式对计算机行业产生了深远的影响。 尽管大多数普通用户不会直接处理它,但此操作系统为互联网的大部分功能和几乎所有的智能手机提供了动力。 程序员很喜欢它,并且有很好的理由。 Unix的许多吸引力来自其创建者做出的一些原始设计决策,其中许多课程为编程世界以外的人们提供了经验教训。 Unix程序员通常坚持强调简单性和优雅性的编程哲学,但是您可以将这些课程应用到软件开发之外。 (在《什么使Unix变得特别?》中获得此操作系统的背景知识。)
保持小巧
对于习惯于大型单片程序的许多人来说,令人惊讶的一件事是许多Unix和Linux系统都附带了大量的小型实用程序。 有一些工具可用于搜索文本,四处移动文件,查看文件,编辑文件等。 除了少数例外,它们大多数都只有几千字节。
而且,这些程序很多都没有很多功能。 例如,文本编辑器通常没有拼写检查器。 Unix程序被设计为可以协同工作,并且不仅仅要做一件事,这些概念将在以后进行详细说明。
一条谚语说,“百分之十的工作解决了百分之九十的问题。” 换句话说,使用一个更小,更简单的工具可能比拥有甚至不使用的功能的复杂程序更好。
使用文字
Unix著名的一件事(或者也许是臭名昭著的)是它对纯文本的严重依赖。 尽管在高分辨率图形和GUI时代这似乎是粗糙的,但这样做有一些主要好处。
几乎所有系统配置文件都以纯文本格式保存。 这意味着用户无需特殊工具就可以查看和编辑这些文件(前提是它们具有正确的权限)。 在Unix和Linux版本中,没有注册表编辑器之类的东西,因为没有注册表。
文本是数据的最低公分母,这意味着任何其他系统都可以读取和写入文本文件。 这不仅可以轻松交换文件,还可以“验证未来”的数据,以确保下一代计算机及其后的下一代计算机可以读取它们。 这带我们去…
不要太依附于任何一个平台
硬件平台很棒。 软件平台很棒。 我们知道了。 但是平台具有使用寿命,因为许多仍然依赖Windows XP的人正在发现。 (在:为什么现在是时候放弃Windows XP了。)
平台来来去去,如果您将其包裹在一个平台中,那么在必须移动时可能会很痛苦。
Unix的设计师在用高级语言C(而不是PDP-7汇编语言)重写系统时进行了重大更改。 C可以在不同的硬件平台上运行,从而使Unix成为第一个可以以相对较少的更改移植到不同的硬件平台的操作系统。
与此形成鲜明对比的是Unix的老对手VMS,后者与Digital Equipment Corporation的VAX小型计算机系列紧密相连,然后与Alpha处理器紧密相连,最后与Itanium处理器紧密相连。 惠普是DEC技术的当前所有者,现在终于开始拔掉VMS的插头。
各种形式的Unix都在蓬勃发展,尤其是在各种开源版本下,尤其是Linux。
一件事做好
Unix程序被设计为做一件事情并且做得很好,而不是试图成为所有人的一切。 大多数Unix程序员更喜欢在只编辑文本的文本编辑器中工作,而不是复杂的IDE。
Unix程序被设计为过滤器,用于对文本流执行某些操作,并且不添加任何内容,形成一个管道。
那些在基于Unix的智能手机上运行的移动应用程序? 他们一次也做一件事。
让观众自由
Linux的发展也普及了所谓的开源和自由软件运动。 如果您是一位熟练的程序员,则可以修改源代码以获取所需的内容。 但是Unix一直很特别,因为它使您可以自由地在计算机上做任何想做的事情,即使您最终用脚射击也是如此。 (有人说开源太好了,难以置信。是吗?在这里找到。)建立共同工作的事物
Unix的独特功能之一是shell能够将命令的输入和输出重定向到复杂的“管道”中。 这就解释了许多Unix程序的文本方向,以及它们的输出为何如此简洁。自动化,自动化,自动化
Unix还通过各种shell普及了脚本的概念,首先是Bourne shell,然后是C shell,然后是Bash。 已经出现了许多脚本语言,包括Perl和Python。 如果您将简单的任务自动化,那么您将有更多时间花在做有用的事情上。Unix经受了时间的考验
自1969年以来,Unix就一直坚持一种或多种形式,仅仅是因为其背后的哲学不可抗拒。 即使您不是程序员,也可以将简单和优雅的优点带入任何项目,无论是管理,系统管理,还是生活中的其他领域。 要全面了解Unix哲学,请查阅Mike Gancarz的书“ Linux and Unix Philosophy”。 您可以将其应用于IT工作的所有课程,甚至更多。