Questão Atualizar manualmente o tempo de um arquivo no UNIX


É possível alterar manualmente a data de um arquivo em um sistema UNIX (para uma data anterior)?

Se sim, como lidaria com este problema?

Como eu seria capaz de fazer a mesma coisa em vários arquivos ao mesmo tempo?


4


origem


Você pode usar touch file para fazer com que tenha a data atual. - fedorqui
Atualizada a questão. Eu só estou olhando para fazer os arquivos parecerem mais antigos do que são.
Você pode fingir mudando sua data e hora sudo date -s "sometime in the past", então touch e volte à data atual. - fedorqui
Esqueça minha explicação, @BeniBela responder resolve isso mais fácil. Não sabia sobre -d em contato. - fedorqui


Respostas:


Você pode usar o toque. Por exemplo::

touch -d '2007-01-31 8:46:26' file

Ou muitas vezes mais fácil, se você tiver um arquivo2 que já tenha o mtime, você pode copiar o tempo com -r:

touch -r file2 file

Há também a opção -t com seu formato estranho:

touch -t [[CC]YY]MMDDhhmm[.ss] file

11



+1, pois esta é uma boa solução para uma caixa Linux. Mas parece que -d não é uma opção válida em uma máquina OS X.
Adicionado uma opção mais antiga que também parece existir Mac - BeniBela
-t é POSIX, então é uma boa aposta ter suporte na maioria dos atuais unices.


Você pode usar

 touch -m -d '1 Jan 2006 12:34' test.txt

-m Altera apenas o tempo de modificação -d (--date = STRING) com a data em que você deseja colocar

extraído do manual:

DATE STRING
       The  --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29 16:21:42" or even "next Thursday".  A
       date string may contain items indicating calendar date, time of day, time zone, day of week, relative time, relative date, and numbers.  An empty  string  indicates
       the beginning of the day.  The date string format is more complex than is easily documented here but is fully described in the info documentation.

para mais informações você pode ler o manual de toque, executando man touch.

Espero que ajude.


1