Linux的哲学思想和文件系统

Linux的哲学思想

Linux是一个自由的操作系统,其内部也有着自己独特的一些特定的规则,就是我们所说的关于Linux的哲学思想。

Linux系统的哲学思想

1.一切皆文件:Linux系统把几乎所有的系统资源全部都抽象为文件形式,包括硬件设备,甚至通信的接口都是以文件形式存在的。

2.Linux系统是由许许多多的小程序组成的,这些小程序的功能性单一,组合这些小程序才能完成一些复杂的任务。

3.尽量避免的捕捉用户的接口,避免和用户互交,运行完某个程序时直接输出结果,这样易于以编程的方式完成自动化任务。

4.使用文本方式保存配置文件,便于修改某些配置功能来实现自动化。

交互接口,终端

linux系统是一个多任务,多终端的系统,这意味着linux系统可以同时登陆多个用户和多个终端。 我们先来说说交互接口

交互接口就是指用户和系统之间进行输入输出的一个界面

终端可以分为物理终端,也就是控制台。虚拟终端,图形终端,串行终端,伪终端。

物理终端

文件表示路径为/dev/console

虚拟终端

有6个,用Ctrl+Alt+F[1-6]切换终端。表示路径为/dev/tty[1-6]

图形终端

用Ctrl+Alt+F7来切换.

串行终端

表示为ttys.路径表示为/dev/ttys[1-6]

伪终端

表示为pty。路径表示为/dev/pts/#

查看当前终端

可以用命令tty来查看

[root@localhost ~]# tty

/dev/pts/2

CLI接口

也就是命令行接口:[root@localhost ~]#

root表示为当前登陆的用户

localhost表示为当前的主机名

~表示用户所在的当前目录,也就是工作目录

#表示命令提示符,#是管理员账户,拥有最高的权限,$表示普通用户

Linux的文件系统

Linux系统文件系统是一个二叉树的结构,有层级的结构,有索引,起始点为/

/dev/pts/2

最左侧的/表示为根目录,其他的/为路径的分隔符

在Linux系统里路径的表示方式有两种

绝对路径:从根开始的路径到目的路径

相对路径:从当前路径位置开始直接到目的路径

home(每个用户都有一个起始目录为家目录,管理员为root)

FHS:

Filesystem Hierarchy Standard

由于Linux的发行版本过多为了避免文件系统命名混乱于是就有了Linux文件系统的标准,它规定了一个发行版的Linux系统里面那些文件系统是必须存在的和其用途,下面我们来说说Linux的文件系统的层次标准

####/bin:所有用户可用的基本命令程序文件

####/sbin:系统管理使用的工具程序

####/boot:引导加载器必须用到的各种静态文件:kernel,initramfs(initrd),grub

####/dev:存储特殊文件和设备文件【字符设备(线性设备),块设备(随机设备)】

####/etc:系统程序的配置文件,只能是静态

####/home:普通用户的家目录

####/root:管理员的家目录

####/lib:为系统启动或根文件系统上的应用(/bin,/sbin)提供共享库,以及内核提供内核模块。

####/lib64:64位系统特有的存放64位共享库

####/medis:便携式设备的挂载点,cdrom,floppy等

####/mnt:其他文件系统的临时挂载点

####/opt:附加的应用程序的安装位置,可选

####/srv:当前主机为服务提供的数据

####/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录,可供所有用户执行写入操作,有特殊权限

####/usr:全局共享的只读数据路径
bin,sbin,lib,lin64,include:C程序的头文件,share:命令手册和自带文档等架构特有文件的存储位置,local:另一个层级目录,src:程序源码文件的存储位置

####/usr/local:让系统管理员安装本地应用程序,通常用于安装第三方程序

####var:存储进场发生变化的数据的目录

####proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数
例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward

####/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;

Linux的文件类型

讲完了文件系统来讲讲文件,Linux系统里面文件的命名是严格区分大小写的,其中目录也是文件,所以在同一目录下文件不能同名,可以用除了/之外的任意字符,最长不能超过255个字符。

Linux系统上的文件类型: -:常规文件;即f;

d: directory,目录文件;

b: block device,块设备文件,支持以“block”为单位进行随机访问

c:character device,字符设备文件,支持以“character”为单位进行线性访问

major number:主设备号,用于标识设备类型,进而确定要加载的驱动程序 minor number:次设备号,用于标识同一类型中的不同的设备;

l:symbolic link,符号链接文件;

p: pipe,命名管道;

s: socket,套接字文件

命令总结:

查看终端设备:tty

查看接口程序:echo $SHELL

回显命令:echo

原创文章,作者:N24-执念,如若转载,请注明出处:http://www.178linux.com/56779

(1)
N24-执念N24-执念
上一篇 2016-11-01
下一篇 2016-11-01

相关推荐

  • Shell编程 详解特殊变量之位置参数

    今天我们来探讨shell编程的特殊变量:位置变量。 首先我创建了一个testargs.sh的小脚本: #!/usr/bin/env bash # # Author: jacky18676887374@aliyun.com # date: 20160813-19:30:59 # Vervion:&nb…

    Linux干货 2016-08-15
  • mysql慢查询日志进行按库切割重写文件然后分析

    需求: 把每天的慢查询日志进行按库切割 对每个库的慢查询日志进行分析 思路: 工具/功能 一般统计信息 高级统计信息 脚本 优势 mysqldumpslow 支持 不支持 perl mysql官方自带 mysqlsla 支持 支持 perl 功能强大,数据报表齐全,定制化能力强. mysql-explain-slow-log 支持 不支持 perl 无 my…

    Linux干货 2015-04-03
  • 简单的shell脚本第二版

    经过各位老板的指点我修改了部分内容使其更加完善        原文链接  http://www.178linux.com/70381 /bin/bash declare -i Inet declare -i Snet [[ $1 =~ ((2[0-4][0-9]|25[0-5]|1?[0-9]?[0…

    Linux干货 2017-03-19
  • linux系统监控 sar命令详解

    sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告, 包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。 本文主要以CentOS 6.3 x64系统为例,介绍s…

    Linux干货 2015-06-17
  • 文本全屏编辑器 vim

             vim在Linux中站着很重要的位置,是每一个学习Linux人员的必须掌握的技能之一,因为vim功能很强大为我们编辑文件和脚本带来了很大的方便。接下来我们来一起了解vim的功能。   文本编辑种类:     行编…

    Linux干货 2016-08-15
  • 运筹帷幄之中,决胜与千里之外!

           运筹帷幄之中,决胜与千里之外,决定改变一生。        自从2016年年后学校要求产参加毕业实习,但对linux一窍不通的我,阴差阳错的被一家网络公司给录取了。        安排在一家企业做驻场运维工程师,刚去驻场的时候并没有给我分配相应的工作只是给了一些关于数据库,网络,和系统的一些资料,要求进行自学。我想了想,就决定选择了系统进行了解…

    2018-03-26

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-02 17:21

    总结的不错,希望能熟知Linux的哲学思想,加油!