さらに良いことに、「cp」を実行するときにタイムスタンプの変更/更新を回避する方法はありますか?
はい、次のオプションで使用cp
します。-p
-p
--preserve=mode,ownership,timestamps と同じ
- 保存
指定された属性 (デフォルト: モード、所有権、タイムスタンプ) を保持し、可能であれば追加の属性: context、links、xattr、all
例
$ ls -ltr
-rwxrwxr-x 1 me me 368 Apr 24 10:50 old_file
$ cp old_file not_maintains <----- does not preserve time
$ cp -p old_file do_maintains <----- does preserve time
$ ls -ltr
total 28
-rwxrwxr-x 1 me me 368 Apr 24 10:50 old_file
-rwxrwxr-x 1 me me 368 Apr 24 10:50 do_maintains <----- does preserve time
-rwxrwxr-x 1 me me 368 Sep 30 11:33 not_maintains <----- does not preserve time
touch
別のパス上の対称ファイルに基づいてディレクトリ上のファイルを再帰的にするには、次のようなことを試すことができます。
find /your/path/ -exec touch -r $(echo {} | sed "s#/your/path#/your/original/path#g") {} \;
私にはうまくいきませんが、もう少し試してテストする必要があると思います。