cpがファイルメタデータを失います。

cpがファイルメタデータを失います。

Linux上で動作するAsustor NASがあります。どのディストリビューションを使用しているかわかりません。

SSHを使用してログインし、すべてのシェルコマンドを使用できます。内部ボリュームはext2を使用し、外部USB HDはNTFSを使用します。

コマンドを使用してファイルをコピーしようとすると、cpファイルの日付メタデータが現在の日付時刻に変更されます。

たとえば、Windowsを使用してSMBからファイルをコピーし、そのファイルが2007年に変更された場合、新しいファイルは2017年に作成されたが2007年に変更されたとマークされます。ただし、Linuxcpコマンドを使用すると、修正日も2017に変更されました。

この修正日は、Windowsエクスプローラで変更日ごとにファイルを並べ替えることができるため、私には非常に適しています。上書きするとソートできず、今はすべて作成されたようです。また、修正日を使用して、まれな古いファイルをいつ取得したかを知ることができます。

cp元のファイルメタデータを保存するためにコマンドで使用できるパラメータはありますか?

cp --preserve=timestamps更新:失敗しようとしましたが、次のように印刷されます。

cp: unrecognized option '--preserve=timestamps'
BusyBox v1.19.3 (2017-03-22 17:23:49 CST) multi-call binary.

Usage: cp [OPTIONS] SOURCE DEST

Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY

        -a      Same as -dpR
        -R,-r   Recurse
        -d,-P   Preserve symlinks (default if -R)
        -L      Follow all symlinks
        -H      Follow symlinks on command line
        -p      Preserve file attributes if possible
        -f      Overwrite
        -i      Prompt before overwrite
        -l,-s   Create (sym)links

-p示されているとおりに試行するcp: can't preserve permissions of '...': Operation not permittedと、テストできる限りタイムスタンプが保存されます。

ベストアンサー1

man cpコピーコマンドのマニュアルページを読むと、これらのフラグを見つけることができます-p and --preserve

-pそれは同じです--preserve=mode,ownership,timestamps

そして

--preserve[=ATTR_LIST]指定された属性を保持し(デフォルト:)mode,ownership,timestamps、可能であれば属性を追加します。context、、、、linksxattrall

.cp -pcp

おすすめ記事