全球旧事资料 分类
并实现一个改变目录的函数,即把当前目录切换到上一层目录或当
前目录的子目录中(无需处理路径名)。
2
f(3)
设计并实现一个删除文件的函数,该函数使用要删除的文件名(在当前
目录中)作为参数。该函数需要查找文件,遍历FAT中的链接。在删除的情况下,要注意文件的隐藏、只读和系统属性,任何具有这些设置的文件都不能删除。
二、设计原理
21总体设计思想本实验要求对FAT格式的U盘文件系统进行管理,而li
ux本身提供了很多文件管理接口,本设计利用了这些接口函数进行文件管理,相对直接读取磁盘的FAT表,这种方法设计较为简单,实现容易。22主要使用的系统接口列表:getcwd获取当前目录路径ope
dir打开目录chdir更改路径readdir读取目录closedir关闭目录lstat获取文件相关信息并放入缓冲区中ope
打开文件ioctl控制文件io操作。本设计中使用FAT_IOCTL_GET_ATTRIBUTES扫描FAT文件表并获取相关文件的FAT属性remove删除文件close关闭文件
除了系统接口和相关调用之外,还使用了自写的shell命令行界面,快速排序算法和各种显示和排版语句等。
3
f23Li
ux中对FAT格式文件属性的定义:defi
eATTR_RO1reado
lyhidde
systemvolumelabel
defi
eATTR_HIDDEN2defi
eATTR_SYS4defi
eATTR_VOLUME8
defi
eATTR_DIR16directorydefi
eATTR_ARCH24程序整体流程图:32archived
程序启动
显示函数lsprog
Shell循环getcmd其他
改变目录函数cdprog删除函数rmprog
退出exit
三、开发环境与设备
Li
ux操作系统平台Fedora26359Eclipse352集成开发环境EclipseCDT60Li
uxGCC前端编译器格式化为FAT格式的U盘
四、测试结果
41创建测试用例。在Wi
dows下将U盘格式化,创建测试文件和目录,并设
4
f置相关属性
42将U盘连接到装有Li
ux系统的计算机,在特权状态下启动程序
43通过
好听全球资料 返回顶部