Linuxでディレクトリ自体をコピーせずに、ある場所から別の場所にすべてのファイルをコピーする

Linuxでディレクトリ自体をコピーせずに、ある場所から別の場所にすべてのファイルをコピーする

ディレクトリからtest/A/ディレクトリに一部またはすべてのファイルをコピーしたいのですtest/B/が、ディレクトリ A 自体はコピーしません。

コマンドを試してみましたcp -R test/A/ test/Bが、ディレクトリとファイルもコピーされてしまいtest/B/A/

答え1

を指定するとtest/A/、Bash にディレクトリ自体をコピーするように指示します。

ディレクトリの内容だけをコピーするには、グロブ*:

cp -R test/A/* test/B

ここで、 は、*ドットで始まる隠しファイル ( など) を除く、 A 内のすべてのファイルに一致します.htaccess。 でこれらも含めるには*shopt -s dotglobbefore を呼び出します。

答え2

rsyncローカルまたはリモートで同一のコピーを取得するには、よりも を好みますcp。これにより、必要に応じてソースまたは宛先で何をコピーするか、さらには削除するかをより細かく制御できます。ちなみに、隠しファイル (別名.*) に関する問題も修正されます。基本的な使用方法は の場合と同じくらい簡単ですcp

ディレクトリAとその内容をコピーしてB使用します。

rsync -va test/A test/B

使用するディレクトリの内容A(隠しファイルを含む)をコピーするにはB:

rsync -va test/A/ test/B

Bが存在しない場合は作成される

関連情報