本文共 2911 字,大约阅读时间需要 9 分钟。
哲学家就餐 linux实现
所有操作系统都有一个理念。 而且,操作系统的原理很重要。 Linux的哲学是什么?它如何影响社区? 多年来,它如何改变了软件开发?
不管我们是否知道,我们大多数人都有某种人生哲学。 它可能很简单,例如“对他人友善”,或者可能是非常复杂的生活哲学。
许多公司也有某种哲学。 它们可能是未写的或有据可查的。 从1974年到1995年,当我在IBM工作时,IBM的哲学被充分证明并深深植根于这种文化中。 IBM的理念涵盖了其业务实践以及如何对待员工,客户和供应商。 照原样,IBM的首要指令是尊重和尊严地公平对待每个人。
在开始深入研究Linux之前,我从未听说过它有一种哲学。 我的意思是,有什么能哲学实际上是一个操作系统吗 ? 经过一番研究,我发现所有操作系统都有其理念。 我还了解到操作系统的原理很重要。
例如,Windows的原理与数字设备公司(DEC)的VMS操作系统非常相似。 它的意思是“保护用户免受可能使他们陷入麻烦的一切”。 当然,这种相似性的原因是Windows NT的主要开发人员是开发VMS的同一个人。 两种操作系统的理念均基于以下基本信念:用户害怕计算机,因此需要避免其复杂性。
尽管许多人认为图形用户界面(GUI)桌面采用了一种面向对象的方法,但它提供了更加一致,集成且更加流畅的用户体验,但MAC OS并没有太大不同。 MAC和Windows都提供了命令行界面(CLI),允许用户和操作系统之间进行低级交互。 但是,至少与Linux和Unix相比,Windows CLI的命令非常有限。
MAC CLI是一个BASH shell,与Linux一样,它提供了强大的功能。 但是,很难找到它。 贝壳被大量的菜单选择所掩盖,只有当您知道它存在并且正在积极寻找它时才能找到。
在1960年代末和1970年代初开发Unix时,开发人员致力于构建与以前的操作系统有显着差异的操作系统。 Unix的哲学与其他操作系统明显不同。 Linux原理很自然地直接来自 。
我从Mike Gancarz撰写的《 Linux and Unix Philosophy 》一书中的Unix哲学简介部分找到了以下引文,内容丰富。
操作系统从本质上体现了其创建者的理念 。Unix操作系统的创建者从一个激进的概念入手:他们认为操作系统的用户从一开始就具有计算机知识。 整个Unix哲学围绕着这样的思想,即用户知道自己在做什么。
哇! 他们真的这么说吗! 听起来很贵族和排他性。 但是,不是真的。 实际上,事实恰恰相反。
我也适用于Linux)通常归因于一个名叫Doug Gwyn的人,但无法可靠地获得任何信息。 无论道格是否存在,这仍然是一个很好的报价:
Unix并非旨在阻止其用户执行愚蠢的事情,因为这也将阻止他们执行聪明的事情。
这就是Linux的真相。 决不假定用户不称职。 它始终假定您知道自己在做什么,并允许您按照自己的意愿去做。 什么都可以 不管它是不是故意坏了。 在用户手中,这是巨大的力量。
Linux平等对待每个人,并为每个人提供最大的权力。 那是平等主义者。 其他操作系统则是精英主义和排他性的,因为它们在不灵活的图形用户界面后面隐藏或隐藏了其功能,该界面仅允许开发人员认为我们应该做的事情。
多年来,许多人在编纂Linux哲学的各个方面时都试图启发我们其他人。
Mike Gancarz首先写了《 Unix哲学》 ,接着又写了Linux和《 Unix Philosophy》 。 这些书列出了9个主要原则和10个较小的原则。
埃里克·雷蒙德(Eric Raymond)在他的《 Unix编程的艺术》一书中有17条Unix规则。
而且,俄勒冈州立大学拥有 ,我认为它很好地描述了工程师对Linux的看法。
我没有在这里列出所有这些原则和规则及其所有含义,而是在本文的“参考”部分列出了链接或书籍,从中可以获取这些信息。 亲爱的读者,我将它留给您,以查找它们并了解它们的含义。 相信我,这将是一个非常有启发性的练习。
可以轻松打开终端仿真器以访问CLI并附带其强大功能来体现Linux的理念。 首先,可以使用Ctrl-Alt-F [1-7]键访问多个虚拟终端。 甚至Linux GUI桌面也对所有使用它们的人低声说:“使用力量,卢克”。 Linux有几个优良的GUI桌面环境可供选择,因此每个用户都可以选择自己最喜欢的一个。 但是,CLI的强大功能仅需单击一下,终端仿真器和外壳程序都有许多选择。
我最喜欢的GUI桌面终端仿真器是Konsole。 Konsole允许使用选项卡在GUI窗口中的多个终端会话在终端会话之间进行切换。 当然,您可以根据需要在所有会话中使用自己喜欢的shell,也可以在每个会话中使用不同的shell。
为了获得更大的灵活性,提供了一个屏幕程序,该程序可在单个终端会话中提供多个shell会话。 这在远程登录时特别有用,因为如果您的连接失败,则屏幕会话将继续,并且所有在屏幕会话内启动的各种shell中运行的程序都将继续运行。
Linux CLI轻描淡写。 它的力量令人着迷。 灵活性吸引了我。它改变了我—当然,它改变了我使用计算机的方式。 我仍在使用GUI桌面,但与运行LibreOffice,Firefox和Thunderbird等程序一样,它为我提供了多个Konsole会话(在其中运行屏幕)的灵活性。
Linux无法控制。 它假定您在键入命令时知道自己在做什么,然后继续执行该命令而不会询问您是否真的要这么做。 它使您可以完全控制。
想象一下,尝试使用射钉枪会造成的混乱和挫败感会询问您是否真的想射出该钉子,并且除非您大声说出“是”,否则不允许您拉动扳机。 Linux允许您选择使用钉枪。 其他操作系统会让您知道您可以使用指甲,但不要告诉您使用了什么工具来插入指甲,更不用说让您将自己的手指放在扳机上了。
是的,强大的地方就有危险。 明智地使用权力还可以利用它来完成许多伟大的事情。
我已经相信Linux哲学的总结很简单。
尊重所有用户。
这意味着允许每个用户使用多种强大的工具以自己的方式做事。 这意味着在设计和构建软件系统时,首先要考虑灵活性,简单性和自由性。 它导致了软件艺术的创造,以至于它在经过了将近Unix的45年和对于Linux的20多年后仍然很漂亮并且功能强大。
所有这些如何转化为现实世界? 在以后的文章中,我将告诉您更多我的观点,在这些文章中,我将讨论一些单独的原则及其在日常sysadmin任务以及Linux生活中其他方面的应用。
这篇文章的法语翻译可以被看作 ,法布里斯杜蒙的礼貌。
翻译自:
哲学家就餐 linux实现
转载地址:http://baizd.baihongyu.com/