我有这个非常愚蠢且非常基本的问题,但我认为最好在开始修剪我的 NAS 之前问一下。
我想删除所有文件超过 30 天的所有目录。
对于我可以完成的文件:
find /path/to/files* -mtime +30 -exec rm {} \;
但这会导致某些地方的文件夹为空。所以我想删除所有文件夹,-mtime +30
但我不确定mtime
文件夹是否保证其子文件夹和文件的修改时间阈值。
另外,如果我的想法是正确的,那么相应的命令是什么?
答案1
在 Linux 上,如果您执行以下操作,目录修改时间会发生变化:
- 添加新文件
- 删除一个现有的文件
- 或重命名其中的文件
如果您更改现有文件的内容,这不会反映在目录中。
因此,我建议使用这些命令:
find /path/to/folder -type f -mtime +30 -delete
此命令递归删除超过 30 天的文件并保留文件夹。
find /path/to/folder -type d -empty -delete
如果有空目录,这将删除它。
来源: