使用 touch 命令将文件的修改时间设置为 Unix 纪元

使用 touch 命令将文件的修改时间设置为 Unix 纪元

编辑:措辞更好的问题:如何仅使用 touch 命令将文件的修改时间设置为 unix 纪元?

我知道可以使用“data %s”检索 unix 纪元值,但是如何使用 touch 命令(并且仅该命令)将修改时间设置为 unix 纪元?

编辑2:

所以,我发现它运行时没有任何错误:

touch -m -d ”@$(date +%s)” fileexample.txt

这是将文件的修改时间设置为 Unix 纪元的正确方法吗?



原始问题(忽略)...:

Using the Linux manual for the “touch” command, show the command that you would 
use to set the modification time of a file to the Unix epoch.

我知道 Unix 纪元是自该纪元(1970 年 1 月 01 日)以来经过的秒数(或毫秒,我忘了)

问题说:设置时间是什么意思?Unix时代”?

那么,它基本上是在询问今天的时间,还是 1970 01 01,还是……?

我知道这个命令是:

touch -m -t time file

但我要设置到什么时间呢?

另外,我是否打算在命令中使用 unix 纪元格式来表示时间?

答案1

-t不接受纪元时间-d

   -d, --date=STRING
          parse STRING and use it instead of current time

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

您需要使用-dor--date代替-t,并且需要放在@使用 epochtime 格式之前,如date联机帮助页中所述:

   EXAMPLES
       Convert seconds since the epoch (1970-01-01 UTC) to a date

              $ date --date='@2147483647'

例子:

touch --date=@1442968132 test.txt

如果您只想更改修改时间,请使用-m--time modify--time mtime,否则修改时间和访问时间都会更改。

   -m     change only the modification time

   --time=WORD
          change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m

例子:

$ touch --date=@1442968132 test
$ stat test
  File: test
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fd03h/64771d    Inode: 43266017    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    user1)   Gid: ( 1000/    user1)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2015-09-23 02:28:52.000000000 +0200
Modify: 2015-09-23 02:28:52.000000000 +0200
Change: 2018-11-23 11:34:59.893888360 +0100
 Birth: -

$ touch --date=@1542968132 test
$ stat test
  File: test
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fd03h/64771d    Inode: 43266017    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    user1)   Gid: ( 1000/    user1)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2018-11-23 11:15:32.000000000 +0100
Modify: 2018-11-23 11:15:32.000000000 +0100
Change: 2018-11-23 11:35:06.893888073 +0100
Birth: -

$ touch -m --date=@1342968132 test
$ stat test
  File: test
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fd03h/64771d    Inode: 43266017    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    user1)   Gid: ( 1000/    user1)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2018-11-23 11:15:32.000000000 +0100
Modify: 2012-07-22 16:42:12.000000000 +0200
Change: 2018-11-23 11:35:22.300887441 +0100

相关内容