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)
N27_sapbcsN27_sapbcs
上一篇 2017-08-30
下一篇 2017-08-31

相关推荐

  • LVM管理

    一、简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。 LVM的工作原理是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对…

    Linux干货 2016-09-06
  • 分区”魔术师”的磁盘管理

    设备文件 I/O Ports: I/O设备地址 一切皆文件: open(), read(), write(), close() 设备类型: 块设备: block,存取单位“块”,磁盘 字符设备: char,存取单位“字符”,键盘 设备文件:关联至一个设备驱动程序,进而能够跟与之对应 硬件设备进行通信 设备号码: 主设备号: major number, 标识设…

    Linux干货 2016-08-29
  • PHP数组实际占用内存大小的分析

    我们在前面的php高效写法提到,尽量不要复制变量,特别是数组。一般来说,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G。下面我们可以粗略的估算PHP数组占用内存的大小,首先我们测试1000个元素的整数占用的内存: <?php      &nb…

    系统运维 2015-05-28
  • 磁盘管理

    设备类型分为字符设备和块设备 主设备号用来标识设备类型,次设备号标识同一类型下的不同设备 硬盘设备命名: scsi,sata,sas,usb:/dev/sd 不同设备/dev/sda  /dev/sdb 同一设备不同分区:/dev/sda1,/dev/sdb2…… 硬盘: 一片磁盘的一面叫做盘面,一张盘片有两个盘面 每个盘面有一个磁头,最多有256…

    Linux干货 2016-08-30
  • Redis集群明细文档

    Redis目前版本是没有提供集群功能的,如果要实现多台Redis同时提供服务只能通过客户端自身去实现(Memchached也是客户端实现分布式)。目前根据文档已经看到Redis正在开发集群功能,其中一部分已经开发完成,但是具体什么时候可以用上,还不得而知。文档来源:http://redis.io/topics/cluster-spec 一、介绍   该文档是…

    Linux干货 2015-04-04
  • 马哥教育网络班20期+第二周课程练习

    linux 中一切皆文件,我们所做的一切都是和文件打交道。   文件分为两部分:元数据和数据           元数据: 即真实数据的属性。可用 stat  命令查看       &nbs…

    Linux干货 2016-06-23

评论列表(1条)

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

    再接再励。