Como alterar apenas o mtime de um diretório?

3

Estou tentando alterar apenas o mtime de um diretório, adicionando arquivos ou subdiretórios, mas isso também altera o ctime do arquivo. Existe alguma maneira de mudar o mtime sem afetar o tempo ou o horário?

    
por Ankit Sinha 20.03.2015 / 11:24

1 resposta

8

Não é possível porque ctime é alterado sempre se houver uma alteração de mtime . Aqui está a explicação:

Vamos ver na perspectiva do arquivo:

ctime é o tempo de alteração do inode / arquivo, isso significa que o ctime é atualizado quando os atributos do arquivo são alterados, como alterar o proprietário ou a permissão.

mtime é o tempo de modificação do arquivo, é atualizado quando você modifica o conteúdo de um arquivo.

Na maioria das vezes, ctime e mtime serão os mesmos, a menos que apenas os atributos de arquivo sejam atualizados. Nesse caso, apenas o ctime é atualizado.

Agora, de uma perspectiva de diretório:

Um diretório é um tipo especial de arquivo e seu conteúdo é um conjunto de tuplas (nome do arquivo, i-node). O mtime do diretório é atualizado quando uma tupla é adicionada, removida ou alterada, ou seja, quando um arquivo ou diretório é adicionado, excluído ou renomeado, mtime muda e é acionado uma alteração de ctime .

Quando os metadados do diretório mudam (proprietário, grupo, modo), o mtime NÃO é atualizado mas o ctime é .

    
por 20.03.2015 / 12:07