Linuxでタイムスタンプをコピーする方法

タグ: linux / 公開: 2013-07-19

Linuxでファイルをコピーした際に、単純にcp -Rなどとしてしまい、-pを指定し忘れるとタイムスタンプがすべて更新されて悲しいことになる。

幸い元のファイルが残っていれば対処法はあり、以下のようにtouchコマンドの-rオプションでSRCのタイムスタンプを、DSTに反映することができる。いわばタイムスタンプのコピーと言える。

touch -r SRC DST

ただ、これだと単一のファイルにしか対応できない。こういう事に悩むのは、大抵ディレクトリをコピーした場合だろう。ちょっと煩雑だが、ディレクトリの場合はxargsを組み合わせて以下のようにすると良いと思う。

cd SRC;find . -name "*" -print0|xargs -0 -i touch -r {} /DST/{}

もっとスマートな方法があるようなら知りたい。

この記事をSNSでシェアする
タイトルとURLをコピーする
または投稿画面を開く
Author
Icon
ぺけみさお / xmisao
プログラマ。
Subscription
Recent articles
Related to linux