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 15:25
下一篇 2017-08-31 15:53

相关推荐

  • 计算机组成与Linux基础

    一 计算机组成 冯诺依曼体系 计算机处理数据和指令一律用二进制表示 指令和数据不加混合存储在同一存储器中 顺序执行程序每一条指令 计算机硬件由运算器、控制器、存储器、输入设备以及输出设备组成 计算机组成部分 CPU:含有指令集,对程序进行运算和判断并分为两个主要单元分别为算术逻辑单元和控制单元。其中算术逻辑单元主要负责程序运算与判断,控制单元负责协调组件与个…

    Linux干货 2017-07-30
  • N22-第五周作业-冥界之王

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;    [root@CentOS6 ~]# cat /boot/grub/grub.conf | grep -E  "^[[:space:]]{1,}"…

    Linux干货 2016-09-19
  • Linux Sysadmin–part3

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现 #!/bin/bash for i in `cut -d’:’ -f7 /etc/passwd`;do if [ $i == “/sbin/nologin…

    2017-09-19
  • 走进Linux(一)

    一、计算机基础 世界上第一台计算机于1946年诞生于美国宾夕法尼亚大学,名叫:ENIAC。     计算机主要由硬件系统和软件系统两部分组成:     1、组成硬件的五大部分:    控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序…

    Linux干货 2016-09-22
  • DNS and BIND 进阶

    主DNS服务器的ip地址:192.168.1.109 主DNS服务器主机名:bogon 正向区域名:sh.com 反向区域名:1.168.192.in-addr.arpa 正向区域文件名称:/var/named/sh.com.hosts 反向区域文件名称:/var/named/192.168.1.rev 配置主文件/etc/named.conf过程 1、编辑…

    Linux干货 2016-12-06
  • Linux nginx服务之反向代理

                       Linux nginx服务之反向代理 Nginx服务之反向代理: GSLB:Global Service LB 全局服务负载均衡: SLB:Service LB 应用程序发布: 灰度模型:   ngx_http_…

    系统运维 2016-11-18

评论列表(1条)

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

    再接再励。