当前位置: 首页 > 面试题库 >

查找和删除x天之前的文件或文件夹

吕飞翼
2023-03-14
问题内容

我想删除7天以上的文件和文件夹,所以我尝试了

[17:07:14 root@client01.abc.com:~]# find /tmp/ -mindepth 1 -maxdepth 1 -ctime +7 -exec ls -l {} \;

因此,当我运行find /tmp/ -mindepth 1 -maxdepth 1 -ctime +7 -exec ls -l {} \;它时,它不会显示任何目录,但find /tmp/ -mindepth 1 -maxdepth 2 -ctime +7 -exec ls -l {} \;在子目录中却显示了几个文件。

在一个特定目录中删除7天以上的文件/文件夹的正确方法是什么?


问题答案:

您可以利用这段代码

find /tmp/* -mtime +7 -exec rm {} \;

说明

第一个参数是文件的路径。如上例所示,它可以是路径,目录或通配符。我建议使用完整路径,并确保在不执行exec的情况下运行命令,以确保获得正确的结果。

第二个参数-mtime用于指定文件存在的天数。如果输入+7,它将查找7天以上的文件。

第三个参数-exec允许您传递诸如rm之类的命令。{} \; 最后需要结束命令。

来源:http : //www.howtogeek.com/howto/ubuntu/delete-files-older-than-x-
days-on-linux/

对于删除的文件夹,里面清空他们后,你可以rmdirinstad的rm在一段代码,如果你还只是想看看你可以添加目录

type -d

到如下代码:

find /tmp/*/* -mtime +7 -type d -exec rmdir {} \;


 类似资料:
  • 问题内容: 我正在尝试编写python脚本来删除X天之前的文件夹中的所有文件。这是我到目前为止所拥有的: 运行脚本时,我得到: , 并给出文件名。我究竟做错了什么? 问题答案: 返回裸文件名列表。它们没有完整的路径,因此您需要将其与包含目录的路径合并。您在删除文件时执行此操作,但在文件删除时(或在执行任一操作时)则不执行此操作。 最简单的解决方案是在循环的顶部执行一次: 现在是文件的完整路径,您可

  • 我正在C:drive文件夹中创建一个名为abc的dat文件,如下所示,现在我的文件每天都会生成,假设我的文件是今天生成的,然后tommrow也会像往常一样生成,但在生成tommrow时,我必须确保删除前一天的文件,因为该文件夹中的空间有限,每次需要执行此检查时,前一天的文件都会从该文件夹中删除,请建议如何实现这一点。。

  • 问题内容: 如何在Python中删除文件或文件夹? 问题答案: 删除文件。 删除一个空目录。 删除目录及其所有内容。 模块中的对象还公开了这些实例方法: 删除文件或符号链接。 删除一个空目录。

  • 问题内容: 我面临一个问题:删除文档后,我可以立即找到该文档。 但是,当我等待几秒钟时,删除的文档就消失了,并且无法使用同一命令找到该文档。 实际上,我知道发布新文档时会有类似的情况,您需要等待一段时间才能找到它。我认为这对我来说是可以接受的。但是关于这种情况,有什么想法吗? 这是可重现的要点:https : //gist.github.com/hxuanji/89813ffe0979f12dba

  • 我有文件在上传/project ect1/更新。 问题是,只删除更新中的文件。我想删除文件夹上载中的目录。。。也就是说,文件夹名“project1”和“update”在更新中的文件被删除后也会被删除。你能帮我找出错误吗?? 这个编码发出警告 警告:clocdirer()期望参数1为资源, 警告:rmdir(update)[function.rmdir]:没有这样的文件或目录。。 但是在目录上传中,

  • 我用的是log4j2.14。1. 我想做的是有一个appender,它允许我每天有一个日志文件,但在N天后删除旧的日志(例如,我希望最多有10天的日志)。 我尝试过使用DirectWriteRolloverStrategy,它看起来不错,每天创建一个日志文件,但显然无法删除旧文件,因此我的日志目录中充满了日志;maxFiles属性似乎只设置了与文件模式匹配的时间段内允许的最大文件数(请参见http