Linux的哲学思想

初学Linux,了解一下Linux的哲学思想,对学习Linux还是非常有帮助的。

在了解Linux的哲学思想之前,可以先考虑一下,现在我们所学的Linux系统到底是面向什么应用场景而研发和使用的?
个人认为:面向企业,是一个服务器操作系统。其所关注的地方是:高性能、可靠性、易维护性。

基于上述方面的考虑,Linux系统在构建和设计的时候,遵循了如下的哲学思想进行设计和后续开发。

  1. 一切皆文件
    Linux把几乎所有的资源通通抽象为文件形式,这其中包括:
    硬件设备
    比如:/dev/console、/dev/cdrom等
    管道
    比如:/dev/zero(一个可以都出无限个0的文件),/dev/null(一个重定向进去之后就消失了的文件,相当于黑洞)
    套接字
    IP:PORT

好处:
可以使用同一套机制来处理Linux系统中的大多数资源。
比如系统调用:open(), read(), write(), close(), delete(), create()

  1. 由众多功能单一的程序共同完成复杂任务
    Linux倾向于让一个程序只做一件事,并且做好;让这样的程序能够基于统一的标准开放接口,再由多个这种功能单一的程序组合起来,共同完成更为复杂的任务。

好处:
程序代码更轻量,更高效;
出现错误更容易定位;
程序的功能延展更具灵活性;

  1. 尽量避免跟用户交互
    正是由于面向的对象不同,Linux系统管理多使用命令行接口,通过命令对系统进行操作和管理,这与Windows的设计理念有着迥然的区别。

好处:
易于以编程的方式实现自动化任务;
为自动化运维,乃至DevOps日后的发展奠定了基础。

  1. 使用文本文件保存配置信息
    所有的配置文件都采用文本文件的方式保存,管理人员可以通过vi或vim文本编辑工具对其进行修改。

好处:
方便管理者对应用软件进行配置、检查工作,而且为避免服务因修改配置中断,多数应用程序也会针对配置文件的更改提供不中断服务的reload操作,这也是Linux系统运行比Windows稳定的一个因素。

原创文章,作者:N27_sapbcs,如若转载,请注明出处:http://www.178linux.com/85694

(6)
上一篇 2017-08-30 15:25
下一篇 2017-08-31 15:53

相关推荐

  • Linux目录配置及文件名种类与扩展名

    Linux目录配置及文件名种类与扩展名 一、FHS目录配置标准 在FHS标准诞生之前,由于有很多公司为Linux开发产品,而又各自有各自的存放路径,所以导致管理困难,因此诞生了FHS标准。 FHS 依据文件系统使用的频繁与否与是否允许用户随意更改,将目录定义成四种交互作用的形态。如下图 可分享的:可以分享给其他系统挂载使用。 不可分享:自…

    Linux干货 2016-08-02
  • sed

    sed Stream EDitor, 行编辑器 sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非使用重定向存储输出。 Sed主要用来自动…

    Linux干货 2017-04-26
  • linux的终端类型

    1、什么是终端 终端(Terminal)也称终端设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。 在早期计算机系统中,由于计算机主机昂贵,因此一个主机(IBM大型计算机)一般会配置多个终端,这些终端本身不具备计算能力,仅仅承担信息输入输出的工作,运算和处理均由主机来完成。 在个人计算机时代,个人计算机可以运行称为终端仿真…

    Linux干货 2016-10-19
  • 缓存需知

    Edit Web缓存核心技术点需知 5.1 HTTP首部控制 5.2 基于新鲜度检测机制: 2.1 特征1:时间局部性 2.2 特征2:空间局部性 2.3 缓存的优点 2.4 哪类数据应该被缓存 2.5 哪类数据可缓存但不应该被缓存 2.6 缓存命中率决定缓存有效性 2.7 缓存数据生命周期 2.8 缓存处理步骤 2.9 缓存和普通数据读取的区别 1. 完整…

    Linux干货 2015-02-22
  • 在CentOS7.3上编译安装httpd-2.4.27

    在CentOS7.3上编译安装httpd-2.4.27     在实际生产中,软件厂商并不总会提供针对Linux平台的rpm软件包,有时会以源码的形式发布软件。源码,比如c语言的源码,可以跨平台运行。在只能获得源码的情况下,那么就需要用户根据自己的平台,进行手动的编译安装。此时,需要借助一些专门的编译工具,而Linux…

    Linux干货 2017-08-06

评论列表(1条)

  • 马哥教育
    马哥教育 2017-10-10 12:55

    再接再励。