如何获取Unix系统中文件的最后修改时间戳?
获取Unix系统文件最后修改时间戳的解决方案
下面是几种在Unix系统中获取文件最后修改时间戳(自1970-01-01 00:00:00 UTC以来的秒数)的实用方法:
1. 使用stat命令(最推荐)
stat是专门查看文件元数据的工具,不同Unix分支参数略有区别:
- Linux发行版:
其中stat -c %Y 目标文件名%Y参数直接输出秒级时间戳。 - BSD/macOS系统:
stat -f %m 目标文件名%m对应文件修改时间的时间戳。
2. 结合ls与date命令
如果系统缺少stat工具,可通过组合命令实现:
date -d "$(ls -l --time-style=+%Y-%m-%d\ %H:%M:%S 目标文件名 | awk '{print $6, $7}')" +%s
原理是先用ls按指定格式输出修改时间,再用awk提取时间字段,最后通过date转换为时间戳。
3. Python脚本方式(适合批量/程序化处理)
如果需要在代码中集成,用Python的os.path模块更灵活:
import os.path # 获取秒级时间戳 print(os.path.getmtime("目标文件名")) # 若需毫秒级时间戳 print(int(os.path.getmtime("目标文件名") * 1000))
参考示例图:
内容的提问来源于stack exchange,提问作者Harish
相关产品推荐
相关产品推荐

