ext2文件系统

合集下载

简述linux文件系统的类型

简述linux文件系统的类型

简述linux文件系统的类型Linux文件系统的类型文件系统是操作系统中用来组织和管理文件的一种机制。

Linux作为一种开源的操作系统,拥有多种不同的文件系统类型来适应不同的需求和场景。

本文将对常见的Linux文件系统类型进行简要介绍。

1. ext4文件系统ext4(Fourth Extended File System)是Linux中最常用的文件系统类型之一。

它是对ext3文件系统的改进和升级,具有更好的性能和稳定性。

ext4文件系统支持最大16TB的单个文件,最大1EB的文件系统大小,同时支持日志功能,可以在系统崩溃后快速恢复文件系统。

2. ext3文件系统ext3(Third Extended File System)是ext2文件系统的改进版本,它添加了日志功能以提供更好的数据一致性和可靠性。

相比ext2,ext3具有更好的容错能力,可以在系统崩溃后更快地恢复文件系统。

ext3文件系统最大支持16TB的文件大小和8TB的文件系统大小。

3. ext2文件系统ext2(Second Extended File System)是Linux中最早的一种文件系统类型,它为Linux提供了一个可靠的文件存储机制。

ext2文件系统采用了索引节点(inode)的结构来组织文件和目录,支持文件和目录的权限和属性设置。

然而,ext2文件系统没有日志功能,对于系统崩溃或断电等异常情况,恢复文件系统需要较长的时间。

4. XFS文件系统XFS是一个高性能的日志文件系统,最初由SGI开发,后来被红帽公司广泛采用。

XFS文件系统支持最大8EB的文件系统大小和最大8EB的单个文件大小。

它具有快速的文件系统检查和修复功能,并且能够高效地处理大文件和大量小文件。

5. Btrfs文件系统Btrfs(B-tree file system)是一个基于B树的文件系统,它是Linux内核的一部分,并且正在逐渐取代ext4成为Linux中的主流文件系统。

ext2文件的逻辑结构和物理结构的映射过程

ext2文件的逻辑结构和物理结构的映射过程

标题:深入探讨ext2文件的逻辑结构和物理结构的映射过程在计算机科学领域,文件系统是操作系统中的重要组成部分,用于管理文件的存储和检索。

而ext2文件系统是Linux操作系统中常见的文件系统之一,其结构复杂、功能强大。

在本文中,我将深入探讨ext2文件系统的逻辑结构和物理结构的映射过程,以便更好地理解这一主题。

一、理解ext2文件系统1. ext2文件系统的基本概念在开始深入讨论ext2文件系统的逻辑结构和物理结构的映射之前,需要首先理解ext2文件系统的基本概念。

ext2是Linux操作系统中常见的文件系统类型,它采用了类Unix文件系统的基本概念,包括inode、超级块、块组描述符等重要概念。

2. ext2文件系统的特点ext2文件系统具有一些独特的特点,如支持大容量的文件系统、高效地组织和管理磁盘空间、高速的文件读写性能等。

这些特点使得ext2文件系统在Linux系统中得到了广泛的应用。

二、逻辑结构和物理结构的映射过程1. 磁盘空间的组织ext2文件系统的逻辑结构和物理结构的映射过程首先涉及到磁盘空间的组织。

磁盘空间被组织成多个块组,每个块组包含若干个数据块,用于存储文件数据;同时还包含若干个inode块,用于存储文件的元数据信息。

2. inode与文件的映射在ext2文件系统中,每个文件都对应一个唯一的inode,该inode记录了文件的元数据信息,如文件大小、权限、所有者等。

逻辑上,文件可以通过inode进行标识和管理,而物理上,inode则映射到具体的磁盘块中。

3. 数据块的映射文件的实际数据则存储在数据块中。

数据块的映射过程是ext2文件系统逻辑结构和物理结构的重要部分,它涉及到磁盘空间的分配和管理,以及文件数据与磁盘块的对应关系。

三、个人观点和总结通过对ext2文件系统的逻辑结构和物理结构的映射过程进行深入探讨,我对文件系统的工作原理有了更深入的理解。

在实际应用中,对文件系统的深入理解能够帮助我们更好地进行文件管理和存储空间的优化,提高系统的性能和稳定性。

Linux系统ext2与ext3文件系统的区别与转换

Linux系统ext2与ext3文件系统的区别与转换
ext2与ext3文件系统的区别与转换
ext2和ext3是Linux比较旧的文件系统, 在Linux 7中支持的文件系统已经是 “xfs”,但是为了知识的衔接性,也为 了更深的认识文件系统之间的差别有必 要认识一下这两个文件系统。 这两个文件系统的格式是相同的,不 同的是在ext3文件系统中在硬盘的后面 留出一块磁盘空间来存放日志(journal) 记录。
全部消失。 如果你接手一个很重要的Linux系统, 而这个Linux系统的文件系统还是很老的 ext2,而为了提高性能还要保留原来的 数据就只能使用命令tune2fs命令(在线 转换文件系统ext2→ext3)了。
除了使用“-j”选项创建ext3文件系 统之外,可以直接使用mkfs.ext3 设备名
在开机时Linux系统都会检查每个文件 系统的Valid bit,值如为1则直接挂载该 文件系统,而如果为0值,则系统会扫描 这个文件系统(硬盘分区)查找损坏的 数据,如果这个硬盘分区很大,扫描时 间会很长。 1扫描
0不扫描 由于ext3文件系统有日志机制,开机 时系统会先检查日志中的信息,检查日
创建ext3文件系统。
journal=”日志”
使用命令dumpe2fs /dev/sdc1 | more 可以看到成功创建ext3文件系统。
二、在ext3格式文件系统上,数据写 入硬盘的操作过程为: ⑴数据同样先写 入缓冲区 ① ⑵当数据写入 缓冲区 (内存) 缓冲区满时,先通知 ③ 日志 ext3 文件 ⑶通知日志之后 ② ④ 系统 数据才会写入硬盘中 日志 ⑷数据写入硬盘后,系统 再通知日志数据已经写入硬盘。
三、日志机制 在ext2和ext3中,文件系统的格式是 一样的,不一样的地方是ext2没有日志 机制,而ext3有日志机制。 对于ext2,由于它没有日志机制,在 Linux使用Valid bit标志位来记录系统在 关机之前该文件系统是否已经卸载。因 每一个文件系统都有一个自己的Valid bit 。并且,Valid bit的值为1,则表示这个 文件系统已经卸载,而其值为0,则表示 这个文件系统没有正常关机。

Ext2文件系统

Ext2文件系统

ext2的索引结点中使用了组合索引方式。

前12项用作直接索引 第13项用作间接索引 第14项用作二次间接索引 第15项用作三次间接索引


EXT2文件系统中的每个文件由一个inode描述,且只能由一个 inode描述。 inode与文件一起存放在外存,系统运行时,把inode写入内存建 立映像,加快文件系统速度。
Ext2文件系统简介

EXT2文件系统是EXT文件系统的升级, 在Linux中得到了广泛的使用。

Linux最常见的根文件系统

介绍EXT2文件系统的

磁盘组织 目录项和支持的文件类型

一个文件系统一般使用块设备上一个独立的逻 辑分区; 文件逻辑分区中除了有表示文件内容的逻辑 块(称为数据块)外,还设置了包含管理和控制 信息的逻辑块。 磁盘上可能有多个逻辑分区,每个分区可以 使用不同的文件子系统。
块组描述符

块组描述符用来描述一个磁盘块组的相关信息 块组描述符组由若干块组描述符组成,描述了文件系 统中所有块组的属性,存放于超级块所在块的下一个 块中。

一个块组描述符的结构如下 :
数据块位图和索引结点块位图

EXT2的空闲盘块分配算法采用了位图法 位图: 为便于查找数据块或索引结点的分配信息 每个位(bit)都对应了一个磁盘块:



2个位图分别占用一个专门的磁盘块;位于组描述符表 之后 根据磁盘块的大小,可以计算出每个块组中最多能容 纳的数据块个数和索引节点块个数
0,表示对应的磁盘块(或索引结点)空闲 1,表示占用。
索引结点

EXT2中所有的索引结点大小相同,都是128个字节。 一个inode的结构如下:

常用的linux文件系统类型

常用的linux文件系统类型

常用的linux文件系统类型Linux操作系统是一种开源的操作系统,它的文件系统类型非常丰富。

不同的文件系统类型可以支持不同的文件大小、文件数量和文件系统的速度等特性。

本文将对常用的Linux文件系统类型进行介绍,以帮助读者选择最适合自己需求的文件系统类型。

1. ext2ext2是Linux最早的文件系统类型之一。

它被广泛使用,因为它很稳定,而且在Linux内核中得到了很好的支持。

它支持最大2TB 的文件系统,并且允许使用文件名长达255个字符。

但它不支持文件的访问控制,因此在安全性方面不太可靠。

另外,由于它没有日志功能,因此在文件系统崩溃后需要进行长时间的文件系统检查。

2. ext3ext3是ext2的升级版本,它添加了日志功能。

这意味着在文件系统崩溃后,ext3可以更快地恢复,而且文件系统的可靠性也更高。

它还支持最大16TB的文件系统,并且可以使用文件名长达255个字符。

但它的速度较慢,因为每次写入都需要写入日志。

3. ext4ext4是ext3的升级版本,它支持最大1EB的文件系统,而且可以使用文件名长达255个字符。

它的速度比ext3更快,因为它使用了更先进的数据结构,同时它的文件系统检查速度也更快。

此外,它还支持更高级的文件访问控制,因此在安全性方面更可靠。

4. XFSXFS是一种高性能的文件系统类型,它可以支持非常大的文件和文件系统。

它支持最大9EB的文件系统,并且可以使用文件名长达255个字符。

它的速度非常快,因为它使用了先进的算法和数据结构。

但它的可靠性不如ext4,因为它在文件系统崩溃后需要进行长时间的文件系统检查。

5. BtrfsBtrfs是一种新型的文件系统类型,它被设计用于支持大型文件系统和高级数据管理功能。

它支持最大16EB的文件系统,并且可以使用文件名长达255个字符。

它支持数据快照、压缩、复制和校验等高级功能。

但它还不够稳定,因为它还没有被广泛使用。

6. NTFSNTFS是Windows操作系统使用的文件系统类型,但它也可以在Linux上使用。

ext2文件系统学习(二)——目录磁盘结构

ext2文件系统学习(二)——目录磁盘结构

ext2⽂件系统学习(⼆)——⽬录磁盘结构创建镜像、mount等操作和上⼀篇⼀样,测试⽬录结构如下:⼀些⽂件系统信息如下:Block size: 1024Inodes per group: 128Inode size: 128Block bitmap at 6Inode bitmap at 7Inode table at 8-23下⾯看看⽂件系统根⽬录的结构,ext2的根⽬录的索引节点号是2,根据上⾯的信息可以计算出根⽬录的索引节点地址是0x002080。

如果是⽤vim打开的镜像⽂件,可以通过以下命令计算地址::echo printf("%x", 8*1024+128)⽂件内容如下:对照结构定义:i_mode: 0x41ed 对照可知⽂件格式为EXT2_S_IFDIRi_uid: 0i_size: 0x000400,也就是1K (可以通过ls -ld /tmp/ext2验证)i_block: 0x000018,说明该⽬录只占⽤了⼀个block,地址为0x18 * 1024=0x6000,这⾥也就是根⽬录的内容0x6000地址处内容如下:ext2的⽬录是⼀个特殊的⽂件,⽂件内容是多个结构的⽬录项,每个⽬录项是⽂件名和索引节点的集合。

对照ext2_dir_entry_2的结构,第⼀个⽬录项信息如下:inode : 2rec_len: 0x000Cname_len: 0x01file_type: 0x02,表⽰⽬录name: 0x2E,也就是“."因为上⼀个⽬录项rec_len是0x0C,所以下⼀个⽬录项地址为0x600C,对应⽬录项信息如下:inode: 2rec_len: 0x000Cname_len: 0x02file_type: 0x02,表⽰⽬录name: 0x2E,0x2E,也就是“..”下⼀个⽬录项地址为上⼀个⽬录项地址加上上⼀个⽬录项的rec_len,也就是0x600C + 0x0C = 0x6018,信息如下:inode: 0x0B,11rec_len: 0x14,20name_len: 0x0A,10file_type: 0x02, 2,表⽰⽬录name: 0x6C,0x6F, ...,也就是“lost+found”以此类推就可以找到所有根⽬录下的⽬录项。

EXT2、EXT3、EXT4、XFS、GPT详解

EXT2、EXT3、EXT4、XFS、GPT详解

EXT2、EXT3、EXT4、XFS、GPT详解原创:运维老司机小柒博客7月18日EXT2与EXT3区别Linux之前缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定。

但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了:其中系统缺省使用的ext2文件系统是非日志文件系统。

这在关键行业的应用是一个致命的弱点,Ext3文件系统是直接从Ext2文件系统发展而来,目前ext3文件系统已经非常稳定可靠。

它完全兼容ext2文件系统。

用户可以平滑地过渡到一个日志功能健全的文件系统中来。

这实际上了也是ext3日志文件系统初始设计的初衷。

1) ext3和ext2的主要区别在于,ext3引入Journal(日志)机制,Linux内核从2.4.15开始支持ext3,它是从文件系统过渡到日志式文件系统最为简单的一种选择,ext3提供了数据完整性和可用性保证。

2) ext2和ext3的格式完全相同,只是在ext3硬盘最后面有一部分空间用来存放Journal的记录;3) 在ext2中,写文件到硬盘中时,先将文件写入缓存中,当缓存写满时才会写入硬盘中;4) 在ext3中,写文件到硬盘中时,先将文件写入缓存中,待缓存写满时系统先通知Journal,再将文件写入硬盘,完成后再通知Journal,资料已完成写入工作;5) 在ext3中,也就是有Journal机制里,系统开机时检查Journal的内容,来查看是否有错误产生,这样就加快了开机速度;EXT3日志文件系统的特点1、高可用性系统使用了ext3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。

宕机发生后,恢复ext3文件系统的时间只要数十秒钟。

2、数据的完整性ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。

在保证数据完整性方面,ext3文件系统有2种模式可供选择。

其中之一就是"同时保持文件系统及数据的一致性"模式。

Linux ext2

Linux  ext2

Linux ext2ext2文件系统是早期Linux发布版的基础,Linux默认直接支持的文件系统。

该文件系统非常优势,也是ext3文件系统的基础。

ext2文件系统和其他现代Unix 使用的文件系统非常相似,但更接近于BSD(Berkeley Software Distribution:Berkeley 软件分发版)系统所用的Berkeley Fast Filesystem。

ext2文件系统除了具有标准功能外,还支持一般Unix文件系统中所没有的高级功能,如设置文件属性、支持数据更新时同步写入、允许磁盘管理员在创建文件系统时选择逻辑数据块的大小、实现快速符号链接以及提供两种定期强迫进行文件系统工具等。

1.ext2文件系统的物理结构ext2文件系统像多数文件系统一样,建立在文件数据存放在数据中的前提下。

ext2文件系统中的数据块具有相同的长度,虽然不同的ext2文件系统的块长度可以不同,但是对于某个特定的ext2文件系统,它的块长度在创建的时候就已经确定了。

每一个文件的长度都会按照块取整,例如,存在一个文件1025字节,而一个块的大小为1024字节时,该文件就会占用两个1024字节的块,这就意味着平均每一个文件都有可能浪费一部分磁盘空间。

每个块包含了相同的信息如:超级块、块组描述结构、块位图索引节点、索引点表和数据块等内容,图4-2演示了ext2文件系统的物理结构。

图4-2 ext2物理结构2.块组的构造从图4-2中可看到每一个块组都重复保存着一些有关整个文件系统的关键信息,以及真正的文件和目录的数据块。

超级块包含有文件系统本身的大小和形式的基本信息,系统管理员可以利用这些信息使用和维护文件系统。

在安装文件系统时,系统只读取数据块组1中的超级块,将其放入内存直到该文件系统被卸载,超级块中包含了以下内容。

●块数用于确认安装的文件系统是否为ext2的超级块。

●修订级别这是文件系统的主版本号和次版本号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ext2文件系统总体存储布局我们知道,一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(例如某种mkfs命令)格式化成某种格式的文件系统,然后才能存储文件,格式化的过程会在磁盘上写一些管理存储布局的信息。

下图是一个磁盘分区格式化成ext2文件系统后的存储布局。

图 29.2. ext2文件系统的总体存储布局文件系统中存储的最小单位是块(Block),一个块究竟多大是在格式化时确定的,例如mke2fs 的-b选项可以设定块大小为1024、2048或4096字节。

而上图中启动块(Boot Block)的大小是确定的,就是1KB,启动块是由PC标准规定的,用来存储磁盘分区信息和启动信息,任何文件系统都不能使用启动块。

启动块之后才是ext2文件系统的开始,ext2文件系统将整个分区划成若干个同样大小的块组(Block Group),每个块组都由以下部分组成。

超级块(Super Block)描述整个分区的文件系统信息,例如块大小、文件系统版本号、上次mount的时间等等。

超级块在每个块组的开头都有一份拷贝。

块组描述符表(GDT,Group Descriptor Table)由很多块组描述符组成,整个分区分成多少个块组就对应有多少个块组描述符。

每个块组描述符(Group Descriptor)存储一个块组的描述信息,例如在这个块组中从哪里开始是inode表,从哪里开始是数据块,空闲的inode和数据块还有多少个等等。

和超级块类似,块组描述符表在每个块组的开头也都有一份拷贝,这些信息是非常重要的,一旦超级块意外损坏就会丢失整个分区的数据,一旦块组描述符意外损坏就会丢失整个块组的数据,因此它们都有多份拷贝。

通常内核只用到第0个块组中的拷贝,当执行e2fsck检查文件系统一致性时,第0个块组中的超级块和块组描述符表就会拷贝到其它块组,这样当第0个块组的开头意外损坏时就可以用其它拷贝来恢复,从而减少损失。

块位图(Block Bitmap)一个块组中的块是这样利用的:数据块(Data Block)存储所有文件的数据,比如某个分区的块大小是1024字节,某个文件是2049字节,那么就需要三个数据块来存,即使第三个块只存了一个字节也需要占用一个整块;超级块、块组描述符表、块位图、inode位图、inode表这几部分存储该块组的描述信息。

那么如何知道哪些块已经用来存储文件数据或其它描述信息,哪些块仍然空闲可用呢?块位图就是用来描述整个块组中哪些块已用哪些块空闲的,它本身占一个块,其中的每个bit代表本块组中的一个块,这个bit为1表示该块已用,这个bit为0表示该块空闲可用。

为什么用df命令统计整个磁盘的已用空间非常快呢?因为只需要查看每个块组的块位图即可,而不需要搜遍整个分区。

相反,用du命令查看一个较大目录的已用空间就非常慢,因为不可避免地要搜遍整个目录的所有文件。

与此相联系的另一个问题是:在格式化一个分区时究竟会划出多少个块组呢?主要的限制在于块位图本身必须只占一个块。

用mke2fs格式化时默认块大小是1024字节,可以用-b参数指定块大小,现在设块大小指定为b字节,那么一个块可以有8b个bit,这样大小的一个块位图就可以表示8b个块的占用情况,因此一个块组最多可以有8b个块,如果整个分区有s个块,那么就可以有s/(8b)个块组。

格式化时可以用-g参数指定一个块组有多少个块,但是通常不需要手动指定,mke2fs工具会计算出最优的数值。

inode位图(inode Bitmap)和块位图类似,本身占一个块,其中每个bit表示一个inode是否空闲可用。

inode表(inode Table)我们知道,一个文件除了数据需要存储之外,一些描述信息也需要存储,例如文件类型(常规、目录、符号链接等),权限,文件大小,创建/修改/访问时间等,也就是ls -l命令看到的那些信息,这些信息存在inode中而不是数据块中。

每个文件都有一个inode,一个块组中的所有inode 组成了inode表。

inode表占多少个块在格式化时就要决定并写入块组描述符中,mke2fs格式化工具的默认策略是一个块组有多少个8KB就分配多少个inode。

由于数据块占了整个块组的绝大部分,也可以近似认为数据块有多少个8KB就分配多少个inode,换句话说,如果平均每个文件的大小是8KB,当分区存满的时候inode表会得到比较充分的利用,数据块也不浪费。

如果这个分区存的都是很大的文件(比如电影),则数据块用完的时候inode会有一些浪费,如果这个分区存的都是很小的文件(比如源代码),则有可能数据块还没用完inode就已经用完了,数据块可能有很大的浪费。

如果用户在格式化时能够对这个分区以后要存储的文件大小做一个预测,也可以用mke2fs的-i 参数手动指定每多少个字节分配一个inode。

数据块根据不同的文件类型有以下几种情况∙对于常规文件,文件的数据存储在数据块中。

∙∙对于目录,该目录下的所有文件名和目录名存储在数据块中,注意文件名保存在它所在目录的数据块中,除文件名之外,ls -l命令看到的其它信息都保存在该文件的inode中。

注意这个概念:目录也是一种文件,是一种特殊类型的文件。

∙∙对于符号链接,如果目标路径名较短则直接保存在inode中以便更快地查找,如果目标路径名较长则分配一个数据块来保存。

∙∙设备文件、FIFO和socket等特殊文件没有数据块,设备文件的主设备号和次设备号保存在inode 中。

∙现在做几个小实验来理解这些概念。

例如在home目录下ls -l:$ ls -ltotal 32drwxr-xr-x 114 akaedu akaedu 12288 2008-10-25 11:33 akaedudrwxr-xr-x 114 ftp ftp 4096 2008-10-25 10:30 ftpdrwx------ 2 root root 16384 2008-07-04 05:58 lost+found为什么各目录的大小都是4096的整数倍?因为这个分区的块大小是4096,目录的大小总是数据块的整数倍。

为什么有的目录大有的目录小?因为目录的数据块保存着它下边所有文件和目录的名字,如果一个目录中的文件很多,一个块装不下这么多文件名,就可能分配更多的数据块给这个目录。

再比如:$ ls -l /dev......prw-r----- 1 syslog adm 0 2008-10-25 11:39 xconsolecrw-rw-rw- 1 root root 1, 5 2008-10-24 16:44 zeroxconsole文件的类型是p(表示pipe),是一个FIFO文件,后面会讲到它其实是一块内核缓冲区的标识,不在磁盘上保存数据,因此没有数据块,文件大小是0。

zero文件的类型是c,表示字符设备文件,它代表内核中的一个设备驱动程序,也没有数据块,原本应该写文件大小的地方写了1, 5这两个数字,表示主设备号和次设备号,访问该文件时,内核根据设备号找到相应的驱动程序。

再比如:$ touch hello$ ln -s ./hello halo$ ls -ltotal 0lrwxrwxrwx 1 akaedu akaedu 7 2008-10-25 15:04 halo -> ./hello-rw-r--r-- 1 akaedu akaedu 0 2008-10-25 15:04 hello文件hello是刚创建的,字节数为0,符号链接文件halo指向hello,字节数却是7,为什么呢?其实7就是“./hello”这7个字符,符号链接文件就保存着这样一个路径名。

再试试硬链接:$ ln ./hello hello2$ ls -ltotal 0lrwxrwxrwx 1 akaedu akaedu 7 2008-10-25 15:08 halo -> ./hello-rw-r--r-- 2 akaedu akaedu 0 2008-10-25 15:04 hello-rw-r--r-- 2 akaedu akaedu 0 2008-10-25 15:04 hello2hello2和hello除了文件名不一样之外,别的属性都一模一样,并且hello的属性发生了变化,第二栏的数字原本是1,现在变成2了。

从根本上说,hello和hello2是同一个文件在文件系统中的两个名字,ls -l第二栏的数字是硬链接数,表示一个文件在文件系统中有几个名字(这些名字可以保存在不同目录的数据块中,或者说可以位于不同的路径下),硬链接数也保存在inode 中。

既然是同一个文件,inode当然只有一个,所以用ls -l看它们的属性是一模一样的,因为都是从这个inode里读出来的。

再研究一下目录的硬链接数:$ mkdir a$ mkdir a/b$ ls -ld adrwxr-xr-x 3 akaedu akaedu 4096 2008-10-25 16:15 a$ ls -la atotal 20drwxr-xr-x 3 akaedu akaedu 4096 2008-10-25 16:15 .drwxr-xr-x 115 akaedu akaedu 12288 2008-10-25 16:14 ..drwxr-xr-x 2 akaedu akaedu 4096 2008-10-25 16:15 b$ ls -la a/btotal 8drwxr-xr-x 2 akaedu akaedu 4096 2008-10-25 16:15 .drwxr-xr-x 3 akaedu akaedu 4096 2008-10-25 16:15 ..首先创建目录a,然后在它下面创建子目录a/b。

目录a的硬链接数是3,这3个名字分别是当前目录下的a,a目录下的.和b目录下的..。

目录b的硬链接数是2,这两个名字分别是a目录下的b和b目录下的.。

注意,目录的硬链接只能这种方式创建,用ln命令可以创建目录的符号链接,但不能创建目录的硬链接。

实例剖析如果要格式化一个分区来研究文件系统格式则必须有一个空闲的磁盘分区,为了方便实验,我们把一个文件当作分区来格式化,然后分析这个文件中的数据来印证上面所讲的要点。

首先创建一个1MB的文件并清零:$ dd if=/dev/zero of=fs count=256 bs=4K我们知道cp命令可以把一个文件拷贝成另一个文件,而dd命令可以把一个文件的一部分拷贝成另一个文件。

这个命令的作用是把/dev/zero文件开头的1M(256×4K)字节拷贝成文件名为fs 的文件。

刚才我们看到/dev/zero是一个特殊的设备文件,它没有磁盘数据块,对它进行读操作传给设备号为1, 5的驱动程序。

相关文档
最新文档