目录的mtime可以比文件里面的mtime更旧吗?

我有这个非常愚蠢和非常基本的问题,但在开始修剪我的NAS之前,我想更好地问一下。

我想删除所有文件都超过30天的所有目录。

对于我本可以做的文件:

find /path/to/files* -mtime +30 -exec rm {} \; 

但这会在某些地方导致空文件夹。 所以我想用-mtime +30删除所有文件夹,但我不确定文件夹的mtime是否保证了子文件夹和文件的mtime阈值。

而且,如果我认为是正确的,同样的命令是什么?

在linux目录修改时间如果你改变:

  • 添加一个新文件
  • 删除现有的文件
  • 或重命名其中的文件

如果更改现有文件的内容,则不会反映到目录。

因此,我建议使用这些命令:

  find /path/to/folder -type f -mtime +30 -delete 

此命令删除超过30天的递归文件并保留文件夹。

  find /path/to/folder -type d -empty -delete 

如果有的话,删除空目录。

资源:

目录上次修改日期

如何从命令行删除目录中的所有空目录?