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. Pytorch系列教程-使用字符级RNN对姓名进行分类

    前言 本系列教程为pytorch官网文档翻译.本文对应官网地址:https://pytorch.org/tutorials/intermediate/char_rnn_classification_t ...

  2. Windows10系统:任务栏中电池图标消失问题的解决方法

    一.问题: 电池图标对我们来说,基本是没有什么操作对它进行的,但这并不代表它不重要. 持续充电的时候自然觉得没什么,但一旦电脑脱离充电状态,我们还是会经常性地把鼠标放在电池图标上.只有清楚地了解电脑的 ...

  3. AI - TensorFlow - 示例01:基本分类

    基本分类 基本分类(Basic classification):https://www.tensorflow.org/tutorials/keras/basic_classification Fash ...

  4. 3.Git基础-查看当前文件状态、跟踪新文件、暂存文件、忽略文件、提交更新、移除文件、移动文件

    1.检查当前文件状态 --  git status  git diff  git diff --staged   git status :我们可以使用 git status 来查看文件所处的状态.当运 ...

  5. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之九 || 依赖注入IoC学习 + AOP界面编程初探

    更新 1.如果看不懂本文,或者比较困难,先别着急问问题,我单写了一个关于依赖注入的小Demo,可以下载看看,多思考思考注入的原理: https://github.com/anjoy8/BlogArti ...

  6. windows安装IDEA

    1.安装下载 https://www.jetbrains.com/idea/download/#section=windows 2.服务器激活地址: 39.129.9.34:8888 https:// ...

  7. 《深入理解Java虚拟机》-----第5章 jvm调优案例分析与实战

    案例分析 高性能硬件上的程序部署策略 例 如 ,一个15万PV/天左右的在线文档类型网站最近更换了硬件系统,新的硬件为4个CPU.16GB物理内存,操作系统为64位CentOS 5.4 , Resin ...

  8. 『集群』001 Slithice 服务器集群 概述

    Slithice 服务器集群 概述 Slithice是做什么的 Slithice 是一个 跨平台 的 分布式架构 框架: 旨在简化 分布式开发 的开发难度,节省 开发成本 和 后期维护成本: 并提供 ...

  9. 【Python3爬虫】常见反爬虫措施及解决办法(一)

    这一篇博客,是关于反反爬虫的,我会分享一些我遇到的反爬虫的措施,并且会分享我自己的解决办法.如果能对你有什么帮助的话,麻烦点一下推荐啦. 一.UserAgent UserAgent中文名为用户代理,它 ...

  10. 1.2环境安装「深入浅出ASP.NET Core系列」

    官网 在介绍安装环境之前,先介绍周边信息,比如微软net官网. https://www.microsoft.com/net 这个网站是学习微软技术栈比较权威的地方,包括环境下载,学习,架构,文档,社区 ...