zoukankan      html  css  js  c++  java
  • Linux 文件系统简介(FHS:Filesystem Hierarchy Standard)

    一,linux的目录结构

    • /bin:所有用户都可以使用的可执行程序

    • /sbin:系统管理员使用的可执行程序

    • /boot:引导加载器必须用到的静态文件:kernel,initramfs,grub等。

    • /dev:设备文件和特殊文件(虚拟设备等)。设备有2种

      • 字符设备(线性设备,有顺序依次处理):逐个字符处理。比如,显示器,键盘等
      • 块设备(随机设备,无顺序跳跃处理):多个字符一起处理。比如,硬盘等
    • /etc:进程的配置文件。必须是文本文件。它下面必须有以下4个目录

      • opt:Configuration for /opt
      • X11:Configuration for the X Window system(optional)
      • sgml:Configuration for SGML(optional)
      • xml:Configuration for XML(optional)
    • /home:用户使用的家目录的集中位置。

    • /root:管理员的家目录。

    • /lib:为系统启动或者/bin和/sbin目录下的可执行程序提供共享库,以及为内核提供内核模块。

      • libc.so.*:动态链接的C库。
      • ld*:运行时的链接器/加载器
      • /lib/modules目录:用于存放内核模块的目录。
    • /lib64:64系统的动态库文件

    • /media:便携式设备挂载点,比如cdrom,软盘,u盘等

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

    • /opt:Add-on application software packages。第三方程序的安装目录。

    • /srv:当前主机为服务提供的数据,一般不使用。

    • /tmp:为那些会产生临时文件的进程,提供用于存储临时文件的目录。可供所有用户提供写入操作。

    • /usr:全局共享的只读数据路径。

      • /bin,/sbin
      • /lib,/lib4
      • /include:c的头文件
      • /share:命令手册和自带文档
      • /local:第三方的安装程序的存放目录。让系统管理人员安装新版本的程序,并保留老版本的程序。
      • /src:程序源码文件
    • /var:数据经常发生的目录。比如日志。

      • /cache:application cache data
      • /lib:variable state information
      • /local:variable data for /usr/local
      • /lock:Lock files
      • /log:Log files and directories
      • /opt:variable data for /opt
      • /run:data relevant to running processes
      • spool:application spool data
      • tmp:temporary files preserved between system reboots
    • /proc:基于内存的虚拟文件系统。内核是有属性信息(版本号等)的,那么如何查看,正在运行中的内核的属性信息呢?内核把它的属性信息抽象成filesystem。比如内核属性:net.ipv4.ip_forward,抽象成了/proc/sys/net/ipv4/ip_forward文件,这个文件里的内容就是此属性的值。进程和内核一样,也把自己的属性信息,抽象成了filesystem。符合Linux里,一切都是文件的理念。

    • /sys:sysfs虚拟文件系统提供了比/proc更好的访问内核属性数据的途径,其主要作用:为管理linux设备提供了统一的接口。以后有可能取代/opt。从2.6内核开始才有此目录。

      # ls /sys
      block  class  devices   fs          kernel  power
      bus    dev    firmware  hypervisor  module
      

    二,文件类型

    ls -l后,

    # ls -lrt /dev
    total 0
    drwxrwxrwt. 2 root    root          40 Dec 14 18:26 shm
    lrwxrwxrwx. 1 root    root          15 Dec 14 18:26 stdout -> /proc/self/fd/1
    crw-------. 1 root    root     10, 239 Dec 14 18:26 uhid
    brw-rw----+ 1 root    cdrom    11,   0 Dec 14 18:26 sr0
    drwxr-xr-x. 3 root    root          60 Dec 14 18:26 bus
    
    • ls -lrt /dev的输出结果中的第一个数字10:major number:主设备号,用于标识设备类型的,进而确定要加载的驱动程序。
    • ls -lrt /dev的输出结果中的第二个数字239:minor number:次设备号,用于标识同一类型中的不同设备。
    • -:常规文件
    • d:目录
    • b:block device,块设备文件,可以以block单位,进行随机访问
    • c:character device,字符设备文件,以字符为单位,进行线性访问
    • l:symolic link,符号链接,软链接文件
    • p:pipe,有名字的管道文件
    • s:socket,套接字文件,用于本地进程间通信

    ps:用file命令可以查看文件的类型。

    c/c++ 学习互助QQ群:877684253

    本人微信:xiaoshitou5854

  • 相关阅读:
    阿里DatatX mysql8往 Elasticsearch 7 插入时间数据 时区引发的问题
    通俗易懂 k8s (3):kubernetes 服务的注册与发现
    ReplicaSet 和 ReplicationController 的区别
    使用Go module导入本地包
    k8s之statefulset控制器
    终于成功部署 Kubernetes HPA 基于 QPS 进行自动伸缩
    Atitit drmmr outline org stat vb u33.docx Atitit drmmr outline org stat v0 taf.docx Atitit drmmr out
    Atitit all diary index va u33 #alldiary.docx Atitit alldiaryindex v1 t717 目录 1. Fix 1 2. Diary deta
    Atitit path query 路径查询语言 数据检索语言 目录 1.1. List map >> spel 1 1.2. Html数据 》》Css选择符 1 1.3. Json 》map》
    Atitit prgrmlan topic--express lan QL query lan表达式语言 目录 1. 通用表达语言(CEL) 1 1.1. 8.2 功能概述 1 1.2. Ongl
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/12041828.html
Copyright © 2011-2022 走看看