たとえば、ニューヨークのタイムゾーンにファイルとディレクトリを作成します。
その後、私のシステムのタイムゾーンをロンドン(イギリス)に変更しましたが、まだどのファイルとディレクトリがどのタイムゾーンに作成されたかを知りたいです。 Unixでこれを表示するターミナルコマンドはありますか?
答え1
タイムゾーンはファイルとディレクトリに書き込まれません。タイムスタンプは、1970年1月1日の深夜(UTC)以降の秒数で表されます(この時間はしばしば「エポック」と呼ばれます)。
答え2
berndbauschの答えに加えて、stat
私のシステムにファイル出力を投稿したいと思います。
$ stat a.out
File: a.out
Size: 16632 Blocks: 40 IO Block: 4096 regular file
Device: 831h/2097d Inode: 17827331 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 1000/ stew) Gid: ( 1000/ stew)
Access: 2021-04-07 16:13:49.880038403 +0200
Modify: 2020-12-20 21:23:03.206200984 +0100
Change: 2020-12-20 21:23:03.206200984 +0100
Birth: 2020-12-20 21:23:03.194201098 +0100
作成日に興味があれば、「生年月日」になります。時間は次のとおりです。
2020-12-20 21:23:03.194201098 +0100
今は日付と秒を無視し、残りに集中してください。その時間は21:23 +0100。これはにあることを意味します。21:23中UTC +1時間タイムゾーン。これは20:23 UTCです。
比較すると、最後のアクセス時間16:13中UTC + 2時間タイムゾーン。時間帯の違いは夏時間に関連しています。これは入るよ14:13 UTC。
Unix時間は、エポック(UTC)以降の秒だけを追跡します。数値は、人間が読めるように必要なときはいつでも現地時間に変換され、通常はシステムで設定されている現在のタイムゾーンに基づいています。実は統計に時間帯が保存されていて少し驚きました。