UNIX、特にOS XMavericksのman
のls
ページを読んでいました。これは私に興味をそそられました:
ファイルの変更時間が過去または将来で6か月を超える場合は、時間と分のフィールドの代わりに最後の変更の年が表示されます。
なぜ誰かが変更時間を未来に設定するのでしょうか?
それはすべて参照点に依存します。将来変更されるのはファイルではないかもしれませんし、過去に生きているファイルを見ているユーザーかもしれません。
それ以外の場合は、ファイルシステムを使用して任意のデータを格納でき、ファイルは任意の属性を持つことができます(たとえば、OSXではxattr
を使用)。したがって、誰かがカレンダーのようなデータをファイルシステムに格納して、イベントを表すことができます。変更時間属性を介して?
ユーザーは、ファイルの変更時刻を任意の日付に自由に設定できます(少なくとも広い範囲内、多くの場合、1901年から2038年)。将来の日付は、ユーザーの気まぐれまたは入力ミスが原因である可能性があります。将来の日付は、ファイルシステムの破損の結果である可能性もあります。
ただし、事実上すべての具体的なケースで、将来の日付は、ファイルが書き込まれたマシンまたはファイルを表示しているマシンのいずれかで、時計が間違った日付に設定された結果です。
特に、ファイルがNFSやSambaなどのプロトコルと共有されているが、クロックがマシン間で同期されていないネットワークでは、時刻ではなく今日の日付のファイルが表示されるのが一般的です。ファイルの日付が1秒先でもある場合は、未来のものとして表示されます。