Unix-あるディレクトリの内容を別のディレクトリにコピーする[クローズ]


90
Folder1/
    -fileA.txt
    -fileB.txt
    -fileC.txt

> mkdir Folder2/

> [copy command]

そして今Folder2/は次のようになります:

Folder2/
    -fileA.txt
    -fileB.txt
    -fileC.txt   

これを実現する方法は?私は試しましたcp -r Folder1/ Folder2/が、結局:

Folder2/
    Folder1/
        -fileA.txt
        -fileB.txt
        -fileC.txt

これは近いですが、私が望んでいたものとは異なります。

ありがとう!

回答:


124

これを試して:

cp Folder1/* Folder2/

3
しかし、これは隠しファイルをコピーしませんよね?
ファブリツィオレジーニ2014年

9
正しい。cp -Rしますが、それは再帰的にコピーされるので、それを使用する場合と使用しない場合があります。cp Folder1/.* Folder2/隠しファイルだけをコピーすることができます。
Geoff 2014年

1
「sudo」または同等のものを使用していて、ディレクトリに多数のファイルが含まれている場合、これは失敗することに注意してください。私が得るsudo: unable to execute /bin/cp: Argument list too long
ネイサンオスマン

SCPの構文はわずかに異なることに注意してください。ここを参照してください:stackoverflow.com/a/26346339/1984636
sivi 2016

これをしないでください。Linuxでは「cp-rTsrc dest」を、BSDでは「cp -R src / dest」を実行してください。
xpusostomos

47

非常に単純で、*ワイルドカードを使用します。

cp -r Folder1/* Folder2/

しかし、あなたの例によれば、再帰は必要ないので、以下で十分です:

cp Folder1/* Folder2/

編集:

または、そのmkdir Folder2部分をスキップして実行します。

cp -r Folder1 Folder2

もしそうならls | sort -k1.5 | head -8 > folder1、それをどのように行うのですか?
Pooja 2013

隠しファイルをすべて失いました。これをしないでください。Linuxでは「cp-rTsrc dest」を、BSDでは「cp -R src / dest」を実行してください。
xpusostomos

23

正確なコピー、権限、所有権を作成するには、すべて「-a」と「cp」を使用します。「-r」はファイルの内容をコピーしますが、必ずしも他のものを同じに保つとは限りません。

cp-avソース/ *宛先/

(Dest /が最初に存在することを確認してください)

あるものから別のものに繰り返し更新したい場合、またはすべてのドットファイルもコピーしたい場合rsyncは、非常に役立ちます。

rsync -av --delete Source / Dest /

これは、コピー中に中止した場合に再起動できるという点でも「回復可能」です。「-v」は何が起こっているかを見ることができるので好きですが、省略できます。


1
何の-vために?
HattrickNZ 2014年

冗長で、何が起こっているかを監視するだけです。
ブライアンホワイト

1
ファイルがたくさんある場合、-vオプションには時間がかかることがあります。出力が必要ない場合は、使用する-aだけです。
Eyal Levin

1
テキスト出力によってコピーの速度が低下するには、かなり低速のネットワーク接続で実行する必要があります。それでも、コピー自体ではなく、コマンドプロンプトが返されるだけである可能性があります。
ブライアンホワイト

あなたは隠しファイルを失いました。Linuxでは「cp-rTsrc dest」を、BSDでは「cp -R src / dest」を実行してください。
xpusostomos
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.