linux基础之LSB定义的常用目录详解

时间:2022-03-17 06:22:15

Linux基础之LSB定义的基本目录详解

1、LSB中FHS(Filesystem Hierarchy Standard)定义的一些文件

  /boot:主要是存放引导文件的目录,比如内核文件(vmlinuxz)、引导加载器的静态文件(bootloader、grub),一般这个目录是一个独立分区

  /bin:供所有用户使用的基本命令,不能关联至独立分区,操作系统启动即会用到的程序会放置在这个目录

  /sbin:包含管理类的基本命令,不能关联至独立分区,操作系统启动即会用到的程序会放置在这个目录

  /lib:包含基本共享文件,操作系统启动过程中,一些程序依赖的、非常通用的库文件;以及包含内核模块文件(/lib/modules)

  /lib64:专用于x86_64系统上的辅助共享库文件存放位置

    为什么有了/lib还有后/lib64呢?因为我们的电脑的cpu架构分为兼容x64位和x86位,对于x64位系统来说32位的程序能够运行在这个系统上,64位的系统也能运行在这个系统上。那么对于x86位系统来说,32位的程序可以运行在x86系统上,而64位程序则不能。那么x64位系统既能运行32位的应用程序也能运行64位的应用程序,32位的应用程序依赖的库放在/lib下,64位应用程序依赖的库则放在/lib64下,但是对于64位系统来说可能大部分的应用程序都不区分64位还是32位,他们都存放在/lib64目录下,所以许多库文件都放在/lib64文件

    注意:如果你的操作系统是32位的,那么是没有/lib64这个目录的

  /etc:配置文件目录(大部分文件都是纯文本文件)

  /home:普通用户的家目录或者主目录

  /root:管理员的家目录或者主目录

  /media:便携式移动设备挂载点(挂载CDrom、挂载usb)

  /mnt:临时挂在的文件系统的挂载点

  /dev:特殊文件或者设备文件存放位置

    特殊文件:用程序模拟的一个文件/dev/random

      在这个目录下有很多不同类别的文件(查看文件长格式可知)

        b类型文件:英文block device 块设备文件

          介绍:支持可随机访问设备

        c类型文件:英文charactor device 字符设备文件

          介绍:支持线性访问设备,所谓先行指的是访问的先后顺序

  /opt:第三方应用程序的安装位置(操作系统安装完成时几乎都是空的,因此这个里存放的是第三发安装软件)

  /srv:系统上运行的服务用到的数据存放位置

  /tmp:临时文件存放位置,系统上的诸多临时文件都存放在这个文件中

  /usr:英文名:universal  shared ,read-only  data全局共享只读数据存放位置

    bin:存放系统完成某些功能的应用程序,所有用户都能使用的,而/bin是为了保证系统正常运行的应用程序

    sbin:存放系统完成某些功能的应用程序,管理员才能使用的,而/sbin也是为了保证系统正常运行的应用程序

    lib:

    lib64:对于非64系统来说,这个文件是不存在的

    include:C程序的头文件,描述库文件调用接口的方式(描述库文件接口怎么调用,接口是怎么定义的)

    share:结构化独立的数据,比如:存放完成系统某些功能的命令的文档和使用手册

    local:本地层级结构,可以关联至一个独立的分区上

      作用:取代了早起安装在/opt目录下的第三方应用程序的安装位置

      既然是程序独立的安装位置,那么肯定包含下列文件

        bin

        sbin

        lib

        lib64

        share

        etc

    x11R6:X协议第11版第6次发行x窗口所用到的协议

    src:源代码存放目录,如果自己手动编译源程序安装的话,将源代码存放在这个位置

    games:游戏存放目录

  /var:包含可变的数据文件,存放那些经常发生数据变化的文件,通常这个文件可以独立关联到一个分区上

    cache:应用程序的缓存数据目录

    lib:应用程序可变的状态信息数据

    local:专用于为/usr/local下的应用程序存储可变数据

    lock:锁文件

    log:日志文件,包含系统的日志文件

    opt:专用于为/opt下的应用程序存储可变数据

    run:运行中的进程相关的数据,比如存放进程的pid文件

    spool:应用程序数据池

    tmp:保存系统两次重启之间产生的临时数据

    mail:用户的邮箱或者说是邮筒

  /proc:内核与进程相关的虚拟文件系统,用于输出内核与进程信息相关

  /sys:输出当前硬件设备(块设备、网络设备、蓝牙等)相关信息的虚拟文件系统,也叫伪文件系统

  /misc:备用的、存放杂项的文件目录,通常这个文件是空的

  lost+found:linux系统上ext系列文件系统默认格式化以后产生的文件,任何一个分区,通过ext文件系统格式化后都会创建这个么一个文件系统

  /selinux:英文名security enhanced linux,selinux相关的安全策略等信息的存放位置

详细内容请看FHS的详细介绍:http://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf

2、linux上的应用程序的组成部分

  二级制程序可能存放位置:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin

  库文件可能存放位置:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64

  配置文件可能存放的位置:/etc/,/usr/lcoal/etc,/etc/DIRECTORY

  帮助文件可能存放的位置:/usr/share/man,/usr/share/doc,/usr/local/share/man,/usr/local/share/doc

3、linux下的文件类型

  -:普通文件

  d:目录文件

    存放的内容是文件名到文件元数据的映射

  b:块设备

  c:字符设备

  l:符号链接文件

    符号链接分类:

      软链接

      硬链接

  p:管道文件

  s:套接字文件,socket