(2021-03-01 初稿 - 2021-05-17 転記・追記)
LinuxでSDカード等からファイルを読み込むと、なぜか9時間進んだタイムスタンプになり不便。
9時間の時差が関係していると思っているが、対策がわからない。
デジカメの写真の場合は、以下のとおりjheadを使ってExifから正しい時刻に設定しなおしている。
(インストール) sudo apt install jhead (使い方) jhead -ft hoge.jpg
その他のファイルは、設定方法がわからないので、以下のbashスクリプトを作った。
初めて知ったが、dateやtouchコマンドは、時間の引き算もできて便利。
cat ~/bin/chg-fst #!/bin/bash # 2021-03-01 start Written by hymd3a # CHanGe File Time Stamp 9 hours ago if [ $# -ne 1 ]; then echo "[Usage] chg-fts file" echo " Change file time stamp -9 hours" exit fi motofdate=$(date "+%Y/%m/%d %H:%M:%S" -r $1 ) chgfdate=$(date "+%Y/%m/%d %H:%M:%S" -d "$motofdate 9 hour ago") touch -d "$chgfdate" $1
実行権を与える
chmod +x bin/chg-fst
使い方
(新規ファイルを作成) touch file1 (ファイルのタイムスタンプを確認) ls -l file1 -rw-r--r-- 1 hoge hoge 0 3月 1 15:46 file1 (ファイルのタイムスタンプを9時間戻す) chg-fst file1 (ファイルのタイムスタンプを確認) ls -l file1 -rw-r--r-- 1 hoge hoge 0 3月 1 06:46 file1 (複数のファイルを一括で変更) for f in * ; do chg-fts $f ; done
また、何かわかったら追記する。