inf*_*fmz 18 bash recursion rm find subdirectory
我确信这是直截了当的并且在某个地方回答,但我找不到我想要的东西.基本上,我正在尝试运行一个cron脚本来每7天清除一个给定目录的内容.到目前为止,我尝试过以下方法,
find /myDir -mtime 7 -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
然而,这也删除了我不想要的父目录myDir.我也试过了,
find /myDir -type f -type d -mtime 7 -delete
Run Code Online (Sandbox Code Playgroud)
似乎什么都不做.我也试过了,
fnd /myDir -type d -delete
Run Code Online (Sandbox Code Playgroud)
除了父目录之外,我只需要删除所有内容.然而,一条警告信息出现了,
相对路径可能不安全
我很感激,如果有人可以纠正我的脚本,以便安全地删除文件夹中的所有子目录.
非常感谢.=)
更新: 我决定采取以下措施,
find /myDir -mindepth 1 -mtime 7 -delete
Run Code Online (Sandbox Code Playgroud)
基于我从所有回复的人那里学到的东西.再次,非常感谢大家.
lin*_*uts 14
尝试:
find /myDir -mindepth 1 -mtime 7 -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
关于什么
cd myDir/ ; find . -type d -delete
Run Code Online (Sandbox Code Playgroud)
假设您从myDir
父目录运行此命令.
如果你不能保证myDir存在,那么这更安全:
cd myDir/ && find . -type d -delete
Run Code Online (Sandbox Code Playgroud)
find /myDir -mindepth 1 -mtime 7 -delete
应该是
find /myDir -mindepth 1 -mtime +7 -delete
(或许mtime +6
).这+
意味着7天或更长的东西而不是7天.