GNU/Linux >> Linux の 問題 >  >> Linux

Bash/Debianでファイル作成日時を取得するには?

残念ながら、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

Linux
  1. Lsを実行し、作成された日付で結果を並べ替える方法は?

  2. Linux –ファイルの作成日を見つける方法は?

  3. Linux – Ntfs論理ボリューム上のファイルの作成日を取得する方法は?

  1. BashでCSVファイルを解析するには?

  2. Bashを使用して特定のファイルのmtimeを取得しますか?

  3. bashでファイルの絶対ディレクトリを取得するにはどうすればよいですか?

  1. 与えられたファイルの年齢を取得しますか?

  2. ファイルの作成/作成時間を取得しますか?

  3. ファイルの作成日を変更する