Linux 文件系统结构介绍

Linux 系统-文件系统目录结构介绍和文件管理 今天给伙伴们分享一下Linux 文件系统目录结构介绍和文件管理,希望看了有所收获。我是,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相关文档。爱运维,爱生活。 阅读详情

Linux 文件系统结构介绍

Linux中的文件是什么?它的文件系统又是什么?那些配置文件又在哪里?我下载好的程序保存在哪里了?在 Linux 中文件系统是标准结构的吗?好了,上图简明地阐释了Linux的文件系统的层次关系。当你苦于寻找配置文件或者二进制文件的时候,这便显得十分有用了。我在下方添加了一些解释以及例子,不过“篇幅较长,可以有空再看”。

Linux 文件系统结构介绍

 另外一种情况便是当你在系统中获取配置以及二进制文件时,出现了不一致性问题,如果你是在一个大型组织中,或者只是一个终端用户,这也有可能会破坏你的系统(比如,二进制文件运行在旧的库文件上了)。若然你在你的Linux系统上做安全审计的话,你将会发现它很容易遭到各种攻击。所以,保持一个清洁的操作系统(无论是Windows还是Linux)都显得十分重要。

Linux的文件是什么?

对于UNIX系统来说(同样适用于Linux),以下便是对文件简单的描述:

在UNIX系统中,一切皆为文件;若非文件,则为进程

这种定义是比较正确的,因为有些特殊的文件不仅仅是普通文件(比如命名管道和套接字),不过为了让事情变的简单,“一切皆为文件”也是一个可以让人接受的说法。Linux系统也像UNIX系统一样,将文件和目录视如同物,因为目录只是一个包含了其他文件名的文件而已。程序、服务、文本、图片等等,都是文件。对于系统来说,输入和输出设备,基本上所有的设备,都被当做是文件。

题图版本历史:

  • Version 2.0 – 17-06-2015
    • – Improved: 添加标题以及版本历史
    • – Improved: 添加/srv,/meida和/proc
    • – Improved: 更新了反映当前的Linux文件系统的描述
    • – Fixed: 多处的打印错误
    • – Fixed: 外观和颜色
  • Version 1.0 – 14-02-2015
    • – Created: 基本的图表
    • – Note: 摒弃更低的版本

下载链接

以下是大图的下载地址。如果你需要其他格式,请跟原作者联系,他会尝试制作并且上传到某个地方以供下载

注意: PDF格式文件是打印的最好选择,因为它画质很高。

Linux 文件系统描述

为了有序地管理那些文件,人们习惯把这些文件当做是硬盘上的有序的树状结构,正如我们熟悉的’MS-DOS’(磁盘操作系统)就是一个例子。大的分枝包括更多的分枝,分枝的末梢是树的叶子或者普通的文件。现在我们将会以这树形图为例,但晚点我们会发现为什么这不是一个完全准确的一幅图。

目录描述
/主层次 的根,也是整个文件系统层次结构的根目录
/bin存放在单用户模式可用的必要命令二进制文件,所有用户都可用,如 cat、ls、cp等等
/boot存放引导加载程序文件,例如kernels、initrd等
/dev存放必要的设备文件,例如/dev/null
/etc存放主机特定的系统级配置文件。其实这里有个关于它名字本身意义上的的争议。在贝尔实验室的UNIX实施文档的早期版本中,/etc表示是“其他(etcetera)目录”,因为从历史上看,这个目录是存放各种不属于其他目录的文件(然而,文件系统目录标准 FSH 限定 /etc 用于存放静态配置文件,这里不该存有二进制文件)。早期文档出版后,这个目录名又重新定义成不同的形式。近期的解释中包含着诸如“可编辑文本配置”或者“额外的工具箱”这样的重定义
/etc/opt存储着新增包的配置文件 /opt/.
/etc/sgml存放配置文件,比如 catalogs,用于那些处理SGML(译者注:标准通用标记语言)的软件的配置文件
/etc/X11X Window 系统11版本的的配置文件
/etc/xml配置文件,比如catalogs,用于那些处理XML(译者注:可扩展标记语言)的软件的配置文件
/home用户的主目录,包括保存的文件,个人配置,等等
/lib/bin/ 和 /sbin/中的二进制文件的必需的库文件
/lib<架构位数>备用格式的必要的库文件。 这样的目录是可选的,但如果他们存在的话肯定是有需要用到它们的程序
/media可移动的多媒体(如CD-ROMs)的挂载点。(出现于 FHS-2.3)
/mnt临时挂载的文件系统
/opt可选的应用程序软件包
/proc以文件形式提供进程以及内核信息的虚拟文件系统,在Linux中,对应进程文件系统(procfs )的挂载点
/root根用户的主目录
/sbin必要的系统级二进制文件,比如, init, ip, mount
/srv系统提供的站点特定数据
/tmp临时文件 (另见 /var/tmp). 通常在系统重启后删除
/usr二级层级存储用户的只读数据; 包含(多)用户主要的公共文件以及应用程序
/usr/bin非必要的命令二进制文件 (在单用户模式中不需要用到的);用于所有用户
/usr/include标准的包含文件
/usr/lib库文件,用于/usr/bin/ 和 /usr/sbin/中的二进制文件
/usr/lib<架构位数>备用格式库(可选的)
/usr/local三级层次 用于本地数据,具体到该主机上的。通常会有下一个子目录, 比如, bin/, lib/, share/.
/usr/local/sbin非必要系统的二进制文件,比如用于不同网络服务的守护进程
/usr/share架构无关的 (共享) 数据.
/usr/src源代码,比如内核源文件以及与它相关的头文件
/usr/X11R6X Window系统,版本号:11,发行版本:6
/var各式各样的(Variable)文件,一些随着系统常规操作而持续改变的文件就放在这里,比如日志文件,脱机文件,还有临时的电子邮件文件
/var/cache应用程序缓存数据. 这些数据是由耗时的I/O(输入/输出)的或者是运算本地生成的结果。这些应用程序是可以重新生成或者恢复数据的。当没有数据丢失的时候,可以删除缓存文件
/var/lib状态信息。这些信息随着程序的运行而不停地改变,比如,数据库,软件包系统的元数据等等
/var/lock锁文件。这些文件用于跟踪正在使用的资源
/var/log日志文件。包含各种日志。
/var/mail内含用户邮箱的相关文件
/var/opt来自附加包的各种数据都会存储在 /var/opt/.
/var/run存放当前系统上次启动以来的相关信息,例如当前登入的用户以及当前运行的daemons(守护进程).
/var/spool该spool主要用于存放将要被处理的任务,比如打印队列以及邮件外发队列
/var/mail过时的位置,用于放置用户邮箱文件
/var/tmp存放重启后保留的临时文件

Linux的文件类型

大多数文件仅仅是普通文件,他们被称为regular文件;他们包含普通数据,比如,文本、可执行文件、或者程序、程序的输入或输出等等

虽然你可以认为“在Linux中,一切你看到的皆为文件”这个观点相当保险,但这里仍有着一些例外。

  • 目录:由其他文件组成的文件
  • 特殊文件:用于输入和输出的途径。大多数特殊文件都储存在/dev中,我们将会在后面讨论这个问题。
  • 链接文件:让文件或者目录出现在系统文件树结构上多个地方的机制。我们将详细地讨论这个链接文件。
  • (域)套接字:特殊的文件类型,和TCP/IP协议中的套接字有点像,提供进程间网络通讯,并受文件系统的访问控制机制保护。
  • 命名管道 : 或多或少有点像sockets(套接字),提供一个进程间的通信机制,而不用网络套接字协议。

现实中的文件系统

对于大多数用户和常规系统管理任务而言,“文件和目录是一个有序的类树结构”是可以接受的。然而,对于电脑而言,它是不会理解什么是树,或者什么是树结构。

每个分区都有它自己的文件系统。想象一下,如果把那些文件系统想成一个整体,我们可以构思一个关于整个系统的树结构,不过这并没有这么简单。在文件系统中,一个文件代表着一个inode(索引节点),这是一种包含着构建文件的实际数据信息的序列号:这些数据表示文件是属于谁的,还有它在硬盘中的位置。

每个分区都有一套属于他们自己的inode,在一个系统的不同分区中,可以存在有相同inode的文件。

每个inode都表示着一种在硬盘上的数据结构,保存着文件的属性,包括文件数据的物理地址。当硬盘被格式化并用来存储数据时(通常发生在初始系统安装过程,或者是在一个已经存在的系统中添加额外的硬盘),每个分区都会创建固定数量的inode。这个值表示这个分区能够同时存储各类文件的最大数量。我们通常用一个inode去映射2-8k的数据块。当一个新的文件生成后,它就会获得一个空闲的inode。在这个inode里面存储着以下信息:

  • 文件属主和组属主
  • 文件类型(常规文件,目录文件……)
  • 文件权限
  • 创建、最近一次读文件和修改文件的时间
  • inode里该信息被修改的时间
  • 文件的链接数(详见下一章)
  • 文件大小
  • 文件数据的实际地址

唯一不在inode的信息是文件名和目录。它们存储在特殊的目录文件。通过比较文件名和inode的数目,系统能够构造出一个便于用户理解的树结构。用户可以通过ls -i查看inode的数目。在硬盘上,inodes有他们独立的空间。

本文转自:https://linux.cn/article-6132-1.html

Linux文件系统结构介绍 每个目录都有其特定的用途和功能,有助于组织和管理文件和目录。/proc目录是一个虚拟文件系统,它提供了对内核和正在运行的进程的信息访问。通过读取/proc目录中的文件,可以获取有关系统状态的实时信息。/dev目录包含设备文件,这些文件用于与系统中的硬件设备进行交互。根目录是整个Linux文件系统的顶层目录,所有其他目录和文件都位于根目录下。/usr目录包含了系统的可共享只读数据,例如应用程序和其它用户不可更改的数据。/var目录包含了经常变化的文件,例如日志文件、邮件和打印队列等。 阅读详情

相关推荐

西门子S7-1500 PLC模块化编程与生产线自动化实践

PLC(可编程逻辑控制器)作为工业自动化核心设备,其模块化编程技术能显著提升产线控制系统的开发效率。通过SCL高级语言实现算法封装、功能块(FB)复用等工程实践,可构建稳定可靠的分层式控制架构。本文以西门子TIA Portal平台为例,详解S7-1500系列PLC在汽车零部件产线中的标准化应用方案,包含配方管理、设备联动等典型场景的SCL实现,以及Profinet通信、虚拟轴同步等进阶技巧。特别适用于需要快速实施中大型生产线自动化改造的工程师,提供经过验证的异常处理机制和模块化设计规范。

weixin_34341229的博客 457

[转载] Linux 文件系统结构介绍

原文:https://linux.cn/article-6132-weibo.html Linux中的文件是什么?它的文件系统又是什么?那些配置文件又在哪里?我下载好的程序保存在哪里了?在 Linux 中文件系统是标准结构的吗?好了,上图简明地阐释了Linux的文件系统的层次关系。当你苦于寻找配置文件或者二进制文件的时候,这便显得十分有用了。我在下方添加了一些解释以及例子,不过...

weixin_30483013的博客 409

每天10分钟,混剪视频Agent产出50条爆款,单月变现6位数(喂饭级教程)

混剪视频是指将多个视频片段、图片或音频素材进行剪辑组合,创造出新的视频内容。随着Coze上线联动剪映功能,混剪视频制作正在进入自动化时代,为创作者带来巨大便利。高效自动化处理:AI可以自动完成琐碎的剪辑工作,让创作者省下大量时间专注于项目策划和创意。批量素材产出:特别适用于抖音、小红书和视频号等平台上的养生、科普、心理、疗愈等垂直领域,可以自动化批量生产图片和视频素材。引流获客:通过优质内容吸引目标受众知识变现:通过教学传授技术工具变现:将搭建好的工作流作为产品销售。

汤师爷的博客 864

Linux文件系统结构

例如:/etc/sysconfig/network-scripts/ifcfg-ens33。/sys:伪文件系统,跟硬件设备相关的属性映射文件,不能单独分区。/usr/sbin:类似/sbin;/usr:存放程序文件,库文件,共享文件,各种文档等。/proc:伪文件系统,内核映射文件,不能单独分区。/sbin:存放系统管理员用户使用的命令。/usr/tmp:被抛弃的临时文件目录。/mnt:临时挂载的文件系统的挂载点。/run:进程的运行数据存放的目录。/usr/local:程序安装目录。

weixin_45540544的博客 464

手把手教你用C语言给STM32写一个Modbus RTU从机库(含完整项目源码)

在工业自动化领域,Modbus RTU协议因其简单可靠的特点,成为RS485总线通信的事实标准。对于嵌入式开发者而言,为STM32等微控制器实现一个高效的Modbus RTU从机协议栈,是开发智能传感器、执行器等设备的必备技能。Modbus RTU从机的核心是一个状态机,需要处理帧接收、CRC校验、功能码解析和响应生成等环节。工业现场总会遇到意想不到的干扰情况,一个健壮的协议栈应该能够优雅地处理各种异常场景,而不是简单地崩溃或死锁。工业现场环境复杂,协议栈必须具备完善的异常处理机制。

weixin_30561425的博客 516

Halcon窗体开发避坑指南:C#自定义控件实现7大图像交互功能

本文详细介绍了如何利用C#封装自定义Halcon控件,以解决原生HWindowControl功能不足的问题。通过实战代码,展示了如何实现图像按比例显示、鼠标拖动缩放、灰度值读取、图像保存、截图及图形叠加等七大核心交互功能,并重点剖析了内存管理、坐标转换等开发避坑要点,帮助开发者构建稳定可复用的机器视觉组件库。

weixin_29251131的博客 292

Linux的文件系统结构

1、硬盘结构 磁盘的内部并不是真空的,只是空气很干净;利于散热 文件系统结构,理解文件系统,就得从文件存储说起 磁盘的专业术语 磁盘的内部是金属片,将原型的盘片分成若干个扇形区域, 若干个扇区就组成一个盘片 以盘片中心为圆心,把盘片分成若干个同心圆 每一个划分圆的线条就是磁道 盘片中相同位置的磁道形成柱面 硬盘的存储容量=磁头数*磁道=扇区数*字节数 磁道从外向内从0开始顺序进行编号; 比较古老的CHS(Cylinder/Head/Sector)磁头、柱面、扇区结构体系 现在磁盘都采用这种技术:ZBR

Liang_GaRy的博客 3270

Windows10下RTABMAP+T265实现三维建图

win10+rtabmap+t265扫描地形

Suxiang1997的博客 3486

Linux系统结构和硬盘结构1.0

硬盘结构 硬盘结构 文件系统结构,理解文件系统,要从文件储存说起。 硬盘结构: 磁盘内部是真空的吗? 磁盘内部不是真空,只不过里面的空气很干净。如果是真空,还不利于散热 磁盘相关专业术语: 硬盘的内部是金属盘片,将圆形的盘片划分成若干个扇形区域,这就是扇区。若干个扇区就组成整个盘片。为什么要分扇区?是逻辑化数据的需要,能更好的管理硬盘空间。 以盘片中心为圆心,把盘片分成若干个同心圆,那每一个划分...

Rio520的博客 709

Android开发必备:TBS腾讯浏览服务静态集成完整指南(附Demo下载)

本文详细解析了Android开发中TBS腾讯浏览服务的静态集成方案,通过对比动态集成,深入剖析了其核心原理与适用场景。文章提供了从环境准备、资源获取、项目配置到代码初始化的完整指南,并重点介绍了WebView与文件预览等高级特性的实战应用。针对集成过程中的常见问题,提供了详尽的排查清单与性能调优建议,旨在帮助开发者构建极致稳定、不依赖网络的WebView与文件预览功能。文末附有经过验证的Demo项目可供下载参考。

earth的博客 366

C++多线程 task--std::promise和std::future

本文主要讲解C++11/14/17中所提供的应用于多线程编程中的Task机制。Task可由如下几部分取得而本文主要讲解std::promise和std::future相关的内容。std::promise和std::future通过一个数据管道进行交流,可以将std::promise看作生产者,std::future看作消费者,其两者形成如下的方式交互std::promise本身是一个模版类,通过std::promise可以像数据管道中设置value,异常和相应的通知信息。std::promise提供了如下接

qls315的博客 1818

linux 文件系统结构

文件系统 转自:http://man.chinaunix.net/tech/lyceum/linuxK/fs/filesystem.html 本章主要描叙Linux核心对文件系统的支持, 虚拟文件系统(VFS)以及Linux核心对实际文件系统的支持。 Linux的最重要特征之一就是支持多种文件系统。这样它更加灵活并可以和许多其它种操作系统共存。在本文写作时Linux已经支持15

风雨兼程 9614

【WRF-Urban数据集】中国60个城市的1 km分辨率城市冠层参数(UCPs)

中国60个城市的1 km分辨率城市冠层参数(UCPs)

WW、forever的博客 1063

Linux 文件系统目录结构及其简要介绍

目录作用/描述根目录,所有文件的起点/etc系统配置文件/bin基本用户命令(可执行文件)/sbin系统管理员命令/usr用户程序、库文件、共享数据/var动态数据(日志、缓存等)/home用户主目录/rootroot 用户的主目录/boot启动文件和内核/lib系统库文件/tmp临时文件目录/dev设备文件目录/mnt/media挂载点目录/opt第三方应用程序目录/proc内核和进程信息的虚拟目录/sys硬件和内核交互信息/run系统运行时数据/srv服务相关数据目录文件系统修复的存放位置(根目录)

Huazzi的博客 1850

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

linux文件系统镜像 结构,Linux 文件系统结构介绍

本文介绍 Ubuntu 操作系统的文件系统目录结构,参考 Ubuntu 的官方文档:source URLUbuntu(像所有类UNIX系统一样)在分层树中组织文件,其中的关系就像父母和孩子一样。目录可以包含其他目录以及常规文件,它们是树的“叶子”。树的任何元素都可以通过路径名引用;绝对路径以字符 / (标识根目录,其中包含所有其他目录和文件)开头,然后列出必须遍历以到达该元素的每个子目录,每个子目...

weixin_31813357的博客 492

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Linux文件系统及目录结构介绍

更新日期:2020-12-06 非原创,转载,微信公众号:Bob小课堂https://mp.weixin.qq.com/s/mOG2mNk6UvOTUAeRqAI2TQ 一、Linux文件系统 FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数Linux版本采用这种文件组织形式,FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。FHS定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例

Y37201的博客 316

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

标准linux文件系统目录结构,技术|Linux 文件系统结构介绍

Linux中的文件是什么?它的文件系统又是什么?那些配置文件又在哪里?我下载好的程序保存在哪里了?在 Linux 中文件系统是标准结构的吗?好了,上图简明地阐释了Linux的文件系统的层次关系。当你苦于寻找配置文件或者二进制文件的时候,这便显得十分有用了。我在下方添加了一些解释以及例子,不过“篇幅较长,可以有空再看”。另外一种情况便是当你在系统中获取配置以及二进制文件时,出现了不一致性问题,如果你...

weixin_36180515的博客 165

linux的文件系统结构、superblock和inode节点等介绍

这篇文章我写一下自己对于linux文件系统结构和节点inode的简单理解。 文件系统结构概述 我们先简单看一下linux的文件系统结构划分,linux的文件系统大致可以分为三部分,或者,我们可以直接理解为linux的物理磁盘上,存放的数据是分为三部分的。 第一部分是superblock:超级块。这一部分主要存放的是文件系统的信息,例如文件系统格式、文件系统中节点数目,剩余节点情况,文件系统大...

bajiucoding 2523

Linux 文件系统管理之硬盘结构 、文件系统介绍及命令

目录 硬盘结构 硬盘的逻辑结构 硬盘接口 文件系统 Linux 文件系统的特性 Linux 常见文件系统 常用的硬盘管理命令 df 命令 du 命令 fsck 文件系统修复命令 显示磁盘状态 dumpe2fs stat 文件名 查看文件的详细时间 判断文件类型file、type 硬盘结构 硬盘的逻辑结构 每个扇区的大小事固定的,为 512Byte。扇区也是磁盘的最小存贮单位。 硬盘的大小是使用“磁头数×柱面数×扇区数×每个扇区的大小”这样的公式来计算...

baidu_41388533的博客 403

linux 文件系统_Linux 文件系统结构介绍

本文介绍 Ubuntu 操作系统的文件系统目录结构,参考 Ubuntu 的官方文档:source URLUbuntu(像所有类UNIX系统一样)在分层树中组织文件,其中的关系就像父母和孩子一样。目录可以包含其他目录以及常规文件,它们是树的“叶子”。树的任何元素都可以通过路径名引用;绝对路径以字符 / (标识根目录,其中包含所有其他目录和文件)开头,然后列出必须遍历以到达该元素的每个子目录,每个子目...

weixin_39795292的博客 167

最详细Linux文件系统目录结构介绍

基本介绍: linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录"/",然后目录下在创建其他的目录。 深刻理解linux树状文件目录是非常重要的 记住一句经典的话:在Linux世界里,一切皆文件。 1. /bin 【重点】 是Binary的缩写,这个目录存放着最经常使用的命令 2. /home 【重点】 存放普通用户的主目录,在linux中每个用户都有一个自己的目录,一般...

BD_vpiness的博客 710

Linux的文件系统结构是,Linux文件系统结构介绍.docx

Linux文件系统结构介绍精要Linux 文件系统结构介绍Linux中的文件是什么?它的文件系统又是什么?那些配置文件又在哪里?我下载好的程序保存在哪里了?在 Linux 中文件系统是标准结构的吗?好了,上图简明地阐释了Linux的文件系统的层次关系。当你苦于寻找配置文件或者二进制文件的时候,这便显得十分有用了。我在下方添加了一些解释以及例子,不过“篇幅较长,可以有空再看”。另外一种情况便是当你在...

weixin_42392367的博客 131

嵌入式Linux开发之文件系统目录结构介绍

前言 Linux文件系统,顾名思义:文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。 一、与windows区别 Linux不像windows有盘符的概念,只有一个根目录概念,所有文件系统(硬盘、U盘、CDROM、网络文件系统)都以一个子目录挂根目录下某一子目录下。在Linux下,“一切皆文件”。...

路过的逮虾户的博客 1157

Linux根目录结构介绍(FHS文件系统)

目录 1、bin(/usr/bin) 目录 2、boot目录 3、dev 目录 3.1、/dev/console 3.2、/dev/zero 3.3、/dev/null 3.4、/dev/random 和 /dev/urandom 3.5、/dev/sr0 3.6、/dev/null 4、etc 目录 4.1、/etc/hostname 4.2、/etc/hosts 4.3、/etc/fstab 4.4、/etc/rc.local 4.5、/etc/profile == ...

weixin_42688499的博客 5552
上一篇: 谈谈Linux内核驱动的编码风格
下一篇: 蓝牙BLE介绍
东晋偏安
博客等级 码龄18年 939粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值