免费资源网-
借助c语言删掉目录下文件
近来这段时间工作内容是关于Linux下的简单文件操作,原先对于Linux下的文件操作函数都不是太熟悉linux,经过此次实践linux find -name 遍历目录,对这种函数使用有了一定的了解
怎样创建文件,读写文件linux find -name 遍历目录,这种简单的我想你们应当是比较熟悉的,我所介绍的是怎样遍历某个目录,但是删掉该目录下的文件(可以指定后缀名)linux大全,但是也可以指定
文件的更改时间范围(多少小时曾经的旧文件可以删掉),下边就是简单的函数实现,仅供初学者参考(虽然我也是初学者(^o^)/~)
#include #include #include #include #include #include #include #define FILE_MAX_LEN 256 void rmv_old_files(const char *path, const char *suf, int hours) { char filename[FILE_MAX_LEN] = {0}; struct tm *TM; struct dirent *dirp; struct stat statbuf; DIR *dp = NULL; time_t curr_time; int nameLen, offset; char *chTemp = NULL; curr_time = time((time_t*)NULL); dp = opendir(path); if (NULL == dp) { return; } while((dirp=readdir(dp)) != NULL) { if (strcmp(dirp->d_name, ".")==0 || strcmp(dirp->d_name, "..")==0) { continue; } nameLen = strlen(dirp->d_name); chTemp = dirp->d_name; if (*suf != '') { offset = nameLen-strlen(suf); if (offsetd_name); if (!stat(filename, &statbuf)) { /*check the st_mtime of the file, if more than retention_hours ago then delete it*/ if (curr_time-statbuf.st_mtime >= hours*3600 && S_ISREG(statbuf.st_mode)) { unlink(filename); } } } closedir(dp); }
附:linux删掉指定目录下的文件
rm -f 指定目录*
#最精典的方式,删掉指定目录下的所有类型的文件
2.find 指定目录 -type f -delete或find 指定目录 -type f -exec rm -f {} ;
#用find查找指定目录下的所有普通文件并删掉or用find命令的处理动作将其删掉
3.find 指定目录 -type f | xargs rm -f
#用于参数列表过长;要删掉的文件太多
4.rm-f `find 指定目录 -type f`
#删掉指定目录下的全部普通文件
5.for delete in `ls –l 指定目录路径`;do rm -f * ;done
#用for循环句子删掉指定目录下的所有类型的文件
免费资源网-
本文原创地址://q13zd.cn/mfzywlycyysc.html编辑:刘遄,审核员:暂无