使用 find 删除所有子目录(及其文件)

发布于 2024-11-05 12:39:26 字数 644 浏览 1 评论 0原文

我确信这是直截了当的并且在某处得到了答案,但我没有找到我想要的东西。基本上,我试图每 7 天运行一个 cron 脚本来清除给定目录的内容。到目前为止,我已经尝试了以下操作,

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

更新:根据我从所有回复者那里了解到的情况 。再次非常感谢大家。

I'm sure this is straight forward and answered somewhere, but I didn't manage to find what I was looking for. Basically, I'm trying to run a cron script to clear the contents of a given directory every 7 days. So far I have tried the following,

find /myDir -mtime 7 -exec rm -rf {} \;

This however also deletes the parent directory myDir, which I do not want. I also tried,

find /myDir -type f -type d -mtime 7 -delete

which appeared to do nothing. I also tried,

fnd /myDir -type d -delete

which deleted all but the parent directory just as I need. However, a warning message came up reading,

relative path potentially not safe

I'd appreciate if anyone can rectify my script so that it safely deletes all subdirectories in folder.

Many thanks. =)

UPDATE: I decided to go for the following,

find /myDir -mindepth 1 -mtime 7 -delete

Based upon what I learned from all who replied. Again, many thanks to you all.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

谁的年少不轻狂 2024-11-12 12:39:26

尝试:

find /myDir -mindepth 1 -mtime 7 -exec rm -rf {} \;

Try:

find /myDir -mindepth 1 -mtime 7 -exec rm -rf {} \;
如何视而不见 2024-11-12 12:39:26

怎么样

cd myDir/ ; find . -type d -delete

假设您从 myDir 父目录运行它

?如果你不能保证 myDir 存在,那么这更安全:

cd myDir/ && find . -type d -delete

What about

cd myDir/ ; find . -type d -delete

assuming that you run this from myDir parent directory.

If you can't guarantee myDir exists, then this is safer:

cd myDir/ && find . -type d -delete
浅紫色的梦幻 2024-11-12 12:39:26

find /myDir -mindepth 1 -mtime 7 -delete

可能应该是

find /myDir -mindepth 1 -mtime +7 -delete

(或者可能是 mtime +6< /代码>)。 + 表示 7 天或更早的内容,而不是正好 7 天。

find /myDir -mindepth 1 -mtime 7 -delete

should probably be

find /myDir -mindepth 1 -mtime +7 -delete

(or maybe mtime +6). The + means things 7 days old or older rather than exactly 7 days.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文