使用 linux 进行各种各样开发的人实在太多了,因此一套统一的“什么文件存放在哪里”的规范应运而生,被称为 FHS(Filesystem Hierarchy Standard)。

FHS 首先将文件分为四类:1)可分享的文件,指可以分享给其他系统拿去共享挂载的目录;不可分享的,指只与本机运行相关的没有分享意义的文件。2)不常变的文件,指随着系统更新一般不会改变的配置文件;可变动的文件,指经常改变的文件。

例子 可分享的 不可分享的
不变的 应用程序 配置文件 内核文件
变动的 邮件 程序运行的临时文件

FHS 定义了这三个目录:

  • /(root 根目录)
  • /usr (Unix software resources 软件存放 注意并不是 user 的缩写)
  • /var (variable)

根目录 /

根目录是系统最重要的目录,他和系统的开启、运行修复等息息相关。根目录通常需要这些目录:

目录 内容
/bin 放置 cat,cp这样基本命令的目录,与/usr中的命令的区别是,他们在单人维护模式荏苒能使用
/boot 这个目录主要在放置开机会使用到的文件,包括Linux核心文件以及开机菜单与开机所需配置文件等等。
/dev linux中,目录以特殊文件的形式存在,通过存储这里的文件操控设备
/etc 储存各种配置文件
/lib 储存函数库
/media 放置各种媒体储存设备
/mnt 用于挂载设备
/opt 用于安装第三方软件
/run 储存开机后的运行信息
/sbin 储存系统相关的高级命令,他们用于系统修复管理,一般只有root可以使用
/srv 服务service,用于放置一些服务所需的数据
/tmp 所有程序都可以使用的临时文件目录
/home 存放使用者的主文件夹
/lib64 储存64位的函数库
/root root 用户的主文件夹
/lost+found 文件系统发生错误时,一些数据会存放到这里
/proc /sys 储存系统核心,网络信息等,这个目录位于内存中,不占用磁盘
/var 第二层 FHS
/usr 第二层 FHS

如果使用救援模式,/etc、 /bin、 /dev、 /lib、 /sbin 通常是最重要的目录,他们要与根目录挂载到一起。

/usr 目录

usr 意为 Unix software resources,即存放程序的地方,相当于 Win 中的C:\Program Files。所有软件都应该把它们的数据安放在这个目录下。一般来说,/usr 下需要这些目录。

目录 内容
/usr/bin 一般用户能使用的指令,往往与 /bin 链接到一起,他们的内容是相同的
/usr/lib/ 储存函数库,往往与 /lib 链接到一起,他们的内容是相同的
/usr/local 一般来讲,不是通过;应用包管理而自行安装的软件建议集合到这里,local 下同样具有 bin,lib 等目录
/usr/sbin 储存正常运行以外的高级命令,通常链接到 /sbin
/usr/share/ 一些可分享的数据,通常是一些文档说明,之下有 man doc 等目录
/usr/games/ 游戏
/usr/include/ 储存 c 和 c++ 的库头文件
/usr/libexec 储存一些不惯用的脚本
/usr/src 存放一些程序的源代码

/var 目录

这个目录储存程序运行时的各种数据,包括高速缓存(cache)、登录文件(log file)以及某些软件运行所产生的文件, 包括程序文件(lock file, run file)。通常拥有这些子目录。

目录 内容
/var/cache 储存程序运行的一些暂存数据
/var/lib 储存程序需要的数据文件,如 Mysql 的数据库
/var/lock 管理上锁的设备文件
/var/log 放置登录文件
/var/mail 储存个人邮箱
/var/run 储存应用运行后的一些信息,链接到/run
/var/spool 储存暂未使用,排队等待使用的一些数据

linux 基础(4)文件结构标准 FHS的更多相关文章

  1. [Linux]Filesystem Hierarchy Standard/文件系统层次结构标准(FHS for Linux)

    1 文件系统层次结构标准 本篇文章为维基百科中关于FHS的译文,原文见 wiki:https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ...

  2. Linux目录文件详解FHS标准(2013.09.05)

    Linux 目录配置的依据FHS(Filesystem Hierarchy Standard)标准,将目录分成为四种交互作用的形态: 四种形态的具体解释: 可分享的:可以分享给其他系统挂载使用的目录, ...

  3. Linux基础入门

    第一节,linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 (一).Linux 为何物 ...

  4. Linux 基础入门(新版)”实验报告一~十二

    实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...

  5. 《信息安全系统设计基础》第一次实验报告--Linux 基础入门

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全设计基础 班级:1352  姓名:何伟钦  学号:20135223 成绩:            指导教师:娄嘉鹏 ...

  6. Linux基础入门学习笔记20135227黄晓妍

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

  7. Linux基础命令和NAT技术

    yum    yellowdog updater,modified是一种用python写的基于rpm的管理工具 用于解决rpm包的依赖性 要安装编译工具 yum install gcc 库函数:静态库 ...

  8. Linux基础学习笔记2-文件管理和重定向

    本节内容 1)文件系统结构元素 2)创建和查看文件 3)复制.转移和删除文件 4)软和硬链接 5)三种I/O设备 6)把I/O重定向至文件 7)使用管道 文件系统和结构 文件系统 文件和目录被组织成一 ...

  9. Linux基础培训知识点汇总

    一.Linux简介1.Linux操作系统诞生于1991年10月5日,由林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生.2.Linux同时也衍生了很多版本( ...

  10. Linux基础知识回顾及BASH学习

    2019-2020-030189224 <网络攻防技术与实践>第一周学习总结 Linux基础知识错题回顾 1.Linux中使用(B)命令新建空白文件. A .mkdir B .touch ...

随机推荐

  1. windows10操作系统QQ音乐开全局音效后频繁出现报错,鼠标卡顿,系统死机等问题——解决方法

    如题: windows10操作系统QQ音乐开全局音效后频繁出现报错,鼠标卡顿,系统死机等问题. QQ音乐,开启全局音效,提示需要重启: 重启电脑后发现出现频繁卡机,鼠标卡顿,甚至短暂的死机现象,查看控 ...

  2. NVIDIA公司的半成品项目cule——GPU端运行的Atari2600游戏环境——已经废弃的项目

    官网介绍地址: https://developer.nvidia.com/blog/new-open-source-gpu-accelerated-atari-emulator-for-reinfor ...

  3. 国产深度学习框架MindSpore的高校发展之旅——“样本点”计划

    MindSpore这个框架我是使用时间比较早的了,因为这是华为的产品,而且正好是我所在的领域,再加上前些年华为的那些爱国宣传,我是大力支持这个软件的,而且是非常支持的那种.虽然之前就知道华为的这个软件 ...

  4. 再探 游戏 《 2048 》 —— AI方法—— 缘起、缘灭(8) —— 2021年9月SOTA的TDL算法——《Optimistic Temporal Difference Learning for 2048》——完结篇

    <2048>游戏在线试玩地址: https://play2048.co/ 如何解决<2048>游戏源于外网的一个讨论帖子,而这个帖子则是讨论如何解决该游戏的最早开始,可谓是&q ...

  5. blender-主要操作技巧

    E 或 G 或 S 之后 不在同一平面的 处理1切换正视图    alt + z 切换透视模式  s + z +0 变成同一平面

  6. md2pdf

    https://www.pandoc.org/installing.html https://github.com/jgm/pandoc/releases/tag/2.18 https://blog. ...

  7. 如何用C语言操作sqlite3,一文搞懂

    sqlite3编程接口非常多,对于初学者来说,我们暂时只需要掌握常用的几个函数,其他函数自然就知道如何使用了. 数据库 本篇假设数据库为my.db,有数据表student. no name score ...

  8. Win32 SDK 下的TreeCtrl控件的封装

    自己照着MFC封装,半月前封装了一半,碰到问题就放下了,今天终于封装好了. [Ctree.h]文件 #pragma once #include <windows.h> #include & ...

  9. C# Winform 使用 BarTender打印条码

    目录 - 1. 使用软件BarTender 设计打印模板 - 2. Winfrom集成打印 - 3.最终效果 - 1. 使用软件BarTender 设计打印模板 贴一个入门级使用教程:https:// ...

  10. C 语言头文件作用的简单理解

    C 语言是一种先声明后使用的语言. 举个例子: 如果你要在 main() 函数里调用一个你的函数 foo(),那么你有两种写法: 将 foo() 的定义写在 main() 之前.此时 foo() 的声 ...