Linux时间戳(也称为Unix时间戳或Epoch时间)是从1970年1月1日00:00:00 UTC开始所经过的秒数,不包括闰秒。它在Linux和许多其他操作系统中都有广泛的应用,以下是一些常见的应用场景:
将时间戳转换为人类可读的日期和时间:
date -d @<timestamp> +"%Y-%m-%d %H:%M:%S"
例如,date -d @1633072800 +"%Y-%m-%d %H:%M:%S"
会输出 2021-10-01 00:00:00
。
将人类可读的日期和时间转换为时间戳:
date -d "2021-10-01 00:00:00" +%s
这将输出对应的时间戳 1633072800
。
查看文件的修改时间戳:
ls -l <filename>
输出中会显示文件的最后修改时间,格式为 YYYY-MM-DD HH:MM:SS
。
使用时间戳设置文件的时间戳:
touch -d @<timestamp> <filename>
这会将文件的修改时间和访问时间设置为指定的时间戳。
syslog
, rsyslog
)默认会在每条日志消息前添加当前的时间戳。if [ $(($(date +%s) - $(stat -c %Y <filename>))) -lt 86400 ]; then
echo "File was modified within the last 24 hours."
fi
Date
字段就是以RFC 1123格式表示的时间戳。总之,Linux时间戳是一个非常强大且灵活的工具,在日常的系统管理和开发工作中有着广泛的应用。