我确信这是直截了当的并且在某个地方回答,但我找不到我想要的东西。基本上,我正在尝试运行一个cron脚本来每7天清除一个给定目录的内容。到目前为止,我已尝试过以下内容,
find /myDir -mtime 7 -exec rm -rf {} \;
然而,这也删除了我不想要的父目录myDir。我也试过了,
find /myDir -type f -type d -mtime 7 -delete
似乎什么都不做。我也试过了,
fnd /myDir -type d -delete
除了父目录之外删除了所有内容。但是,出现了一条警告信息,
相对路径可能不安全
我很感激是否有人可以纠正我的脚本,以便安全地删除文件夹中的所有子目录。
非常感谢。 =)
更新:我决定采取以下措施,
find /myDir -mindepth 1 -mtime 7 -delete
基于我从所有回复的人那里学到的东西。再次,非常感谢大家。
答案 0 :(得分:14)
尝试:
find /myDir -mindepth 1 -mtime 7 -exec rm -rf {} \;
答案 1 :(得分:7)
怎么样?
cd myDir/ ; find . -type d -delete
假设您从myDir
父目录运行它。
如果你不能保证myDir存在,那么这样更安全:
cd myDir/ && find . -type d -delete
答案 2 :(得分:6)
find /myDir -mindepth 1 -mtime 7 -delete
应该是
find /myDir -mindepth 1 -mtime +7 -delete
(或者mtime +6
)。 +
表示7天或更长的东西,而不是7天。