Linux中的时间戳是什么?


11

在阅读有关Linux的文章时,我得到了以下内容:

touch提供了多种选择,但这是您感兴趣的一种:

-t选项允许您设置文件的日期和时间戳。要将时间戳设置为特定时间:

$ touch -t 03201600 myfile

这会将文件(myfile的时间戳)设置为3月20日(03 20 1600)下午4点。

在这里,我无法理解3月20日03201600-> 4pm背后的逻辑。


5
那不是通常所说的Unix时间戳(没有Linux时间戳,只有Unix时间戳)。有关更多信息,请参见stackoverflow.com/questions/20822821/…
muru

Answers:


13

您发布的输出通过将数字分开为(03 20 1600)来解释格式:

03 - March
20 - 20th
1600 - 4:00 PM (24-hour clock, where 0000 is midnight)

是从12:00 AM起1小时= 100
lazarus 2014年

23

欢迎使用Linux!您可能会touch从指南或书中阅读在问题中引用的文字。

在Linux中,几乎每个命令都有解释其选项的“手册”。您可以通过man <command>在Linux机器上执行来查看任何命令的手册页。

因此,从命令man touch

   -t STAMP
          use [[CC]YY]MMDDhhmm[.ss] instead of current time

因此,您的示例:

-t 03201600

#打破它:

-t 03 20 16 00
-t     MM      DD      hh       毫米
-t月日时分

因此,3月20日下午4点(24小时制)。

如果您无权使用Linux机器,则可以man从以下位置在线查看这些页面:http : //unixhelp.ed.ac.uk/CGI/man-cgi。在man该命令页面touch可以在这里找到:http://unixhelp.ed.ac.uk/CGI/man-cgi?touch


thanx @Alaa Ali,我完全明白了
lazarus

5

根据man touch

   -t STAMP
          use [[CC]YY]MMDDhhmm[.ss] instead of current time

因此,您的时间戳记可以转换为DD/MM hh:mm:20/03 16:00。


1

时间戳是计算机记录的事件的当前时间。

时间戳在计算机内部和网络中广泛使用,用于各种类型的同步。例如,它们在某些网络协议中被分配给分组,以便于由接收主机(即计算机)以适当的顺序重组数据(例如,人类语音)。而且,数据库管理系统(DBMS)使用它们来确定系统故障(例如,由于电源中断或磁盘故障而导致的计算机崩溃)时的事务处理顺序。

时间戳通常还用于提供有关文件的信息,包括它们的创建时间以及上次访问或修改的时间。该信息包含在inode中,它是类Unix操作系统上文件系统上的一种数据结构,它存储有关文件的所有信息(文件名和实际数据除外)。

另一个重要的应用程序是记录在系统日志文件中的事件。此类文件中的时间戳对于监视系统安全性和进行取证用途非常有用。

时间戳记记录的时间可以按照一天中的时间或相对于某个起点的时间进行度量。而且它可以在几分之一秒内以高精度进行测量。

时间的准确性是通过多种机制保持的,包括计算机内置的高精度时钟和网络时间协议(NTP)。NTP使用协调世界时(UTC)将计算机时钟时间同步到毫秒(有时甚至是毫秒的几分之一),并使用UDP(用户数据报协议)作为核心Internet协议之一,作为其传输机制。时间戳记

点击这里转换


thanx @Mitch,还有一个问题,它是否与NTP(网络时间协议)有关?
lazarus 2014年

1
是的,它使用它来计算时间。
米奇

尽管在这种情况下,touch实际上并没有使用Unix时间戳。
IQAndreas 2014年

1
OP的问题是“ Linux中的时间戳是什么?” 我解释了时间戳。
米奇
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.