파일의 모든 수정 시간을 나열하는 방법은 무엇입니까?

파일의 모든 수정 시간을 나열하는 방법은 무엇입니까?

I를 사용하여 stat file파일의 마지막 수정 시간과 생성 시간을 확인할 수 있습니다.

[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
创建时间:-

파일이 변경된 시간을 모두 나열하는 방법이 있습니까?

답변1

일반 파일 시스템은 변경 로그를 저장하지 않습니다.

파일 시스템 변경 사항을 모니터링하는 방법에 대한 답변은 다음과 같습니다.

답변2

내가 아는 한 모든 수정 시간을 저장하는 파일 시스템은 없습니다. 대부분은 생성됨, 마지막 방문, 마지막 수정 등 이미 제공한 내용만 제공합니다.


실험적으로 약 32M 정도의 작은 파티션을 만듭니다. 즐겨 사용하는 파일 시스템을 여기에 놓고 해당 파티션을 어딘가에 마운트합니다( /mnt이 예에서는 사용함). 사용 가능한 크기 중 일부는 파일 시스템 데이터가 차지하지만 무시할 수 있습니다. 시간은 에포크 이후의 32비트 또는 64비트 초 수로 저장됩니다. 여기서는 32초로 가정합니다.

32M은 33554432바이트입니다. 32비트는 4바이트이므로 완전히 비어 있는 파티션에 8,388,608개의 타임스탬프를 저장할 수 있습니다. 루프를 실행합니다:

for ((x=0; x < 8500000; x=x+1)); do
    touch /mnt/somefile
done

이로 인해 touch파일이 파일 시스템에 850만 번 표시됩니다(시간이 걸릴 수 있음). 중요한 점은 시스템이 모든 타임스탬프를 저장하는 경우 어느 시점에 파일 시스템이 꽉 찼다는 메시지를 받게 된다는 것입니다.

관련 정보