Linux根文件系统和目录结构及bash特性

10、Linux目录结构和根文件系统全面讲解

Linux: glibc

程序编译方式:

  • 动态链接: 程序执行时会去引用特定路径下的库文件,多个程序可以共享库文件,但是移植的机器需要有这个库文件。
  • 静态编译: 程序编译就将库文件打包进去了,体积会大,如果本机多个程序都这样做,会占用较大体积。

进程的类型:

  • 终端: 硬件设备,关联一个用户接口

与终端相关:通过终端启动 与终端无关:操作引导启动过程当中自动启动

操作系统的组成:

  • 静态: kernel, application
  • 文件系统: 层级结构

FHS: Filesystem Hierarchy Standard 文件层级标准

  • /bin 所有用户可用的基本命令程序文件
  • /sbin 供系统管理使用的工具程序
  • /boot 引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub 等
  • /dev 存储特殊文件或设备文件 设备有两种类型:字符设备(键盘,一个字符一个字符发送,线性设备,有时序)、块设备(硬盘,将字符打包后发送,随机设备)
  • /etc 系统程序的配置文件,只能是静态文件,不能是可执行文件
  • /home 普通用户家目录的集中位置(可选)
  • /root 管理员的家目录:可选。管理员不应该登录系统。
  • /lib 为系统启动或根文件系统上的应用程序(/bin 、 /sbin等)提供共享库,以及为内核提供内核模块
    • libc.so.* 动态链接的 C 库
    • ld*: 运行时链接器/加载器
    • modules: 用于存储内核模块的目录
  • /lib64 64位系统特有的存放64位共享库的路径
  • /media 便携式设备挂载点,cdrom, floppy 等
  • /mnt 其它文件系统的临时挂载点
  • /opt 附加(第三方)应用程序的安装位置: 可选路径
  • /srv 当前主机为服务提供的数据
  • /tmp 为那些会产生临时文件的程序提供的用于存储临时文件的目录,可供所有用户执行写入操作,有特殊权限
  • /usr usr hierarchy 全局共享的只读数据路径
    • bin sbin lib lib64
    • include: c程序头文件
    • share: 命令手册页和自带文档等架构特有的文件的存储位置
    • local: 另一个层级目录
    • X11R6: X-Window程序的安装位置
    • src:
  • /usr/local 让系统管理员安装本地应用程序,也通常用于安装第三方程序
  • /var 存储经常发生变化的数据的目录,如日志
    • log
  • /proc 基于内存的虚拟文件系统(临时的),用于为内核及进程存储其相关信息,它们多为内核参数,例如 net.ipv4.ip_forward 虚拟为 net/ipv4/ip_forward 存储于 /proc/sys/
  • /sys sysfs 虚拟文件系统提供了一种必 proc 更为理想的访问内核数据的途径,其主要作用在于为管理linux设备提供了一种统一模型的接口