84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
已知linux系统大多通过例如:
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
或
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
来设定当前时区。
那么如何通过这个localtime文件逆向查找到本系统设置的城市信息呢?
ringa_lee
针对你的问题,假如是一个软链接文件,可以通过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 ... fi
针对你的问题,假如是一个软链接文件,可以通过readlink命令获取源文件地址:
如果不是链接文件,可以通过比较md5的方式来识别,因为大多数环境下应该都是以软链接的形式存在,所以我这里真地拷贝了一次文件来测试:
如果有进一步需要,比如用脚本实现: