Linux标准的文件系统知识分享
Ext
全称Linux extended file system, extfs,即Linux扩展文件系统,Ext2就代表第二代文件扩展系统,Ext3/Ext4以此类推,它们都是Ext2的升级版,只不过增加了日志功能,且彼此向下兼容,所以Ext2被称为索引式文件系统,而Ext3/Ext4被称为日志式文件系统。
备注:Linux支持很多文件系统,包括网络文件系统(NFS)、Windows的Fat文件系统。
查看Linux支持的文件系统:ls -l /lib/modules/$(uname -r)/kernel/fs
查看Linux支持的文件系统(已载入到内存中):cat /proc/filesystems
核心设计
数据区
这些元素相对稳定,磁盘格式化后,就固定下来了。
1、inode(索引节点)
记录文件的权限、属性和数据所在块block的号码,每个文件都有且仅有一个的inode,每个inode都有自己的编号,可以把inode简单地理解为文档索引。
2、block(数据区块)
存储的文件内容,也叫数据区块(data block),每个block都有自己的编号,Ext2支持的单位block容量仅为1k、2k、4k。
备注:为了方便inode的记录,在磁盘格式化后,block的大小都已经固定了。每一个块只能存放一个文件的数据,若文件太大,将占用多个block;若文件太小,block剩余空间就不能被使用了,就会导致磁盘空间浪费,所以在磁盘分区后,文件系统格式化前,请先仔细想想文件系统的预计使用情况。
中介数据(metadata)
这些元素是为了维持文件系统状态而设计出来的,主要代表的是文件系统的动态配置信息,属于描述性信息。
1、superblock(超级块)
记录文件系统(filesystem)的整体信息,包括inode/block的总量、使用量、剩余量、大小、以及文件系统的格式和相关信息。
备注:整个文件系统的基本信息全部记录在superblock,它的大小一般为1024Bytes,如果它死掉,将会花费大量的时间去补救哦!!!
2、block group(区块群组)
试想一下,假如我们的磁盘容量高达数百G,当我们格式后,inode和block会非常庞大,为了便于管理,Ext文件系统在格式化时,引入了区块群组(block group)的概念,每个区块群组都保持独立inode/block/superblock,拥有固定数量的block,这样就分成了一群一群最基础的子文件系统。
备注:superblock对于文件系统太重要了,但是文件系统的superblock又只有一个,所以除了第一个block group含有superblock外,后续block group都可能会含有备份的superblock,目的就是为了避免superblock单点无法救援的问题。
3、block bitmap(区块对照表)
一个block只能被一个文件使用,当我们新增文件时,肯定需要使用新的block来记录文件数据。那么如何快速地知道,哪些block是新的?哪些block是已经使用了的?block bitmap就是这样被设计出来,记录所有使用和未使用的block号码。同样的,当我们删除文件时,先从block bitmap中找到对应的block号码,然后更新标志为未使用,最后释放block。
inode bitmap(inode 对照表)
和block bitmap一样的设计理念,只不过它记录地是已使用和未使用的inode号码,这里就不再敖述了。
group descriptor
描述每个区段(block group)开始和结束的block号码,以及说明每个区段(inodemap、blockmap、inode table)分别介于哪些block号码之间。
列出目前系统所有被格式化的设备:blkid
挑选一个已格式化好的设备,查看文件系统的详细信息:dumpe2fs /dev/vda1
备注:通过上面的Magic签名为0xEF53,说明我们的磁盘分区是一个的ext2和ext3文件系统。类似于通过文件开头的Magic,可以判断文件类型一样。
总结
Ext家族是Linux支持度最广、最完整的文件系统,当我们格式化磁盘后,就已经为我们规划好了所有的inode/block/metadate等数据,这样系统可以直接使用,不需要再进行动态的配置,这也是它最优秀的特点,不过这也是它最显著的缺点,磁盘容量越大,格式化越慢,centos7.x已经选用xfs作为默认文件系统。
Linux文件系统中包括的主要文件类型有哪些?
Minix 文件系统修正后的版本.在一定程度上解决了文件名和文件系统大小的Msdos:msdos 是在 Dos,Windows 和某些 OS\/2 操作系统上使用的一种文件系 统,其名称采用"8+3"的形式,即 8 个字符的文件名加上 3 个字符的扩展名.umsdos:Linux 下的扩展 msdos 文件系统驱动,...
linux支持的文件格式有那些
一般能挂载fat32的格式,不能挂载ntfs当然你可以打个补丁就可以挂了。还有最重要的一点就是 linux打开文件不是以你什么结尾来看的,而是自己有鉴定的方法具体命令是:file +文件 就可以看到了,也就是说,无论你怎么你怎么改名字,阻止不了它的识别。名字后缀只是为了我们方便识别。记住了。
linux的七种文件类型是哪七种呢?
LINUX中的七种文件类型 d 目录文件。l 符号链接(指向另一个文件,类似于瘟下的快捷方式)。s 套接字文件。b 块设备文件,二进制文件。c 字符设备文件。p 命名管道文件。- 普通文件,或更准确地说,不属于以上几种类型的文件
linux输出·输入文件和标准输入 标准输出是什么意思啊
Unix\/Linux\/BSD 都有三个特别文件,分别 1)标准输入 即 STDIN , 在 \/dev\/stdin ,一般指键盘输入, shell里代号是 0 2) 标准输出 STDOUT, 在 \/dev\/stdout,一般指终端(terminal), 就是显示器, shell里代号是 1 3) 标准错误 STDERR, 在 \/dev\/stderr 也是指终端(terminal), 不同的是, ...
Linux的系统文件怎么查看?
(1)内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序 (2)Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。(3)文件结构是文件存放在磁盘等存储设备上的组织方法。主要体现在对文件和目录的组织上。(4)标准的Linux系统都有一套叫做实用工具的程序,它们是专门的...
linux支持哪些文件系统
Ext、Ext4、ReiserFS文件系统。1、Ext Ext是 GNU\/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。其单一文件大小与文件系统本身的容量上限与文件系统本身的簇大小有关,在一般常见的 x86电脑系统中,簇最大为 4KB,则单一...
linux下普通文件和目录文件的区别
d ,普通文件标识:- 权限区别:目录文件的权限都有x权限,默认的目录权限:drwx r_x r_x;普通文件默认没有x执行权限,默认文件权限:-rw_ r_ _ r_ _颜色区别:目录为:蓝色,文件为:白色。在Linux中更多的基础知识建议参考《Linux就该这样学》。Linux的学习需要多练习,循序渐进。加油 ...
linux文件重定向到标准输出linux文件重定向
以filename2文件作为标准输出commandfilename把command命令以filename文件作为标准输入commanddelimiter把从标准输入中读入,直至遇到delimiter分界符commandm把把文件描述符m作为标准输入command>m把把标准输出重定向到文件描述符m中command-把关闭标准输入 linux重定向特点?Linux重定向是指修改原来默认的一些东西,...
linux系统的文件属性详解
Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。具体情况如下:命令: ls -lih 输出:复制代码 代码如下:[root@localhost test]# ls -lih 总计 316K ...
linux里的可执行文件
可执行文件只需设置可执行标记就可以了,而且可执行文件一般都是没有扩展名的。比如linux里的emacs,vi,gedit,firefox,gcc,gdb都是没有扩展名的,文件名就是这样的。文本文件,图象文件等一般有扩展名,这和windows一样。以.开头的文件是隐藏文件,比如.emacs, .bashrc, .fonts ,这都是配置文件。lin...
家威复方: Linux以一组通用对象的角度看待所有文件系统.这些对象是:超级块(Super block)、inode、detry和文件. Super block: 在每个文件系统的根上,描述和维护文件系统...
谢通门县19636295767: Linux的文件系统具体指什么? ?
家威复方: 写一个文件不是立刻保存到介质(硬盘,U盘等)中,而是存到缓冲区内,等积累到一定程度再一起保存到介质中.
谢通门县19636295767: Linux下Ext2与Ext3文件系统有哪些区别? ?
家威复方: Ext2: 是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计.其单一文件大小与...
谢通门县19636295767: 怎样理解linux的文件系统 - ?
家威复方: Linux所有文件都从root开始,用'/'代表, 并且延伸到子目录.DOS/Windows有不同的分区同时目录都存于分区上.Linux则通过'加载'的方式把所有分区都放置在root下制定的目录里.windows下最接近于root的是c:.一句话总结:Windows下,目...
谢通门县19636295767: Linux磁盘和文件系统管理有哪些呢? ?
家威复方: 1、 分区 MBR(Master Boot Recorder)主引导分区仅提供最多4个分区,主分区(... ext2:标准文件系统 ext3:增加了日志功能,是ext2的升级版 要知道linux支持的文件系统...
谢通门县19636295767: linux的文件系统到底是什么?为什么一般的教程总会强调他的目录结构?目录结构难道和文件系统有关系? - ?
家威复方: 教程上不是都有说么.文件系统是windows下的概念了,通俗点就是点开我的电脑看到的那些CDE和打开之后的文件夹和文件,在linux里面他们被叫做目录结构,其实可以简单的理解为一回事,但是有很大的区别的. linux包括各种内核、软件...
谢通门县19636295767: linux文件系统可分为哪几个板块? ?
家威复方: Linux的文件系统可大致分为两块,inode区域和block区域,分别存着称为inode和block的不同的块 希望我的回答对你有用.
谢通门县19636295767: LINUX用的是什么文件系统啊?FAT啊? - ?
家威复方: 现在一般使用Ext3文件系统,以前老的Linux用的ext2,交换分区用的是Swap文件系统.皆与Windows的文件系统不兼容.Ext2: 是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计.其单一文件大小与文件系统本身的容量上限与文件系统本身的簇大小有关,在一般常见的 x86 电脑系统中,簇最大为 4KB, 则单一文件大小上限为 2048GB, 而文件系统的容量上限为 16384GB.Ext3:是一种日志文件系统,是对ext2系统的扩展.它兼容ext2,并且从ext2转换成ext3并不复杂.
谢通门县19636295767: 嵌入式Linux的文件系统及其存储机制怎么样? ?
家威复方: 嵌入式系统与通用PC机不同,一般没有硬盘这样的存储设备而是使用Flash闪存芯片、小型闪存卡等专为嵌入式系统设计的存储装置,本文分析了嵌入式系统中常用的存储...
谢通门县19636295767: linux系统下常见的文件格式有哪些 - ?
家威复方: 在Linux操作系统里有Ext2、Ext3、Linux swap和VFAT四种格式 Ext2:Ext2是GNU/Linux系统中标准的文件系统.这是Linux中使用最多的一种文件系统,它是专门为Linux设计的,拥有极快的速度和极小的CPU占用率.Ext2既可以用于标准的块设...