linux - linux中如何删除超过n天的文件和目录

标签 linux shell

我有一个名为存储库的目录,其中包含许多文件和子目录。我想找到自过去 14 天以来未修改的文件和目录,以便我可以删除这些文件和目录。 我已经编写了这个脚本,但它只给出了目录名称

#!/bin/sh

M2_REPO=/var/lib/jenkins/.m2/repository
echo $M2_REPO
OLDFILES=/var/lib/jenkins/.m2/repository/deleted_artifacts.txt
AGE=14 

find "${M2_REPO}" -name '*' -atime +${AGE} -exec dirname {} \; >> ${OLDFILES}

最佳答案

查找/path/to/files* -mtime +5 -exec rm {}\;

请注意,rm、{} 和\; 之间有空格

说明

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

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

第三个参数 -exec,允许您传入命令,例如 rm。这 {}\;最后需要结束命令。

这应该适用于 Ubuntu、Suse、Redhat 或几乎任何版本的 Linux。

关于linux - linux中如何删除超过n天的文件和目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32710098/

相关文章:

linux - 如何在 Linux 中通过 shell 脚本创建新目录?

linux - 在 Linux 中如何知道哪条中断线是共享的,哪条中断线是空闲的?

linux - 在 Centos Linux 服务器上设置 Subversion

c - Redhat 手动安装 gcc

bash - 如何在 docker 中的 mongod 之后运行 mongorestore

bash - 打印使用手指登录的用户的唯一名称

shell - 在 linux 中,文件不为空但大小为 0

linux - shell 脚本 : How to partition a file into columns?

HTML 中的 PHP 代码,不带文件扩展名

java - 如何通过 Java API 访问远程 Linux 机器