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

    1 硬件:cpu,内存,输入输出设备 功能:计算,存放cpu暂时计算的数据,接受输入和输出反应 2 Debian Ubuntu => mint knopix Slackware: S.u.S.E => OpenSUSE SLES RedHat: RedHat Enterprise Linux => CentOS FedoraCore 3 1…

    Linux干货 2017-07-11
  • N26-博客作业-week16

    1、源码编译安装LNMP架构环境 IP:192.168.12.137 Nginx:1.8.1 MariaDB:5.5.57 PHP:5.6.31 安装开发环境包组 yum groupinstall “Development Tools” “Server Platform Development” -y 安装开发程序包 yum install pcre-dev…

    2017-08-04
  • 0805随堂练习

    文本处理练习: 1.找出本机ip地址  [root@localhost ~]# ifconfig |head -2 |tail -1 |tr -s ' ' ':' |cut -d: -f3  10.1.252.221 2.查看本机分区最大的利用率  [root@localhost ~]# …

    Linux干货 2016-08-07
  • zabbix 自动注册(registration)实例

    原理: Zabbix_agnetd ==> Zabbix_server 【agnet自动发数据到server端】 实现目的:zabbix 根据计算机名称识别如(XLH-PROD-XXX)条件,自动添加相关服务器(组group+相关监控模板)  部署步骤 1.创建新的模板,主机组 1.1 新增或模板【组态】【模板】手选一个模板 如果已…

    Linux干货 2016-09-15
  • CentOS6+ LAMP+ wordpress 搭建个人博客站

        每个IT工程师都期待拥有一个自己的博客站,本文讲述在CentOS 6系统LAMP环境下使用WordPress框架构建个人博客站的详细过程。     —-构建LAMP环境—- 1,安装apache,mysql php yum install -y httpd mysql…

    2017-07-11
  • Linux基础(四)——用户管理&grep命令

    1、  复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp /etc/skel/ /home/tuser1 –r chmod -R 700 /home/tuser1/ 2、  编辑/etc/group文件,添加组hadoop。 echo "ha…

    Linux干货 2016-11-08

评论列表(1条)

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

    再接再励。