zoukankan      html  css  js  c++  java
  • Linux根文件系统层级标准FHS

    (一)程序编译方式

    Linux中的标准C库为glibc,应用程序或多或少都会用到这个库

    • 动态链接
    • 静态编译

    (二)终端

    • 终端是硬件设备,关联一个用户接口,如shell
    • 进程的类型
      • 与终端相关的,通过终端启动
      • 与终端无关,操作系统引导启动过程当中自动启动的

    (三)操作系统的组成部分

    从静态视角来看,由kernal和application组成

    (四)FHS:Filesystem Hierarchy Standard

    • /bin:所有用户可用的基本命令程序文件
    • /sbin:供系统管理使用的工具程序
    • /boot:引导加载器必须用到的各静态文件:kernel,initramfs(initrd),grub等
    • /dev:存储特殊文件或设备文件
      • 设备分为两种类型:字符设备(线性设备),如键盘,显示器;块设备(随机设备),如硬盘
    • /etc:系统程序的静态配置文件
    • /home:普通用户家目录的集中位置,Optional
    • /root:管理员的家目录,Optional,之所以是可选的,因为管理员不该登陆系统
    • /lib:为系统启动或者根文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块
      • libc.so.*:动态链接的C库
      • ld*:运行时链接器/加载器
      • modules:用于存储内核模块的目录
    • /lib64:64位系统特有的存放共享库的路径
    • /media:便携式设备挂载点。cdrom,floppy等
    • /mnt:其它文件系统的临时挂载点
    • /opt:附加应用程序的安装位置,Optional
    • /srv:当前主机为服务提供的数据
    • /tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录,可供所有用户执行写入操作,有特殊权限
    • /usr:全局共享只读数据路径,自己也是层级结构,仅次于根目录第二重要
      • bin,sbin:不是开机立刻要用的,可能是在附加程序运行过程中需要用的
      • lib,lib64:仅供/usr/bin和/usr/sbin使用的共享库,但是/usr/bin和/usr/sbin使用的共享库也有一部分存放在根目录下的lib和lib64中
      • include:C程序用到的头文件
      • share:man文档,程序文档放在这里。注:CentOS是这样的,其它发行版本未必
      • X11R6:x-window程序的安装位置
      • src:程序源码文件
      • local:又是一个层级结构,用于安装本地应用程序,或者第三方应用程序,其下的目录结构和/usr很类似,像一个独立王国
    • /var:存储经常发生变化的数据的目录,也是一个层级结构。可以具体查FHS标准。
    • /proc:基于内存的(临时的)虚拟文件系统,用于为内核及进程在运行时存储其相关信息,它们多为内核参数,例如:net.ipv4.ip_forward,虚拟为net/ipv4//ip_forward,存储于/proc/sys下,因此其完整路径为:/proc/sys/net/ipv4//ip_forward
    • /sys:虚拟文件系统,提供了一种比/proc更为理想的访问内核数据的途径,其主要作用在于为管理Linux设备提供一种统一模型的接口。参考:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/
  • 相关阅读:
    利用libxml2解析xml文档
    找出两个链表的第一个公共结点
    [转载]风雨20年:我所积累的20条编程经验
    inotify监测文件及文件夹
    [转载]linux下svn常用指令
    利用zlib进行数据压缩
    2013腾讯编程马拉松初赛:郑厂长系列故事——体检
    Socket编程之简单介绍
    C语言中static的作用总结
    写程序实现wireshark的抓包功能
  • 原文地址:https://www.cnblogs.com/jacky1982/p/7599611.html
Copyright © 2011-2022 走看看