ファイルの変更時間を将来変更するユースケースは何ですか?

ファイルの変更時間を将来変更するユースケースは何ですか?

私はUNIX(特にOS X Mavericks)に関するmanページを読んでいますls。これが私の関心を呼び起こしました。

ファイルが過去または将来6ヶ月以上変更された場合、最後に変更された年は時間と分のフィールドの代わりに表示されます。

誰かが修正時間を未来に設定するのはなぜですか?

答え1

それはすべて基準点に依存します。おそらく、ファイルの修正時間が未来ではないファイルを見ているユーザーが過去に住んでいたのかもしれません。

それ以外の場合は、ファイルシステムを使用して任意のデータを保存でき、ファイルは任意の属性(xattrOS Xなど)を持つ可能性があるため、誰かがファイルシステムにカレンダーなどのデータを保存し、時間属性を変更してイベントを表す欲しいですか?

答え2

ユーザーはファイルの変更時間を希望の日付(少なくとも広い範囲、通常1901〜2038)に自由に設定できます。将来の日付は、ユーザーの気まぐれや入力エラーによって引き起こされる可能性があります。将来の日付は、ファイルシステムの破損によっても発生する可能性があります。

ただし、ほとんどすべての特定のケースでは、将来の日付は、ファイルが記録されたコンピュータとファイルを表示しているコンピュータの両方で時計が無効な日付に設定された結果です。

特に、NFSやSambaなどのプロトコルを使用してファイルを共有するネットワークでは、時間の代わりに今日の日付でファイルを見ることが多いが、コンピュータ間の時計が同期されないことが多い。ファイルの日付が1秒であっても将来の日付であっても、将来の日付として表示されます。

答え3

cnstの回答に加えて、ファイルがNFSまたはCIFSを介してリモートファイルサーバー共有に保存され、クライアントとサーバーの時計がNTPを介して同期されない場合、またはそれらのいずれかが同期されると、将来のファイル変更時間が発生する可能性があります。時間は正しいですが、タイムゾーンが間違っています。

また、このls動作はBSD / OS Xに固有のものであり、POSIX標準に違反していることに注意してください。すべてではありませんが、他のほとんどのUnix実装では、ファイルが後でわずかに変更された場合は、ls時間の代わりに年を表示します。

BSD/OS X のlsマニュアルページには、次の内容が記載されています。

ファイルが6か月以上過去または将来修正された場合

言い換えれば、あまり曖昧ではありません。

ファイルが6か月以上過去または将来修正された場合

関連情報