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時間戳是一個非常強大且靈活的工具,在日常的系統管理和開發工作中有著廣泛的應用。