• LINUX目录结构说明


    FHS

    Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。


    最基本的四种交互作用的形态:

            可共享(shareable)

            不可共享(unshareable)

    静态(static)

        /usr(软件放置处)

        /etc(配置文件)

        /opt(第三方软件)

        /boot(开机与内核文件)

    可变(variable)

        /var/mail(用户邮箱)

        /var/run(程序相关)

        /var/spool/news(新闻组)

        /var/lock(文件锁相关)

    对于文件之间的区别,有两种定义:可共享与不可共享文件、可变与静态文件。通常,在这些方面有区别的文件应该放置在不同的文件夹中。这样在不同的文件系统上保存不同用途的文件会很方便。

    可共享:文件是可以保存在一个主机上而在另外的主机上使用的文件。

    不可共享:是那些不能共享的文件。例如,用户主文件夹下的文件是可共享的,而设备锁文件是不可共享的。

    静态文件:包括二进制文件、库文件、文档和其他在系统管理员不介入就不会变动的文件。

    可变文件:是非静态的文件。


    目录结构图


    常用目录说明表

    目录 描述
    / 根文件系统
    bin
    存放普通用户可以使用的命令的二进制文件
    boot
    启动Linux时使用的一些核心文件
    dev
    设备文件
    etc
    主机特定的系统配置文件
    home
    用户主文件夹
    lib
    动态链接共享库,作用类似windows里的.dll文件
    media
    可移动设备的挂载点,当前的操作系统通常会把U盘等设备自动挂载到该文件夹下
    mnt
    临时用于挂载文件系统的地方
    opt
    多数第三方软件默认安装到此位置
    proc
    它是存在于内存中的虚拟文件系统。里面保存了内核和进程的状态信息
    root
    root 用户的主文件夹
    sbin
    供超级用户使用的可执行文件,里面多是系统管理命令
    tmp
    临时文件
    usr

    二级层次结构

    var
    变量数据
    /usr层次结构
    bin 绝大多数用户命
    include C 程序包含的头文件
    lib
    local 本地层次结构(整个系统安装后为空)
    sbin 非紧要的系统二进制文件
    share 独立与系统架构的数据,放置的数据几乎是不分硬件架构均可读取的数据
    /var层次结构
    cache 应用程序缓存数据
    lib 可变状态信息
    local /usr/local 的可变数据
    lock 锁文件
    log 日志文件和文件夹
    opt

    /opt 的可变数据

    run 有关正在运行进程的数据
    spool 应用程序spool 数据
    tmp 系统两次启动之间保留的临时文件

    /usr 是文件系统中的第二个重要的部分。/usr 是可共享的只读数据。就是说/usr 应该可以在各种FHS 兼容的主机之间共享并且禁止写入。任何主机特有的信息或随时间变化的量都保存在其他地方。大型的软件包禁止在/usr 层次结构中使用直接的子文件夹。

    /var 包含可变数据文件。这包括spool 文件夹和文件、管理和日志数据,及过渡和临时文件。

    /var 中有一些部分不能在不同的系统间共享。例如,/var/log、/var/log 和/var/run。另外的部分可以共享,尤其像/var/mail、/var/mail、/var/cache/man、/var/cache/font和/var/spool/news。


    建议:

    1、根系统应尽量小。

    2、应用程序任何时候都不能创建或要求在根文件夹下保存特殊文件或子文件夹。

  • 相关阅读:
    Java equals compareTo()的区别
    Java getClass() VS instanceof VS ==
    HashMap与LinkedHashMap
    位运算的一些用例
    常见字符集和编码方式
    spring 打印所有创建的beans
    ApplicationContext之getBean方法详解
    多线程时Autowired自动注入问题
    使用Nexus创建Maven私服
    MYSQL timestamp用法
  • 原文地址:https://www.cnblogs.com/SQP51312/p/6378930.html
Copyright © 2020-2023  润新知