A ctime on linux é sempre maior ou igual a mtime?

2

Estou tentando limpar como funcionam os timestamps de um arquivo no linux.

Nesta resposta é indicado:

Modify - the last time the file was modified (content has been modified)

Change - the last time meta data of the file was changed (e.g. permissions)

mas toda vez que eu mudo o conteúdo do arquivo, a hora também é alterada. Isso me leva a pensar que é como uma reação à mudança:

  1. A alteração no conteúdo do arquivo aciona uma alteração no tempo
  2. A alteração no mtime (metadados do arquivo) aciona uma alteração no ctime

Se isso for verdade, então o ctime sempre será > = than mtime.

Este pressuposto está correto em todas as situações? (assumindo que a hora do sistema nunca é alterada manualmente)

    
por mxlian 19.11.2015 / 15:08

1 resposta

3

Não: você pode definir mtime (tempo de modificação) e atime (tempo de acesso) para timestamps arbitrários (dentro dos limites do tipo de dados time_t , incluindo datas no futuro . Depois de fazer isso, ctime será o tempo atual .

A função utimes (que atualiza mtime e atime ) aceita um par de timeval estruturas, que combinam time_t (segundos) e microssegundos, aumentando potencialmente a resolução, mas não se limitando a tempos no passado.

    
por 19.11.2015 / 23:59