84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
已知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的方式来识别,因为大多数环境下应该都是以软链接的形式存在,所以我这里真地拷贝了一次文件来测试:
如果有进一步需要,比如用脚本实现: