
mp4ファイルがあり、EXIFtoolを実行すると、「ファイルinode変更日時」の表示が変わることがわかりますが、--dateパラメータで指定した日付ではなく現在時刻に変更されます。
touch -am --date=@0 FILE
--dateパラメータで指定された日付で「ファイルinode変更日時」をどのようにタッチしますか?
答え1
inode変更時間(ctime)はどの値でも変更できません。 inodeが変更されると、システムは常にinode変更時間を現在の時刻に更新します。これがまさにその目的です。 ctimeはinodeが変更された時間でなければなりません。
touch FILE
(またはtouch -m FILE
)ファイル変更時間を変更します。ファイル変更時間は、ファイルの内容が最後に変更された時間でなければなりません。好きなように設定できます。たとえば、バックアップツールは、ファイルを復元すると、抽出されたファイルの変更時間をバックアップに書き込まれた時間にリセットします。この例では、復元されたファイルのinode変更時間は、ファイルがバックアップから復元された時間になります。
ctimeはファイル内にエンコードされた属性ではなく、ファイル自体の属性です。exiftool
EXIFデータを含むファイルに対して表示されますが、より一般的に使用されますls -lc
。ファイルのコピーには独自のctimeがあります。
システム管理者で本当にctimeを変更したい場合は、システムクロックを希望するものより少し早く設定し、正しい時刻になるまで待ってからを実行してから、touch -r FILE FILE
システム時計を実際の時刻に戻すことができます。これは実際には意味がありませんが、必要に応じてそうすることができます。