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

相关推荐

  • HTTP详解(3)-http1.0 和http1.1 区别

    翻了下HTTP1.1的协议标准RFC2616,下面是看到的一些它跟HTTP1.0的差别。 1. Persistent Connection持久连接        在HTTP1.0中,每对Request/Response都使用一个新的连接。      …

    Linux干货 2015-04-04
  • 第六周练习

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; # cp /etc/rc.d/rc.sysinit /tmp # vim /tmp/rc.sysinit 末行模式下:%s@^[[:space:]]\+@#&am…

    Linux干货 2016-12-03
  • Linux基础命令语法

    Linux基础命令语法

    Linux干货 2018-03-11
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次既可。 [root@director ~]# who | cut -d' ' -f 1 | sort | uniq &nbsp…

    Linux干货 2016-12-13
  • 请使用命令行展开功能来完成以下练习

    (1)、创建/tmp目录下的:ac, ad, bc, bd ]# mkdir -p /tmp/{a,b}_{c,d} 或者: ]# touch /tmp/{a,b}_{c,d} (2)、创建/tmp/mylinux目录下的: ]# mkdir -pv /tmp/mylinux/{bin,boot/gtub,dev,etc/{rc.d/init.d,sysco…

    Linux干货 2016-11-06
  • 查找、压缩 随记

     查找模块 1. locate : 非实时查找(数据库查找)     实时查找: find locate 查询是建立在系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 索引的构建是在系统较为空闲时自动进行(周期性任务); 管理员手动更新数据库(updatedb) 索引构建过程需要遍历整个根文件系…

    Linux干货 2016-08-15

评论列表(1条)

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

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