Access: 2014-05-20 11:04:27.012146373 -0700
Modify: 2014-04-05 20:59:32.000000000 -0700
Change: 2014-05-20 11:04:22.405479507 -0700
Acesso : última vez que o conteúdo do arquivo foi examinado.
Modificar : última vez que o conteúdo do arquivo foi alterado.
Alterar : última vez que o inode do arquivo foi alterado.
O tempo alterar inclui coisas como modificar as permissões e a propriedade, enquanto o tempo modificar refere-se especificamente ao conteúdo dos arquivos.
Ou mais precisamente (de man 2 stat
):
The field st_atime is changed by file accesses, for example, by execve(2), mknod(2), pipe(2), utime(2) and read(2) (of more than zero bytes). Other routines, like mmap(2), may or may not update st_atime.
The field st_mtime is changed by file modifications, for example, by mknod(2), truncate(2), utime(2) and write(2) (of more than zero bytes). More‐ over, st_mtime of a directory is changed by the creation or deletion of files in that directory. The st_mtime field is not changed for changes in owner, group, hard link count, or mode.
The field st_ctime is changed by writing or by setting inode information (i.e., owner, group, link count, mode, etc.).
Curiosamente, a manipulação direta dos tempos de arquivo conta como modificação do inode, o que fará com que o ctime apresente a hora atual. Assim, você pode definir o ctime para o tempo atual , mas você não pode defini-lo para qualquer outra hora, como você pode os outros dois. Isso faz do ctime um canário útil para detectar quando o mtime do arquivo pode ter sido movido de volta.
Além disso, enquanto você pode mudar o inode sem alterar o conteúdo do arquivo (isto é, o ctime pode mudar sem a mudança mtime ), o reverso não é verdadeiro. Toda vez que você modificar o conteúdo do arquivo, você necessariamente também irá acabar com o ctime .