美文网首页
2. Directory

2. Directory

作者: 梦回吹角连营 | 来源:发表于2014-12-16 21:15 被阅读0次

    1. FHS

    Filesystem Hierarchy Standard 的主要目的在于,让使用者可以了解到已安装软件通常放置的目录,FHS 的重点在于规范每个特定的目录下应该要放置什么数据。根据 FHS 对目录的定义,可将目录大致进行如下划分:

    可共享的(shareable) 不可共享的(unshareable)
    不可变的(static) /usr、/opt /etc、/boot
    可变动的(variable) /var/mail、/var/spool/news /var/run、/var/lock

    对这四种类型进行简单解释:

    • 可共享的:即可以分享给其他系统挂载使用的目录,是能够分享给网络中其他主机挂载的目录

    • 不可共享的:自己机器上运行的配置文件或者与程序有关的 socket 文件,由于仅与自身机器相关,因此属于不可共享

    • 不变的:有些数据跟随 distribution 而不会改变

    • 可变动的:相对不变的数据,有些数据会经常发生改变

    在实际应用中,FHS 定义了三层目录结构:

    • / :根目录,与系统开机启动相关

    • /usr:unix software resource, 与软件安装/执行相关

    • /var:variable, 与系统运行过程相关

    2. ' / ' 根目录的意义和内容

    根目录是 Linux 系统中最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,而且根目录也与开机/还原/系统修复等操作相关。系统开机时需要的开机软件、核心文件、开机所需程序、函数库和系统修复程序等都存放在根目录下。

    FHS 标准建议:根目录所在的分区应该越小越好,且应用程序所安装的软件最好不要和根目录放在同一分区内,保持根目录越小越好。

    因为如果分区越大就有可能放入越多的数据,其他数据的增多会导致根目录所在分区出错的概率增大。保持根目录的精简,可以使得系统效能最佳,根目录所在的文件系统也比较不容易出现错误。

    FHS 定义的根目录下的次级目录:

    目录 存放的文件内容
    /bin 存放常用的命令,这些命令可以在单人维护模式中执行
    /boot 存放开机使用的文件,包括 Linux 核心文件及开机所需的配置文件等。
    /dev 存放硬件与接口设备文件,存取目录中的某个文件就相当于调用了某个设备
    /etc 存放系统中几乎所有的配置文件。FHS 建议不要放置可执行文件在该目录中
    /home 系统默认的用户家目录。每个普通用户的家目录都保存在该目录下
    /lib 系统开机时会用到的函数库,以及 /bin 和 /sbin 下命令调用的函数
    /media 存放可移除的媒体设备,包括软盘、光盘、DVD 等
    /mnt 存放需要挂载的额外设备
    /opt 存放安装第三方软件
    /root root 的家目录
    /sbin 开机过程中所需要的命令,包括开机、修复、还原等
    /srv service,在一些网络服务启动后,服务所需要取用的数据目录
    /tmp 存放普通用户或正在执行程序的临时文件
    lost+found 存放当文件系统发生错误时将遗失的部分数据
    /proc 虚拟文件系统,该目录下的数据都存储在内存中,主要记录系统运行状态等
    /sys 与 /proc 类似,虚拟文件系统,记录与核心相关的信息,存储在内存中

    其中:/etc /bin /dev /lib /sbin 这五个目录必须与根目录在同一硬盘分区。

    3. '/usr' 意义与内容

    /usr 存放的数据属于可分享但不可变动,主要用于存放系统软件资源。

    /usr 的次级目录主要包括:

    目录 存放的文件内容
    /usr/bin 存放绝大部分用户可使用的命令
    /usr/include 存放 C/C++ 等语言的 header 和 include
    /usr/lib 存放软件的函数库等
    /usr/local root 在本机自行安装的软件
    /usr/sbin 非系统正常运行所需要的系统命令
    /usr/share 存放共享文件
    /usr/src 存放软件源代码

    4. /var 意义与内容

    /var 主要存放常态性变动的文件,主要包括:缓存、日志文件、数据库文件、软件运行产生的文件等。

    /var 的次级目录主要包括:

    目录 存放的文件内容
    /var/cache 软件运行时产生的一些文件
    /var/lib 软件运行时使用的数据库文件
    /var/lock 确保非共享资源的独占性
    /var/log 存放日志文件
    /var/mail /var/spool/mail 都用于存放电子邮件
    /var/run 在程序或服务启动后,存放 PID
    /var/spool 等待其他程序正在使用的数据

    5. 目录树

    在 Linux 中所有的文件和目录都是由根目录开始,由此产生的目录结构成为目录树。目录树的主要特征包括:

    • 目录树的起始点为根目录 /

    • 目录包括本地目录和挂载的非本地目录

    • 每一个文件在目录树中的路径时独一无二的

    Linux 的目录树架构:

    directory_tree.gif

    6. 绝对路径和相对路径

    • 绝对路径:由根目录开始到目录名或文件名的路径

    • 相对路径:相对于当前路径的文件名写法。也可以认为不以根目录开头的写法

    相对路径中使用的两个特殊的目录:

    • . : 代表当前目录,也可以用 ./表示

    • .. :当前目录的上层目录,也可以用 ../表示

    更多参考:

    FHS
    鸟哥的 Linux 私房菜 - Linux 目录配置

    相关文章

      网友评论

          本文标题:2. Directory

          本文链接:https://www.haomeiwen.com/subject/kljotttx.html