FAT32学习笔记(三)文件的删除,目录的删除,FAT32表的用途,FsInfo的作用

本文详细介绍了FAT32文件系统的文件和目录删除过程。在FAT32中,删除文件只需将Directory Entry的首字节设为0xE5,内容保持不变。删除目录时,会将目录及其包含的文件Directory Entry置为0xE5。此外,文章还探讨了FAT32表用于跟踪文件簇链的作用,以及FsInfo区域中FSI_Nxt_Free指针在高效分配簇上的重要性。
摘要由CSDN通过智能技术生成

文件的删除

在前面已经说过如何通过BPB里的各项参数去找到Data Area,从而得到文件对应的Directory Entry,最后找到文件的内容;对于目录,也是大同小异,不同之处只是更“曲折”一点,会先找到目录,去目录的“内容”里找到文件的Directory Entry,进一步,才可以找到文件内容。那么,在FAT32里,文件如何删除?

实际上非常简单,FAT32文件系统在删除文件的时候,仅仅是对其文件名进行处理,对于内容是不做任何处理的。对文件名的处理,就是把其所相关的所有Directory Entry(参考篇二的Long Name Entry)的第一个byte都置为0xE5,此时就认为该文件已经被删除了。还是用FAT32的image为例来观察:

首先用dd命令创建一个空的文件,然后用mkfs.vfat对其格式化,接着挂载到/mnt/目录,后面创建一个长文件名的文件,叫做abcdefghijklmnopqrstuvxwyz.1234567890,里面的内容是通过“echo "just a test string for this long name file" >> abcdefghijklmnopqrstuvxwyz.1234567890” 完成的。下图是test.img的内容:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值