Linux文件系统(最新的office文件管理系统)有哪些类型

如题所述


Linux一个重要的哲学是:
一切皆文件。而文件与文件系统是密切相关的,本篇笔记我们来一起学习、理清那些令我们眼花缭乱的文件系统。



文件系统的粗略分类:


下面依次介绍:


根文件系统


根文件系统是内核启动时挂载的第一个文件系统,内核代码镜像文件存储在根文件系统中,系统引导启动程序会将一些基本的初始化脚本和服务加载到内存中,在挂载根文件系统后运行。


根目录/根文件系统下有许多子目录:


虚拟文件系统


从上面的分类图中,我们可以知道Linux中有很多文件系统,并且它们是共存的。那么在Linux中如何把所有东西都做成一个文件呢?这是由于虚拟文件系统软件抽象层的存在,为用户屏蔽了底层文件系统的差异,为上层提供了统一的访问接口。如图所示:


无论最底层的文件系统是什么,我们的顶层客户端都可以访问文件系统中的文件,即使使用系统调用接口或glibc接口,这使得一切都有可能是一个文件。


真实文件系统


真正的文件系统实际上是实际存储设备的文件系统,安装在EEPROM、Nor FLASH、NAND FLASH、eMMC等内存中。


1、ext2


Ext2 second extended filesystem是Linux内核早期使用的文件系统,但随着技术的发展,不再推荐ext2文件系统。Ext2是一个非日志文件系统。


2、ext3


Ext3是第三个扩展文件系统,它是一个日志文件系统。主要特点:


高可用性:系统使用ext3文件系统后,它不会 即使在异常关闭后,也不需要检查文件系统。停机后,恢复ext3文件系统只需要几十秒。


数据完整性:ext3文件系统可以大大提高文件系统的完整性,避免意外停机对文件系统的损害。


3、ext4


EXT4是第四个扩展文件系统,是一个日志文件系统,是ext3文件系统的继承者。主要特点:


子目录更多:Ext3目前只支持32000个子目录,而Ext4取消了这个限制,理论上支持无限子目录。


块数和I节点数更多:Ext3文件系统使用32位空间记录块数和I节点数,而Ext4文件系统将其扩展到64位。


伪文件系统


Linux内核提供了sysfs、procfs、devtmpfs等伪文件系统。伪文件系统存在于内存中,不占用硬盘。以文件的形式向用户提供一些系统信息,用户可以通过读写这些文件来读取和修改一些系统信息。


1、过程文件


Procfs是process file system的缩写,包含一个伪文件系统,用于通过内核访问进程信息。这个文件系统通常安装在/proc目录中。


因为/proc不是一个真正的文件系统,它不占用存储空间,只是有限的内存。


/proc目录的内容如下:


其中,这些以数字命名的文件夹是与进程相关的部分,这些数字是进程的PID号。


我们可以访问系统信息,例如读取CPU相关信息:


检查内核支持的文件系统类型:


可以看出内核支持很多文件系统,上面我们的文件系统总结中只列出了其中的一小部分。有兴趣的朋友可以自己去了解别人。


我们可以通过/proc目录了解到很多信息,你也可以自己尝试查看其他信息。


2、sysfs


Sysfs是一个基于内存的文件系统,它的作用是以文件的形式向用户程序提供内核信息。Sysfs文件系统挂载在/sys挂载点上。/sys目录的内容如下:


与proc相比,sysfs有很多优点,其中最重要的是设计的清晰性。sysfs的设计原则是一个属性文件只做一件事。sysfs属性文件一般只有一个值,可以直接读写。


整个/proc/scsi目录在2.6内核中已被标记为LEGACY,其功能已被相应的/sys属性文件完全取代。新设计的内核机制应该尽可能使用sysfs机制,同时保持proc为pure quot进程文件系统 quot。


3、devtmpfs


tmpfs的作用是在Linux内核启动的前期建立一个初步的/dev,让一般的启动程序不必等待udev。它的主要功能是管理/dev目录下的设备节点。)来缩短GNU/Linux的引导时间。


在devtmpfs出现之前,/dev/下的设备节点应该都是udev-daemon用mknod程序接收内核事件或者直接调用mknod系统后创建的;基本上现在不用udev了。几乎所有的设备文件都是由内核直接创建的。


在我们之前的hello驱动和led驱动的实验中,动态加载我们的驱动后,会在/dev目录下生成相应的节点。只要我们在应用程序中操作这个节点,我们就可以间接控制我们的led:


再次体现了Linux中一切都是文件的概念。


网络文件系统


NFS,即网络文件系统,使用户能够访问网络上其他地方的文件,就像他们使用自己的计算机一样。它通过使用客户机/服务器体系结构来工作:


服务器向其他计算机提供对文件系统的访问,其过程称为输出。当NFS的客户程序访问共享文件系统时,它 quot运输 quot他们来自NFS服务器。


文件通常以块的形式传输。在我们的嵌入式Linux中,NFS的主要应用是将宿主文件共享给目标板,以便目标板方便地运行程序。例如,我们以前笔记中的实验框图:


以上是笔记分享。如有错误,请指出。谢谢大家!本文主要讨论共享几个重要的文件系统。了解这些文件系统有助于我们学习嵌入式Linux。

王者之心2点击试玩
温馨提示:答案为网友推荐,仅供参考
相似回答