Linux 目录配置标准:FHS

FHS:即Filesystem Hierarchy Stabdard,文件配置标准。其主要目的是希望用户可以了解已安装软件通常放置在哪个目录下。
FHS根据文件系统使用的频繁与否与是否允许用户随意改动,而将目录定义成为四种交互的形态,如下表:

  • 可分享的:可分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据,是能分享给网络上其他主机挂载用的目录。
  • 不可分享的:自己机器上运行的设备文件或者与程序有关的socket文件等
  • 不变的:比如函数库、文件说明文件、系统管理员所管理的主机服务配置文件等。
  • 可变动的:经常改变数据,例如登录文件、新闻组等。
事实上,FHS针对目录架构,定义出三层目录下面应该放什么数据而已,分别是下面三个目录定义:
  • / (root,根目录):与开机系统有关;
  • /usr(UNIX software resource):与软件安装执行有关;
  • /var (variable):与系统运作过程有关。
根目录的意义与内容
根目录是整个系统最重要的一个目录,所有目录都是由根目录衍生出来,同时根目录也与开机、还原、系统修复等操作有关。
FHS标准建议:根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。如此不但性能较好,根目录所在的文件系统也较不容易发生问题。
如下表表示根目录以及子目录内容:

  • 除了这些目录内容之外,另外需要注意的是,因为根目录与开机有关,开机过程仅有根目录会被挂载,其他分区则是在开机完成后才会持续进行挂载行为。因此根目录下与开机过程有关的目录就不能够放到不同的分区去。
  • /etc:配置文件
  • /bin:重要执行文件
  • /dev:所需要的设备文件
  • /lib:执行文件所需要的函数库与内核所需要的模块
  • /sbin:重要的系统执行文件
/usr的意义和内容
usr是UNIX software Resource的缩写,也就是“UNIX 操作系统软件资源”所放置的目录,而不是用户数据。FHS建议所有软件开发者应将他们的数据合理地分别放置到这个目录下的子目录,而不要自行新建该软件自己独立的目录。
因为所有系统默认的软件(distribution发布者提供的软件)都会放置在/usr下面,因此这个目录有点类似windows系统的“C:Windows\”和“C:Progrom files”这两个目录的综合体。系统安装完毕后这个目录会占用最多的硬盘容量。

/var的意义和内容
/var在系统运行后才会逐渐占用硬盘容量。var目录主要针对常态性变动的文件,包括缓存(caches)、登录文件(logfile)以及某些软件运行所产生的文件,包括程序文件(lock file,run file)或者MySQL数据库的文件等。

目录树(directory tree)

在Linux下面,所有的文件与目录都是由根目录开始的。那是所有目录与文件的源头。然后再一个个分支下来,有点像树枝状。因此我们也称这种目录配置方式为“目录树(directorytree)”。它主要特性如下:
  • 目录树起始点为根目录(/,root)
  • 每一个目录不只能使用本地端的文件系统,也可以使用网络上的文件系统。比如利用Network File System(NFS)服务器挂载某特定目录等。
  • 每一个文件在此目录树中的文件名(包含完整路径)都是独一无二的。

绝对路径和相对路径

  • 绝对路径:由根目录(/)开始写起的文件名或者目录名称,例如/home/dmtsai/.bashrc
  • 相对路径:相对于目前路径的写法。例如./home/dmtsai或者../../home/dmtsai/等

两个特殊的目录:

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

Linux基础学习:目录配置的更多相关文章

  1. linux基础学习目录

    以下用一个表格来罗列linux默认的目录或文件及其用途: 目录/文件 用途 来源 / /处于Linux文件系统树形结构的最顶端,它是Linux文件系统的入口,所有的目录.文件.设备都在/之下. - / ...

  2. Linux基础学习 | 目录及文件

    一.目录结构 Linux目录采用树形结构,以根目录/向下延伸呈一个倒置的树的形状. 每个目录下都有其相对应的子目录,而子目录中又有其子目录的存在,就像一棵树的树枝分叉,所有的目录层次结构分明,每个目录 ...

  3. Linux 基础学习1

    目录 Linux 基础学习 用户登录 终端 交互式接口 bash 修改ssh连接慢的步骤 命令提示符 显示提示符格式 命令 别名 命令格式 获取命令的帮助信息 man bash 快捷键 tab 键 引 ...

  4. Linux基础学习系列目录导航

    Linux基础学习-通过VM安装RHEL7.4 Linux基础学习-命令行与图形界面切换 Linux基础学习-基本命令 Linux基础学习-RHEL7.4之YUM更换CentOS源 Linux基础学习 ...

  5. linux基础学习之软件安装以及常用命令

    linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...

  6. linux基础学习路线&review

    linux基础学习网址: https://www.runoob.com/linux/linux-tutorial.html 比较重点的是这个启动过程的介绍学习:https://www.runoob.c ...

  7. Linux 基础学习2

    目录 Linux 基础学习2 文件目录结构 文件命名规范 文件系统结构 linux应用程序的组成 绝对路径和相对路径 目录名和基名 切换目录 切换到家目录 切换到上一次的目录 显示当前的工作目录 列出 ...

  8. 关于linux中的目录配置标准以及文件基本信息

    关于Linux中的目录配置标准 在查看docker.k8的运行日志,修改相关的运行记录的时候,学长总是能很快地找到目录,这个多多少少和Linux的FHS(File Hierarchy Standard ...

  9. Msftables之Linux NFS共享目录配置漏洞

    实验目的 1.了解Metasploitables靶机系统漏洞: 2.学习使用Metasploit. 实验原理 msftables之利用Linux NFS共享目录配置漏洞渗透. 实验内容 msftabl ...

  10. linux文件权限目录配置笔记

    ###linux 文件权限目录配置笔记 ---------- 多人多任务环境 linux 一般将文件可存取的身份分为三个类别:owner group others Permission deny ls ...

随机推荐

  1. Win7系统修改hosts无法保存怎么办?

    背景 有的时候我们需要修改hosts文件,但是在某些情况下竟提示保存不了.之前有一次IntelliJ IDEA提示我快到期了,于是我到网上找到了一个激活方法,但需要将一个地址放到hosts文件中去,此 ...

  2. 织梦5.7sp1最新问题:后台不显示编辑器

    1.在后台的“系统基本参数”里修改“站点设置”的“网页主页链接:空”. 2.修改“核心设置”DedeCMS安装目录:空“. 3.试试,问题解决.

  3. Node.js 事件循环机制

    Node.js 采用事件驱动和异步 I/O 的方式,实现了一个单线程.高并发的 JavaScript 运行时环境,而单线程就意味着同一时间只能做一件事,那么 Node.js 如何通过单线程来实现高并发 ...

  4. 有趣的 box-decoration-break

    这两天接触到一个很有意思的 CSS 属性 -- box-decoration-break.下面就一起去一探究竟. 因为 MDN 上关于这个属性,没有中文文档,所以一直在想一个合理贴切的中文翻译.直译一 ...

  5. #Java学习之路——基础阶段二(第三篇)

    我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...

  6. 了解一下RabbitMQ

    RabbitMQ概述 RabbitMQ是遵从AMQP协议的 通信协议都设计到报文交互,换句话说RabbitMQ就是AMQP协议的Erlang的实现. AMQP说到底还是一个通信协议从low-level ...

  7. 磁盘阵列raid类型及含义

    raid0: 多块盘同时进行读写: 优点是读写效率高,缺点是没有数据冗余: 最少需要两块盘. raid1: 将数据盘都做镜像: 优点是有数据冗余:缺点是读写效率低,磁盘利用率低: 最少需要两块盘. r ...

  8. Dom4J配合XPath解析schema约束的xml配置文件问题

    如果一个xml文件没有引入约束,或者引入的是DTD约束时,那么使用dom4j和xpath是可以正常解析的,不引入约束的情况本文不再展示. 引入DTD约束的情况 mybook.dtd: <?xml ...

  9. 【TensorFlow篇】--反向传播

    一.前述 反向自动求导是 TensorFlow 实现的方案,首先,它执行图的前向阶段,从输入到输出,去计算节点值,然后是反向阶段,从输出到输入去计算所有的偏导. 二.具体 1.举例 图是第二个阶段,在 ...

  10. 微信小程序初体验,入门练手项目--通讯录,后台是阿里云服务器(一)

    内容: 一.前言 二.相关概念 三.开始工作 四.启动项目起来 五.项目结构 六.设计理念 七.路由 八.部署线上后端服务 同步交流学习社区: https://www.mwcxs.top/page/4 ...