Um sistema de arquivos normal não armazena um log de alterações.
Como monitorar as alterações do sistema de arquivos é respondido aqui:
Use o stat file
Posso verificar o tempo de modificação recente do arquivo e criar tempo.
[root@controller network-scripts]# stat ifcfg-enp2s0f0
文件:"ifcfg-enp2s0f0"
大小:444 块:8 IO 块:4096 普通文件
device:fd00h/64768d Inode:1708165 硬链接:1
limit:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
recent access:2017-10-08 19:51:13.715800341 +0800
最近更改:2017-08-31 14:57:14.703346036 +0800
recent change:2017-08-31 14:57:14.745346036 +0800
创建时间:-
Se existe um método para listar todo o tempo que alterou o arquivo?
Um sistema de arquivos normal não armazena um log de alterações.
Como monitorar as alterações do sistema de arquivos é respondido aqui:
Nenhum sistema de arquivos que conheço armazena todas as vezes de modificação. A maioria fornece apenas o que você já apresentou: criação, último acesso e última modificação.
Como experiência, faça uma pequena partição, talvez 32M ou mais. Coloque o seu sistema de arquivos preferido nele e monte essa partição em algum lugar (vou usar /mnt
para este exemplo). Algum tamanho disponível será ocupado pelos dados do sistema de arquivos, mas podemos ignorar isso. O tempo é armazenado como um número de segundos de 32 ou 64 bits desde algumas épocas; vamos assumir 32 aqui.
32M é 33554432 bytes. 32 bits são 4 bytes, portanto você pode armazenar 8.388.608 registros de data e hora em uma partição completamente vazia. Execute um loop:
for ((x=0; x < 8500000; x=x+1)); do
touch /mnt/somefile
done
Isto irá touch
um arquivo no sistema de arquivos 8.5 milhões de vezes (e provavelmente demorará um pouco). É importante ressaltar que, se o seu sistema estiver armazenando todos os timestamp, então, em algum momento, você receberá uma mensagem informando que o sistema de arquivos está cheio.
Tags linux