Atualize manualmente o mtime de um arquivo no UNIX

5

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

Se sim, como eu lidaria com esse problema?

Como eu poderia fazer a mesma coisa em vários arquivos ao mesmo tempo?

    
por ukliviu 06.06.2013 / 11:37

2 respostas

12

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

Existe também a opção -t com o formato estranho:

touch -t [[CC]YY]MMDDhhmm[.ss] file
    
por 06.06.2013 / 11:41
1

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.

    
por 06.06.2013 / 16:40

Tags