43

プログラミングしているデバイスのファイルシステムをコピーしようとしています。私がインストールしていたファイルシステムが機能しない理由を突き止めようと長い間試みた後、私はそれが仕事を成し遂げてcpいないことに気づきました。du -s元のファイルシステムと でコピーしたファイルシステムのサイズを確認したところcp -r、約 150 バイト異なることが判明しました。

シンボリック リンクまたはある種のカーネル オブジェクトが正しくコピーされていないことがわかります。

フォルダ/ファイル システムを正確にコピーすることは可能ですか? もしそうなら、どうすればいいですか?

4

5 に答える 5

71

これを簡単な方法で試してください:

cp -a src target

からman cp

    -a, --archive
           same as -dR --preserve=all

権利、シンボリックリンクを保持します...

于 2013-10-17T19:04:48.977 に答える
8

別の一般的なオプションは、 を使用することtar c source | (cd target && tar x )です。この linuxdevcenter.com の記事を参照してください。

于 2013-10-17T20:23:26.737 に答える
3

ファイルのコピーについて私が知っている最も正確な方法は、次のcpioとおりです。

cd /path/to/source
find . -xdev -print0 | cpio -oa0V | (cd /path/to/target && cpio -imV)

使い方は簡単ではありませんが、これは非常に正確で、タイムスタンプ、所有者、権限、特殊ファイルを保持します。

于 2013-10-17T20:13:24.637 に答える
2

Rsyncは、ファイル システムをコピーするための最良の方法です。これらは、何をコピーするかを正確に制御できる無数の引数です。

于 2013-10-17T18:57:45.717 に答える