我想获取系统的时区。现在有一些注意事项...
- 我使用的是 Linux,目标系统将是 UNIX。
- 我将只使用系统映像,即不是实时系统,但将安装分区。
- 我最终会编写脚本。
我考虑过使用 /etc/localtime,但有时这是一个真实文件,有时是一个符号链接。无论哪种情况,我似乎都无法获得要解析的文件格式的描述。
有人有主意吗?
谢谢
答案1
该文件将采用 tz 文件格式,即二进制格式。您可以使用日期时间::时区::Tz文件如果您懂 Perl,就可以解析它。如果它是一个符号链接,那就没关系了,因为只要它被挂载了,您就可以跟着它走。
最后,如果您可以控制图像创建,我强烈建议您将系统时间设置为 UTC。
答案2
您知道这些是 UNIX 的什么类型吗?
除了 /etc/localtime,
- Redhat 版本使用
/etc/sysconfig/clock
- Debian 变体使用
/etc/timezone
答案3
残忍的方式.... :p 如果 mount 是只读的,则触摸一个文件,然后... ls -lah ....
然后你就会知道文件创建的时间。意思是……系统时间 +/- 几秒。
或者以某种方式尝试显式或隐式地修改某些内容并查看时间 :>
答案4
从命令行,您可以通过运行以下命令以比读取 /etc/localtime 更安全的方式获取它:
date +%Z