BSDのファイル作成時間(別名btime)を変更するには?

BSDのファイル作成時間(別名btime)を変更するには?

BSDシステムには、(atime、mtime、またはctimeと比較して)ファイルの「生成時間」、つまりbtimeを変更できるutime(3)があります。ただし、マニュアルページには、utime(3)がutime(2)によって使用されなくなったことが示されています。

私もできることを知っていますよりstatのbtime値を使用してください。

stat -f %B <file>

残念ながらtouch(1)はbtime操作を実装していないようです。私のMacのマニュアルページには、btimeで動作できるCライブラリのutime(3)のエントリが含まれていますが、utime(3)のbtimeを操作するための組み込みインタフェースを提供するものは何も表示されません。

心に浮かぶもう一つのヒント:Macアプリの写真から写真をドラッグすると、新しいファイルが作成されます。 (元のファイルは写真組織に残っているため、元のファイルからコピーされた新しいファイルであると確信しています。)この新しいファイルには作成日があります(ファインダーリストまたは情報のインポートにファイルbtime値とマークされた日付が表示されます)。 )は写真を撮った時間と一致します(通常数年前)。確かにそうです。可能btimeを設定します。

答え1

この問題を解決する1つの方法は、ファイルのプロパティを操作できるAppleのSetFile(1)コマンドを使用することです。-d作成日に機能するには引数が必要で、-m変更時に機能するには引数が必要です。変更時刻を現在の作成日より前に設定すると、作成日も設定されます。

$ SetFile -m 05/14/200 foofile.jpg

Apple / Think DifferentスタックのこのQには、次の情報があります。https://apple.stackexchange.com/questions/49154/how-to-change-the-creation-st-birthtime-date-time-of-a-file-in-lion

関連情報