Linux的FHS(文件系统结构标准)剖析

简介:

Linux的FHS(文件系统结构标准)剖析

     我们平时所说的Linux系统并不是说的某一个操作系统,而是指使用了由Linus Torvalds(林纳斯·托瓦兹)发明并领衔开发的Linux内核的所有操作系统,Linux仅仅指的是该系统的内核,单独的一个Linux基本上是无法运行任何程序的。

由于Linux内核是自由、免费的,所以有很多人开发了基于Linux的操作系统,开发这样一个系统的大环境是GNU计划,该计划倡导软件自由、免费!很多人接受了这样一种思维并开始开发一些免费的软件,而这些软件当时正好苦于找不到一个好的内核,而由Linus Torvalds开发的Linux内核也同样需要运行于该内核的软件,于是GNU计划与Linux内核有了一个完美的结合。不同的人把不同的免费软件与Linux内核结合打包成完整的操作系统,并逐步形成了自己的品牌。这里比较有影响力的有Redat Linux、Ubuntu Linux、openSUSE、Mandriva、Centos等!
    但是这样开发出来的系统就会有一些缺点,由不同的团队开发出来的基于Linux系统自然有很多地方是无法统一的,想想如果每个开发人员都独自开发自己的系统,并且计算机配置与使用方法完全不统一,那么结果就是你学习了其中一个版本的Linux系统,但当你学成结业,携带自己的技艺进入职场后,你傻啦!因为新的Linux系统与你学的完全不同,界面不同、文件结构不同、命令不同、使用习惯不同… …
由于种种这些原因,于是LSB(Linux Standard Base)出现了,它是由Linux基金会发布的Linux标准规范,以实现天下Linux的大统一!在这份关于Linux标准文档中就规定了Linux的文件系统机构标准(FHS)。
    FHS定义了在/(根目录)下各个主要目录应该存放的主要文件内容,此外还专门定义了/usr和/var两个目录及其子目录的结构。这样当我们使用来自不同公司开发的Linux系统时,你就可以很快的在某个地方找到你想要的文件了。
Linux系统采用的是树状存储结构,在Linux中所有文件与目录都是由/(根)开始的。就想你使用Windows是如果想要打开C盘Windows目录里的fonts文件夹下的某个文件,你必须从C盘开始去找!
    以下是Linux各个目录及其存放的主要内容的说明:
/ 根目录,所有文件、文件夹的入口
/bin 一般用户使用的命令
/sbin 管理员使用的命令
/boot 存放启动文件及Linux内核的地方
/dev 设备目录,在Linux所有设备也都是以文件的形式出现的,打开/dev/sda1,就是打开了你硬盘的第一个分区
/etc 系统配置文件,在这里你可以修改系统的很多东西,关键是你得熟悉这些文件
/home 每个用户自己的个人空间
/lib 库文件
/media 以前是挂接外部存储器的,现在都改到/mnt下了,光盘的内容在该目录下
/mnt 外接设备目录,如移动硬盘、U盘的内容在次目录下存放
/opt 部分软件的存放地点
/root 超级管理员的个人空间
/tmp 临时文件
/usr 绝大多数程序默认会安装在该目录下的某个子目录中
/var 系统日志文件夹
这些是最主要的主目录,如果你想深入研究各个子目录的定义可以去http://www.pathname.com/fhs/下载全部文档说明。
有个这样一个标准我们可以快速的由某个Linux的发行版迁移到另一个发行版,当然FHS仅是一个参考,每个不同的发行版还是会有自己的一些独特设计。











本文转自丁丁历险51CTO博客,原文链接: http://blog.51cto.com/manual/788619 ,如需转载请自行联系原作者

相关文章
|
1月前
|
存储 监控 Shell
【Shell 命令集合 备份压缩 】Linux 备份文件系统 dump命令 使用指南
【Shell 命令集合 备份压缩 】Linux 备份文件系统 dump命令 使用指南
37 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 磁盘维护 】Linux 创建Minix文件系统 mkfs.minix 命令使用教程
【Shell 命令集合 磁盘维护 】Linux 创建Minix文件系统 mkfs.minix 命令使用教程
34 0
|
1月前
|
存储 Linux Shell
【Shell 命令集合 磁盘维护 】Linux 创建MS-DOS文件系统 mkfs.msdos命令使用教程
【Shell 命令集合 磁盘维护 】Linux 创建MS-DOS文件系统 mkfs.msdos命令使用教程
29 0
|
1月前
|
存储 算法 Linux
【Linux系统编程】Linux 文件系统探究:深入理解 struct dirent、DIR 和 struct stat结构
【Linux系统编程】Linux 文件系统探究:深入理解 struct dirent、DIR 和 struct stat结构
45 0
|
4天前
|
Ubuntu Linux 芯片
Linux(2)ubuntu rootfs根文件系统制作
Linux(2)ubuntu rootfs根文件系统制作
19 0
|
12天前
|
存储 运维 监控
深入理解 Linux 文件系统的层次结构
【4月更文挑战第14天】本文将探讨 Linux 操作系统的文件系统层次结构,这是每个系统管理员和开发人员必须掌握的核心知识。我们将从文件系统的顶层目录开始,逐步深入到每个目录的特定用途和重要性,以及它们如何协同工作以支持 Linux 系统的正常运行。
|
25天前
|
存储 固态存储 Unix
Linux中磁盘分区和文件系统管理
在Linux系统中,磁盘是存储数据的物理设备,如HDD或SSD,以文件形式存在于`/dev`目录下,如`sda`、`sdb`等。文件系统定义了如何在磁盘上组织和访问数据,常见的Linux文件系统有ext2、ext3、ext4、xfs等。通过虚拟机软件如VMware,用户可以向Linux虚拟机添加新的硬盘。
|
1月前
|
安全 Linux 数据安全/隐私保护
深入理解Linux文件系统的权限管理
在Linux操作系统中,文件系统权限管理是维护系统安全与数据完整性的基石。本文将深入探讨Linux文件系统中的权限模型,包括用户、组和其他三个层级的读、写、执行权限。通过分析权限位的具体含义和实际作用,文章旨在提供一套系统的方法论,以帮助系统管理员和开发人员更有效地配置和管理文件权限。同时,我们将通过实例展示如何使用命令行工具和配置文件来修改和查看文件权限,以及如何利用权限管理来增强系统的安全性。
|
1月前
|
存储 安全 Linux
【Shell 命令集合 设备管理 】Linux 更改根文件系统的设备号 rdev命令 使用指南
【Shell 命令集合 设备管理 】Linux 更改根文件系统的设备号 rdev命令 使用指南
31 0
|
1月前
|
存储 缓存 Shell
【Shell 命令集合 磁盘维护 】⭐⭐⭐Linux 将文件系统的缓冲区数据立即写入磁盘 sync 命令使用教程
【Shell 命令集合 磁盘维护 】⭐⭐⭐Linux 将文件系统的缓冲区数据立即写入磁盘 sync 命令使用教程
52 1