我想删除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 {} \;在子目录中却显示了几个文件。
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在一段代码,如果你还只是想看看你可以添加目录
rmdir
rm
type -d
到如下代码:
find /tmp/*/* -mtime +7 -type d -exec rmdir {} \;