开发者社区> 问答> 正文

如何通过/etc/localtime的时区信息逆向查找linux当前设定的城市信息

已知linux系统大多通过例如:

全选复制放进笔记ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
来设定当前时区。

那么如何通过这个localtime文件逆向查找到本系统设置的城市信息呢?

展开
收起
a123456678 2016-06-06 09:03:12 2728 0
1 条回答
写回答
取消 提交回答
  • 针对你的问题,假如是一个软链接文件,可以通过readlink命令获取源文件地址:

    # readlink /etc/localtime
    /usr/share/zoneinfo/Asia/Shanghai
    如果不是链接文件,可以通过比较md5的方式来识别,因为大多数环境下应该都是以软链接的形式存在,所以我这里真地拷贝了一次文件来测试:
    
    # cp /usr/share/zoneinfo/Asia/Shanghai abc
    # m=`md5sum abc | awk '{print $1}'`
    # find /usr/share/zoneinfo -type f | xargs md5sum | grep "$m"
    c103f379c73f61b9eaf39a9a8e0c2cb1 /usr/share/zoneinfo/Asia/Shanghai
    c103f379c73f61b9eaf39a9a8e0c2cb1 /usr/share/zoneinfo/PRC
    如果有进一步需要,比如用脚本实现:
    
    全选复制放进笔记if [ -L “/etc/localtime” ]; then  # is symbolic link
        ...
    else # normal file
    2019-07-17 19:27:30
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载