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. Codeforces Round #539 (Div. 2) - D. Sasha and One More Name(思维)

    Problem   Codeforces Round #539 (Div. 2) - D. Sasha and One More Name Time Limit: 1000 mSec Problem ...

  2. React 基础入门

    React 起源于 Facebook 内部项目,是一个用来构建用户界面的 Javascript 库,相当于MVC架构中的V层框架,与市面上其他框架不同的是,React 把每一个组件当成了一个状态机,组 ...

  3. 12.22 大湾区.NET Meet 大会

    今年的 Connect(); 主题更加聚焦开发者工具生产力.开源,以及无服务器(Serverless)云服务. Visual Studio 2019 AI 智能加持的 IntelliCode.实时代码 ...

  4. python 基础语法梳理

    最近涉及到python的东西比较多,抽一点时间把基础语法规整下. 1.面向对象 #coding=utf-8 def _class_test_01(): s = squire(3,4) print(&q ...

  5. building tool

    Build Tool的含义是什么? building tool中文名称叫构建工具,BuildTools.jar是我们构建Bukkit,CraftBukkit,Spigot和Spigot-API的解决方 ...

  6. C#常见金额优选类型及其三种常用的取整方式

    这两天一直在做一个商城后台的对账方面的工作,忽然发现C#真的有很多值的学习的东西: 一.C#常用的三种取整方式(主要适用于double.decimal.float这一类型的数据): Math.Roun ...

  7. Python学习笔记【第一篇】:认识python和基础知识

    我的笔记里的python代码运行环境都是在pycharm软件中运行,所以不去记录如何配置环境变量呀什么的. python种类 Cpython: Python的官方版本,使用C语言实现,使用最为广泛,C ...

  8. BTrace 问题辅助排查工具使用手册

    BTrace是调试神器,可以通过自己编写的脚本,获取应用的一切调用信息.而不需要重启应用! Btrace 项目源码信息(你行你上~) 项目地址:http://github.com/btraceio/b ...

  9. 音频处理EQ的基本概念

     我们通常所说的人声,歌声以及乐声都是一个复合音,也就是由声音的基音和一系列的泛音所构成的.这些泛音都是基音频率的倍数,物理学中叫分音,电声学中叫谐波,音乐中则把它们称做泛音.可以说,泛音对音色的特性 ...

  10. bootsect及setup

      BIOS和bootsect CPU加电即进入16位实模式 硬件逻辑设计为加电瞬间强行设置:CS=0xF000,IP=0xFFF0,CS:IP=0xFFFF0 而BIOS程序的入口地址即0xFFFF ...