目录的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
如果有的话,删除空目录。
资源:
目录上次修改日期
如何从命令行删除目录中的所有空目录?