linux获取文件或者是进程精确时间的方法

发布时间 2023-09-17 15:13:08作者: 济南小老虎

linux获取文件或者是进程精确时间的方法


背景

很多时候需要精确知道文件的具体时间. 
也需要知道进程的开始的精确时间. 

便于进行一些计算的处理.  
其实linux里面有很多方式进行文件属性的查看. 
这里简单总结一下. 

文件系统时间查看

ls 以及 ll 命令可以查看文件的一些简要信息
但是时间是精确到分钟的 

需要使用如下命令
stat  filename  可以进行查看. 
里面会有 访问/修改/ 等时间. 

也可以使用 ls --full-time 查看具体文件的时间. 
这个时间一般是创建时间, 会比较精确一些 

进程时间查看

ps -eo lstart,etime,cmd |grep processname 

cmd 是进程名字,便于进行过滤
lstart 启动时间
etime 程序运行过的时间. 

其他时间注意事项

dmesg -T 可以将时间戳转换为 当前时区的时间便于查看. 

通过 date +%s 可以展示时间戳
需要注意, 这个时间戳的精度是  秒. 

如果想查看纳秒的时间戳可以使用
date +%s%N

但是一般情况下, 只需要到毫秒级别. 
date +%s%3N 

然后可以通过 时间戳进行转换了. 
date -d @`date +%s` 就可以实现转换. 

date 的命令主要有如下的部分:
-s set 设置时间
-d 按照时间格式进行处理.
-r 展示具体的文件时间. 
+% 是进行格式转换. 

时间同步

ntpdate 与 chrony 

ntpdate 是比较早的一款时间同步软件. 
centos8 时已经不再使用了 改为了 chrony 的时间同步方式

需要注意. 
ks10-adv-updates 的包源里面还带着 ntpdate的时间同步包. 

chrony 是比较新的一款工具. 有时间再整理一下相关内容.