複数のディレクトリを新しいディレクトリにコピーするより良い方法


33

基本的に次のことを単一のコマンドで達成するためのより良い方法がコマンドラインにありますか

cp -r css/ ar/
cp -r images/ ar/
cp -r js/ ar/
cp -r backups/ ar/

私はそれらをセミコロンでつなぎ合わせたところです。

回答:


63

フォルダーを別のフォルダー(フォルダー内のフォルダー)にコピーする:

cp -r css images js backups ar/

注:これは、コンテンツ自体(フォルダー内のフォルダーのコンテンツ)のみをコピーすることとは異なります。

cp -r css/ images/ js/ backups/ ar/

4
スラッシュが違いを生みます!常に疑われ、知らない
ピーターペルハッチ

2
スラッシュは私のテストに影響を与えません。cpではありませんrsync。ただしcp -r css/. images/. ar/、ディレクトリなしでコンテンツをコピーします。私のcpバージョンは「cp(GNU coreutils)8.29」です。
sourcejedi

1

答えは簡単で、Debianで機能します。「これは実際に私がやった方法です」(テスト済み)で、/ etcにいて、(何らかの理由で)ハードディスクをフォーマットする前にいくつかのファイルとフォルダをコピーしたい次のように入力すると、下記のすべてが/ mybackups /フォルダーにコピーされます。

sudo cp -r -a apt/ bash.bashrc environment hosts init.d/ init/ nginx/ proxychains.conf sudoers sysctl.d/ profile.d/ grub.d/ /boot/grub/ /opt/ /root/ /var/www/ /mybackups/

上記を見るとわかるように、/ boot / grub // opt /などの場所をポイントして、外部などからフォルダをコピーしようとしましたが、うまくいきました!


1
-aには既に含まれている(via:man)ので、-rは必要ないと思います。
デビッドポトチュニック

-2

cpコマンドのみを使用して2つのディレクトリをコピーすることはできません。

-rただし、オプションを使用して再帰的にコピーできます。

例えば:

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