私はこれを持っています:
$ ls -l ff
ls: cannot access ff: No such file or directory
$ touch ff
$ stat ff
File: `ff'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 1057193 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ abc) Gid: ( 0/ root)
Access: 2011-09-18 20:36:08.351097228 -0700
Modify: 2011-09-18 20:36:07.340839847 -0700
Change: 2011-09-18 20:36:07.340839847 -0700
Mtimeとctimeがatimeより古いのはなぜですか?
そのディレクトリへの変更を監視している何かを実行している可能性がありますか?
シェルプロンプトだけを実行してこれを試してみると、アクセス時間ff
は変更時間と変更時間に一致します。しかし、ディレクトリでNautilus(GNOMEファイルマネージャ)ウィンドウを開いて試してみると、アクセス時間はほぼ正確に1秒遅れています。
私の場合、Nautilusはウィンドウが開いているため、そのディレクトリへの変更を監視しています。新しいファイルが作成されたことを確認し、表示するアイコンを知りたいので、ファイルを調べて、ファイルの種類を確認します。これにより、アクセス時間が更新されます。
少なくとも通常のタッチコマンドに関する限り、この1秒の違いの理由はありません。
$ ls -l zz
ls: cannot access zz: No such file or directory
$ touch zz
$ stat zz
File: `zz'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 808h/2056d Inode: 265633 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/jlliagre) Gid: ( 1000/jlliagre)
Access: 2011-09-19 07:35:50.679679571 +0200
Modify: 2011-09-19 07:35:50.679679571 +0200
Change: 2011-09-19 07:35:50.679679571 +0200
Straceを使用して、作成されたファイルにタッチで影響を与える唯一のシステムコールを確認します。
open("zz", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3
dup2(3, 0) = 0
close(3) = 0
utimensat(0, NULL, NULL, 0) = 0
close(0) = 0
Trueの場合、ファイルの作成後にファイルにアクセスするデーモンなど、アンチウイルスなどが存在する可能性があります。