A hora do sistema é um relógio mantido pelo kernel. Quando você atualiza um arquivo, o mtime atual do arquivo é atualizado para a hora atual do kernel. Filés são em UTC, como segundos da época (a partir de 1 de janeiro de 1970). (isso não é exatamente como o Windows faz - isso é Linux / UNIX)
Então você pode mexer com a hora do sistema e defini-lo de trás para frente. Você pode obter datas futuras em arquivos, --- alguns sistemas de arquivos mais antigos não "curtem" isso. Assim, alterar o relógio do sistema não se altera em nenhum horário de filmagem existente. Apenas usando comandos que atualizam tempos de filmagem como touch
ou realmente alteram os metadados do arquivo ou arquivo, faça isso.
Você também pode obter datas futuras em arquivos abusando de chamadas do sistema utime()
e comandos como touch
.
Este é um sistema de 32 bits e o comando touch causou problemas usando uma data além da aritmética de data de 32 bits. O número de segundos UTC foi muito grande.
jmcnama@SNEDAP03 ~> ls -l t.lis
-rw-r--r-- 1 jmcnama other 68 Jun 4 10:17 t.lis
jmcnama@SNEDAP03 ~> touch -t 2099010100 t.lis
jmcnama@SNEDAP03 ~> ls -l t.lis
-rw-r--r-- 1 jmcnama other 68 Mar 1 2028 t.lis