精华内容
下载资源
问答
  • 如何创建文件,读写文件,这些简单的我想大家应该是比较熟悉的,我所介绍的是如何遍历某个目录,并且删除该目录下的文件(可以指定后缀名),并且也可以指定文件的修改时间范围(多少小时以前的旧文件可以删除),下面...

    利用c语言删除目录下文件

    最近这段时间工作内容是关于Linux下的简单文件操作,以前对于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] = ;

    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 != '\0')

    {

    offset = nameLen-strlen(suf);

    if (offset

    {

    continue;

    }

    }

    sprintf(filename, "%s%s", path, dirp->d_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删除指定目录下的文件命令

    1.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循环语句删除指定目录下的所有类型的文件

    到此利用c语言删除某个目录下文件的文章就介绍到这了。

    展开全文
  • 如何创建文件,读写文件,这些简单的我想大家应该是比较熟悉的,我所介绍的是如何遍历某个目录,并且删除该目录下的文件(可以指定后缀名),并且也可以指定文件的修改时间范围(多少小时以前的旧文件可以删除),下面...

    利用c语言删除目录下文件

    最近这段时间工作内容是关于Linux下的简单文件操作,以前对于Linux系统下的文件操作函数都不是太熟悉,经过这次实践,对这些函数使用有了一定的了解。

    如何创建文件,读写文件,这些简单的我想大家应该是比较熟悉的,我所介绍的是如何遍历某个目录,并且删除该目录下的文件(可以指定后缀名),并且也可以指定文件的修改时间范围(多少小时以前的旧文件可以删除),下面就是简单的函数实现,仅供初学者参考(毕竟我也是初学者\(^o^)/~)

    #include <stdio.h>

    #include <fcntl.h>

    #include <time.h>

    #include <string.h>

    #include <dirent.h>

    #include <sys/stat.h>

    #include <unistd.h>

    #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 != '\0')

    {

    offset = nameLen-strlen(suf);

    if (offset<0 || strncmp(suf, chTemp+offset, strlen(suf))!=0)

    {

    continue;

    }

    }

    sprintf(filename, "%s%s", path, dirp->d_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删除指定目录下的文件命令

    1.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循环语句删除指定目录下的所有类型的文件

    总结

    到此利用c语言删除某个目录下文件的文章就介绍到这了。最后,特别推荐一个分享C/C++和算法的优质内容,学习交流,技术探讨,面试指导,简历修改...还有超多源码素材等学习资料,零基础的视频等着你!

    还没关注的小伙伴,可以长按关注一下:

    展开全文
  • 最近这段时间工作内容是关于Linux下的简单文件操作,以前对于Linux系统下的文件操作函数都不是太熟悉,经过这次实践,对这些函数使用有了一定的了解 如何创建文件,读写文件,这些简单的我想大家应该是比较熟悉的,...

      最近这段时间工作内容是关于Linux下的简单文件操作,以前对于Linux系统下的文件操作函数都不是太熟悉,经过这次实践,对这些函数使用有了一定的了解

    如何创建文件,读写文件,这些简单的我想大家应该是比较熟悉的,我所介绍的是如何遍历某个目录,并且删除该目录下的文件(可以指定后缀名),并且也可以指定

    文件的修改时间范围(多少小时以前的旧文件可以删除),下面就是简单的函数实现,仅供初学者参考(毕竟我也是初学者\(^o^)/~)


    #include <stdio.h>
    #include <fcntl.h> 
    #include <time.h> 
    #include <string.h>
    #include <dirent.h>
    #include <sys/stat.h>
    #include <unistd.h>
    
    #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 != '\0')
    		{
    			offset = nameLen-strlen(suf);
    			if (offset<0 || strncmp(suf, chTemp+offset, strlen(suf))!=0)
    			{
    				continue;
    			}
    		}
    		sprintf(filename, "%s%s", path, dirp->d_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);
    }
    



    展开全文
  • 利用c语言删除目录下文件最近这段...我所介绍的是如何遍历某个目录,并且删除该目录下的文件(可以指定后缀名),并且也可以指定文件的修改时间范围(多少小时以前的旧文件可以删除),下面就是简单的函数实现,仅供初...

    利用c语言删除目录下文件

    最近这段时间工作内容是关于Linux下的简单文件操作,以前对于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 != '\0')

    {

    offset = nameLen-strlen(suf);

    if (offset<0 || strncmp(suf, chTemp+offset, strlen(suf))!=0)

    {

    continue;

    }

    }

    sprintf(filename, "%s%s", path, dirp->d_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循环语句删除指定目录下的所有类型的文件

    总结

    到此这篇关于Linux中利用c语言删除某个目录下文件的文章就介绍到这了,更多相关Linux用c语言删除目录下文件内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

    展开全文
  • linux自动删除最老几个文件

    千次阅读 2017-01-04 23:25:52
    摘要: 最近有需求要删除Linux中旧的压缩包,发现网上给的答案都是删除N天前的文件,无法适应我的要求,于是自己研究了一翻。...因此,不能只定期删除某个目录下的文件,更不能按时间删除多少天以前的文件。推进 统计
  • 利用c语言删除目录下文件最近这段...我所介绍的是如何遍历某个目录,并且删除该目录下的文件(可以指定后缀名),并且也可以指定文件的修改时间范围(多少小时以前的旧文件可以删除),下面就是简单的函数实现,仅供初...
  • 最近这段时间工作内容是关于Linux下的简单文件操作,以前对于Linux系统下的文件操作函数都不是太熟悉,经过这次实践,对这些函数使用有了一定的了解如何创建文件,读写文件,这些简单的我想大家应该是比较熟悉的,我...
  • 因此,不能只定期删除某个目录下的文件,更不能按时间删除多少天以前的文件。下面话不多说了,来一起看看详细的实现过程吧。 推进 统计目录下的文件夹数量 ls -l | grep '^d' | wc -l 这里的grep '^d'是统计...
  • 以前我是将需要某一类后缀文件全部拷贝到指定目录,然后下载,最后删除,这样浪费时间和磁盘空间。所以重新修改了下查看和拷贝命令但是我不是专门运维人员 只会一些简单命令。所以 确定了下思路 就去查了下...
  • find –name 主要用于查找某个文件名字,-exec 、xargs可以用来承接前面结果,然后将要执行动作,一般跟find在一起用很多,find使用我们可以延伸-mtime查找修改时间、-type是指定对象类型(常见包括f代表文件...
  • 以前我是将需要某一类后缀文件全部拷贝到指定目录,然后下载,最后删除,这样浪费时间和磁盘空间。所以重新修改了下查看和拷贝命令 但是我不是专门运维人员 只会一些简单命令。 所以 确定了下思路 就去查...
  • 本文主要介绍的是Linux使用定时任务每周定时清理45天以前日志。服务器每天会产生很大的日志文件,为了不使硬盘被日志文件塞满...#删除输入路径下的修改时间在45天以前的日志文件 find $1 -mtime +45 -name *log* -exec
  • 由于服务器上一段时间以后大量不用的工程文件会占用磁盘空间,需要定期清理,同时不能只定期删除某个目录下的文件,也不能按照时间删除多少天以前的文件,这里给出一个方法。统计目录下的文件夹数量ls -l | grep '^d...
  • find –name 主要用于查找某个文件名字,-exec 、xargs可以用来承接前面结果,然后将要执行动作,一般跟find在一起用很多,find使用我们可以延伸-mtime查找修改时间、-type是指定对象类型(常见包括f代表文件...
  • 一.Linux的文件系统结构.....................................................................................................6 二. 文件类型................................................................
  • Linux运维小技巧

    2020-12-10 22:37:10
    find –name 主要用于查找某个文件名字,-exec 、xargs可以用来承接前面结果,然后将要执行动作,一般跟find在一起用很多,find使用我们可以延伸-mtime查找修改时间、-type是指定对象类型(常见包括f代表文件...
  • linux 添加定时任务

    千次阅读 2018-03-19 15:43:02
    以定时清除日志为例:转载:http://www.jb51.net/article/95094.htm①清理某个路径下的日志脚本delOldLogs.sh:[root@prx01 cleanlog]# vim /...#删除输入路径下的修改时间在10天以前的日志文件 find $1 -mtime +10...
  • Linux 17个场景命令

    2021-01-11 17:21:03
    find –name 主要用于查找某个文件名字,-exec 、xargs可以用来承接前面结果,然后将要执行动作,一般跟find在一起用很多,find使用我们可以延伸-mtime查找修改时间、-type是指定对象类型(常见包括f代表文件...
  • 运行模式(0-6)、用户与用户组管理、网络设置(网卡重启,软连接)、ssh服务(远程终端,文件传输)、设置主机名、chkconfig(开机启动项查询、添加、删除某个运行级别下开启)、ntp服务(时间同步管理)、...
  • 可以看到添加的文件为menu.qrc。 9.我们最好先在工程文件夹里新建一个文件夹,如images,然后将需要的图标 文件放到其中。 10.在Qt Creator 的menu.qrc 文件中,我们点击Add 下拉框,选择Add Prefix。 我们可以将...
  • 在系统设计和开发过程中,要充分考虑系统当前和将来可能承受工作量,使系统处理能力和响应时间能够满足信息处理需求。 2、 系统开放性和系统可扩充性:系统在开发过程中,应该充分考虑以后可扩充性。...
  • 3.5.4 权限:读/写UNIX的文件 43 3.5.5 目录管理 45 3.6 用vi编辑器编写文件 46 3.6.1 利用vi创建和修改文件 46 3.6.2 用head和tail命令移动 47 3.7 文本的提取和排序 48 3.7.1 使用grep匹配模式 48 ...
  • 上面,我们得到了Osip的解析器开发库,下面再编译完整的Osip协议栈开发库,同样照上述方法,分别创建动态链接库工程和静态链接库工程,只是要拷的文件换成src下的osip目录下文件和include下的osip目录,...
  • 手机 pdf 阅读器

    2009-02-12 23:00:29
    (对于NOKIA手机及其它部分手机,由于安全策略的限制,在Anyview的文件管理器中无法查看后缀为.jar的文件) 自定义问候语(系统路径下dictum.rc文件,格式参见jar包中的dictum.rc文件,保存时使用UTF-8编码,可写条目为...
  • 新版Android开发教程.rar

    千次下载 热门讨论 2010-12-14 15:49:11
    � 具有强大 Linux 社区支持。 Android Android Android Android 不足 � 由于采用了 Java 作为应用开发语言,目前可用传统第三方应用还很少,但由于 Android 是一款完全 开 源移动计算平台,相信第三方...
  • 这允许恢复到某个时间点或恢复到日志文件结束。 因此,如果 DR 解决方案必须恢复自上次备份以来事务,那么保留日志文件是非常关键。有两个提高日志保留 DB2 特性:双日志记录和用户出口工具,已在关于数据库...
  • 4,同样是基于简单的虚拟磁盘模型的原因,需要xFsRedir以windows服务的方式运行,才能保证虚拟盘符中的文件获得全部的访问权限。 5,解决以上问题,可以使用storport驱动框架生成windows真正识别的虚拟磁盘驱动能...
  • ISO:根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件 ISP:X-Internet签字文件 IST:数字跟踪设备文件 ISU:InstallShield卸装脚本 IT:脉冲跟踪系统音乐模块(MOD)文件 ITI:脉冲跟踪系统设备 ITS:...

空空如也

空空如也

1 2 3
收藏数 51
精华内容 20
关键字:

linux删除某个时间以前的文件

linux 订阅