残念ながら、POSIX 標準で定義されているように、ファイルごとに 3 つの異なる時間値しか保存されていないため、通常はクエストを実行できません (基本定義セクション 4.8 ファイル時間の更新を参照)
<ブロック引用>
各ファイルには、3 つの異なるタイムスタンプが関連付けられています。最終データ アクセス時刻、最終データ変更時刻、およびファイル ステータスの最終変更時刻です。これらの値は、filecharacteristics 構造体 struct stat で返されます
編集:以下のコメントで述べたように、使用されるファイルシステムによっては、メタデータにファイルの作成日が含まれる場合があります。ただし、そのような情報の保存は標準的ではないことに注意してください。それによっては、実際に使用されているファイルシステムが何らかの形でそれを保存する場合に、別のファイルシステムに移動する際に移植性の問題が発生する可能性があります。
mikyra's answer is good.事実、彼が言ったこととまったく同じです.
[[email protected] test]$ stat test.txt
File: `test.txt'
Size: 0 Blocks: 8 IO Block: 4096 regular empty file
Device: 802h/2050d Inode: 588720 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ jason) Gid: ( 500/ jason)
Access: 2013-03-14 01:58:12.000000000 -0700
Modify: 2013-03-14 01:58:12.000000000 -0700
Change: 2013-03-14 01:58:12.000000000 -0700
どのファイルが最初に作成されたかを確認したい場合は、一連のファイルを作成するときにシステム日付を追加してファイル名を構造化できます。
パフォーマンス上の理由からファイルシステムを noatime でマウントしている場合、atime は作成時刻を表示する可能性が高いことに注意してください。 noatime が大幅なパフォーマンスの向上をもたらすことを考えると (ファイルが読み取られるたびにディスク書き込みが削除されるため)、これは、必要な結果も得られる賢明な構成オプションである可能性があります。
ls -i file #output is for me 68551981
debugfs -R 'stat <68551981>' /dev/sda3 # /dev/sda3 is the disk on which the file exists
#results - crtime value
[[email protected] ~]# debugfs -R 'stat <68551981>' /dev/sda3
debugfs 1.41.12 (17-May-2010)
Inode: 68551981 Type: regular Mode: 0644 Flags: 0x80000
Generation: 769802755 Version: 0x00000000:00000001
User: 0 Group: 0 Size: 38973440
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 76128
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x526931d7:1697cce0 -- Thu Oct 24 16:42:31 2013
atime: 0x52691f4d:7694eda4 -- Thu Oct 24 15:23:25 2013
mtime: 0x526931d7:1697cce0 -- Thu Oct 24 16:42:31 2013
**crtime: 0x52691f4d:7694eda4 -- Thu Oct 24 15:23:25 2013**
Size of extra inode fields: 28
EXTENTS:
(0-511): 352633728-352634239, (512-1023): 352634368-352634879, (1024-2047): 288392192-288393215, (2048-4095): 355803136-355805183, (4096-6143): 357941248-357943295, (6144
-9514): 357961728-357965098