《操作系统》课程实验报告--实现一个文件查找程序.docx
-
资源ID:1110246
资源大小:17.24KB
全文页数:3页
- 资源格式: DOCX
下载积分:10金币
快捷下载

账号登录下载
微信登录下载
三方登录下载:
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
《操作系统》课程实验报告--实现一个文件查找程序.docx
操作系统课程实验报告实验题目:实现一个文件查找程序实验概述【实验目的及要求】仿照UniX操作系统中的find命令,在实现一个Inyfind命令。myfind命令从指定的目录下开始,递归地查找指定文件。其命令格式如下:myfindPATH-option参数-print-exec命令;PATH:查找的起始目录。-option参数:用来控制搜索方式,具体如下(以下只给我常用的):- name文件:指定要查找的文件名,可以有通配符?*等。- prune目录:指出搜索时不搜索该目录。- Inti1ne+n或-n:按时间搜索,+n:表示n天之前修改过的文件;-n:表示今天到n天前之间修改过的文件。- Ctime+n或-n:也是按时间查找,+n:表示n天之前创建的文件;-n:表示今天到n天前之间创建的文件。-print:将搜索结果输出到标准输出。可选的实验1:实现-exe选项。-exec:对查找到的每一个结果实行指定的程序。格式如下:-exec程序名提示:执行指定的程序可以创建一个进程执行【实验环境】操作系统:1inuxmint编译环境:gcc实验内容【实验过程】一、实验远原理(1)文件系统可以抽象为一棵数,给点的搜索的文件路径作为树的根节点,按照先根遍历的方式,递归遍历并匹配,结果保存在数组中。(2)伪代码:voidfindFunc(intargc,char*argv,char*path)打开目录流dir=opendir(path);读取路径下的所有文件和路径whi1e(dir_struct=readdir(dir)!=NU11)拼接目录和文件名fi1epath=getPath(path,dir_struct->d_name);获取文件属性stat_buf=1stat(fi1epath,&stat_buf);根露条件过滤matchCondition(stat_buf,condition);如果是目录,递归看询if(S_SDIR(stat_buf.st_mode)findFunc(argc,argv,path);)(3)参考资料:(3.(1) 的逻辑结构structdirent*dir_struct;保存读取目录的结果Dir*dir目录流structstatStatJDuf;用来存储文件属性的结构体(3.(2) 凝regcomp()检验正则表达式是否合法regexec()检测字符串是否与正则表达式匹配opendir()打开目录流readdir()读取目录下当前文件stat()获取文件属性二,实验结果与分析小结:(1)文件系统可以抽象为一棵数,给点的搜索的文件路径作为树的根节点,按照先根遍历的方式,递归遍历即可了解该路径下的文件的结构(2)目录文件包含了其他文件的名字以及指向与这些文件有关的信息的指针,而结构体dirrent就是描述这种结构的C语言表示(3)结构体Stat描述了文件的详细属性指导教师评语及成绩评语:成绩:批阅日期:指导教师签名: