查找出生日期在给定时间戳之后的文件的便携式方法

查找出生日期在给定时间戳之后的文件的便携式方法

根据如何查找文件的创建日期?,在 Linux 文件系统中,例如 ext4、Btrfs 和 JFS,存储文件创建时间(又名出生时间),可以使用以下命令显示文件出生时间(以人类可读的格式)

stat -c '%w' approved-images.txt
2019-12-04 16:50:21.539553500 +0000

(请注意,在 Linux 上这需要coreutils8.31、2.28glibc和内核版本 4.11 或更高版本.)

但 POSIX 标准只定义了三个不同的时间戳为每个文件存储:最后一次数据访问的时间、最后一次数据修改的时间、最后一次文件状态改变的时间。

也在POSIX 标准find,没有提及文件的创建日期。

对于存储创建日期的文件系统,是否有一种方法可以在 bash、dash 和 zsh shell 中找到出生日期在给定时间戳之后的文件?

编辑:正如评论者杰德BP, 在Linux 中真的没有办法获取 cifs/smb 共享上文件的创建时间吗?Linux 内核还没有接口来获取文件创建日期吗?关于这个问题已经进行了广泛的讨论。

并且,正如评论者斯蒂芬·查泽拉斯, 在删除特定日期之前创建的所有文件据说有些BSD必须find -newerBt检查文件的inode诞生时间。

相关内容