目录的 mtime 可以比其中文件的 mtime 旧吗?

目录的 mtime 可以比其中文件的 mtime 旧吗?

我有这个非常愚蠢且非常基本的问题,但我认为最好在开始修剪我的 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

如果有空目录,这将删除它。

来源:

目录最后修改日期

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

相关内容