すべてのディレクトリとファイルを再帰的にbashにコピーする方法は?


137

私はスクリプトがあります:

find ./SourceFolder/ -maxdepth 4 -exec cp -R '{}' ./DestFolder/ \;

SourceDir サブフォルダも含まれています。

DestFolderすべてのツリーだけでなく、他のすべてのレベルおよびファイルの上位レベルでの問題。

直し方 ?


-name "* .txt"を追加するのを忘れました
user710818

回答:


289
cp -r ./SourceFolder ./DestFolder

6
したがって、明確にするために、大文字の-Rオプションはルートディレクトリを再度コピーします。small -rオプションは、ルートパスを同じに保ちます。
AnneTheAgile 14

8
@AnneTheAgile-ちょうど私のテストから、そしてmanページによると、-rと-Rは違いはありません。
aaaaaa 2015年

@ aaaaaa、ty!どのOS /バージョンを使用していますか?後で知りましたが、bashコマンドはオペレーティングシステムによって微妙に異なる場合があります。
AnneTheAgile 2015年

2
cpbashコマンドではなく、個別の実行可能ファイルであるため、システム固有です。一方、真のbashコマンドは、オペレーティングシステム全体で同じです。
lanzz

52

単純なコピーのコード。

cp -r ./SourceFolder ./DestFolder

成功結果を伴うコピーのコード

cp -rv ./SourceFolder ./DestFolder

強制的にソースに読み取り専用ファイルが含まれている場合は、それもコピーされます

cp -rf ./SourceFolder ./DestFolder

詳細ヘルプ

cp --help
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.