我想要删除超过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天的文件/文件夹的正确方法是什么?
答案 0 :(得分:20)
您可以使用这段代码
find /tmp/* -mtime +7 -exec rm {} \;
<强>解释强>
第一个参数是文件的路径。这可以是路径,目录或通配符,如上例所示。我建议使用完整路径,并确保在没有exec rm的情况下运行命令,以确保获得正确的结果。
第二个参数-mtime用于指定文件的旧天数。如果输入+7,它将找到超过7天的文件。
第三个参数-exec允许您传入诸如rm之类的命令。 {} \;最后需要结束命令。
来源:http://www.howtogeek.com/howto/ubuntu/delete-files-older-than-x-days-on-linux/
对于删除文件夹,在清空文件夹之后,您可以在代码段中rmdir
rm
的instad,如果您只想查看可以添加的目录
type -d
代码如下:
find /tmp/*/* -mtime +7 -type d -exec rmdir {} \;
答案 1 :(得分:7)
更容易做到
find /tmp/* -mtime +7 -exec rm -rf {} \;
del文件和目录
答案 2 :(得分:2)
答案 3 :(得分:1)
find /tmp/* -mtime +7 -type f -exec rm {} \;
删除文件。
find /tmp/ -empty -type d -delete
删除空目录。