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

ファイルはいつ作成されましたか?

この質問にはすでに回答があります :ファイルの作成日を確認するには?

(7つの回答)
7年前に閉鎖されました。

ファイルがいつ作成されたかを確認するにはどうすればよいですか。マニュアルページを見ました

ls -lc ファイルステータスの最終変更用です

ls -lu アクセス時間について

ls -l <​​/ code> 最後に変更されたのはいつか正確に示されていませんか?

これらを試しましたが、ファイルが作成された時間がわかりません。

承認された回答:

OS / XまたはFreeBSDでは、これは-Uオプションです。 Linuxは現在、ほとんどのネイティブファイルシステムに誕生/作成時間を保存していますが、それを取得するためのAPIはまだありません(2018編集 :カーネル4.11以降、 statx()が追加されました。 システムコール、およびglibc 2.28以降はそのlibcラッパー、coreutils8.31以降はGNUstat 表示でき、(2021編集 )8.32以降GNU ls -time =birthで表示できます 。

ext4ファイルシステムでは、debugfsを使用して取得できます:

$ sudo debugfs /dev/some/fs
stat /some/file
[...]
crtime: 0x53208d7a:9045625c -- Wed Mar 12 16:38:18 2014
[...]

(ここで / some / file そのファイルシステム内のパスです)

NTFSファイルシステムの場合、およびntfs-3gを使用してマウントしていると仮定すると、「NTFS論理ボリューム上のファイルの作成日を取得するにはどうすればよいですか?」を参照してください。

最近十分な数のLinuxシステムがある場合は、 xfs_ioを使用できます。 のstatx 新しいstatx()を呼び出すサブコマンド システムコールと出生時刻の取得:

$ TZ=UTC0 xfs_io -c 'statx -v' /some/file
[...]
stat.btime = Thu Feb  7 17:11:20 2019
[...]

(ここでは、 TZ =UTC0でUTC時間を使用しています そうしないと、UTCオフセットが出力されないため、日付があいまいになります)。またはstatx-r これにより、ナノ秒の部分とより簡単に解析できる時間が得られます:

$ xfs_io -c 'statx -r' /some/file
[...]
stat.btime.tv_sec = 1549559480
stat.btime.tv_nsec = 964691587
[...]

GNU statを使用 glibc 2.28以降およびカーネル4.11以降を搭載したシステムでは8.31以降:

$ stat /some/file | grep Birth:
 Birth: 2018-05-24 16:27:28.415875403 +0100
$ stat -c '%.9W %w' /some/file
1527175648.415875403 2018-05-24 16:27:28.415875403 +0100

GNU lsを使用 glibc 2.28以降およびカーネル4.11以降を搭載したシステムでは8.32以降:

$ ls -l --time=birth --full-time /some/file
-rw-r--r-- 1 stephane stephane 2333836 2018-05-24 16:27:28.415875403 +0100 /some/file

従来、Unixは作成時間を保存していませんでした。

その値は、あなたが思っているよりも意味が少ないかもしれないことに注意してください。

変更時間 そのファイル内のデータの経過時間、アクセス時間を反映します 最後にアクセスしたときのinode変更時間 たとえば、そのファイルについて何も変更されていないことがわかっているため、ソフトウェアのバックアップに非常に役立ちます(ディレクトリコンポーネントのctimeを確認できるフルパスを除く)。

関連:bundleconfigファイルに問題がありますか?

作成時間 iノードが出現したとき(リンクカウントが0から1になっている場合、そのiノードは前の人生で割り当てられて削除された可能性があります)、そのファイルに関連付けられているデータの経過時間を反映していません(データはファイルが作成された後に書き込まれます)、ファイルがそのパスによってあるかどうかはわかりません。 その時点で存在していました(私たちが見ているファイルは、別のパスで作成され、後でリンクまたは移動された可能性があります)。


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

  2. Zipファイルのエンコード?

  3. 実行可能ファイルがない場合

  1. Linux サーバーで Spfile がいつ作成されたかを確認する方法

  2. Bash History:各コマンドが実行された時のタイムスタンプ (日付/時刻) を表示する方法

  3. ファイルがx時間以上前に作成されたかどうかをbashで確認するにはどうすればよいですか?

  1. ディレクトリが存在すると mkdir -p が失敗する

  2. C で tmpfile() を使用する場合の一時ファイルの場所

  3. mkstemp() で作成されたファイルはいつ削除されますか?