Unix - bir dizinin içeriğini diğerine kopyala [kapalı]


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

> mkdir Folder2/

> [copy command]

Ve şimdi Folder2/şöyle görünüyor:

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

Bu nasıl olur? Denedim cp -r Folder1/ Folder2/ama şunu buldum:

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

Bu yakın ama tam olarak istediğim şey değil.

Teşekkürler!

Yanıtlar:


124

Bunu dene:

cp Folder1/* Folder2/

3
ama bu gizli dosyaları kopyalamaz, değil mi?
Fabrizio Regini

9
Doğru. cp -Rolacaktır, ancak bu yinelemeli olarak kopyalayacaktır, bu yüzden onu kullanmak isteyebilir veya istemeyebilirsiniz. Sen yapabilirsin cp Folder1/.* Folder2/sadece gizli dosyaları kopyalamak için.
Geoff

1
"Sudo" veya eşdeğerini kullanıyorsanız ve dizinde çok fazla dosya varsa bunun başarısız olacağını unutmayın. Anladımsudo: unable to execute /bin/cp: Argument list too long
Nathan Osman

SCP'nin biraz farklı bir sözdizimi olduğuna dikkat edin, buraya bakın: stackoverflow.com/a/26346339/1984636
sivi

Bunu yapma. Linux'ta "cp -rT src dest" veya BSD'de "cp -R src / dest" yapın.
xpusostomos

47

Bir *joker karakterle oldukça basit .

cp -r Folder1/* Folder2/

Ancak örneğinize göre özyinelemeye gerek olmadığı için aşağıdakiler yeterli olacaktır:

cp Folder1/* Folder2/

DÜZENLE:

Veya mkdir Folder2bölümü atlayın ve çalıştırın:

cp -r Folder1 Folder2

Eğer ls | sort -k1.5 | head -8 > folder1öyleyse bunu nasıl yapmalı?
Pooja

Tüm gizli dosyalarınızı kaybettiniz. Bunu yapma. Linux'ta "cp -rT src dest" veya BSD'de "cp -R src / dest" yapın.
xpusostomos

23

Tam bir kopya oluşturmak için izinler, sahiplik ve tümü "cp" ile "-a" kullanın. "-r" dosyaların içeriğini kopyalayacak, ancak diğer şeyleri aynı tutmayacaktır.

cp -av Kaynak / * Hedef /

(önce Hedef / var olduğundan emin olun)

Birinden diğerine tekrar tekrar güncelleme yapmak istiyorsanız veya tüm nokta dosyalarını da kopyaladığınızdan emin olmak istiyorsanız, rsyncharika bir yardım:

rsync -av --delete Source / Dest /

Bu aynı zamanda "kurtarılabilir" dir, çünkü kopyalama sırasında iptal ederseniz yeniden başlatabilirsiniz. "-V" yi seviyorum çünkü neler olup bittiğini izlemenize izin veriyor, ancak onu atlayabilirsiniz.


1
ne -viçin
HattrickNZ

ayrıntılı, sadece neler olduğunu izlemek için.
Brian White

1
Çok sayıda dosyanız varsa, -vseçenek biraz zaman alabilir. -aYalnızca çıktı kullanımına ihtiyacınız yoksa .
Eyal Levin

1
Metin çıktısıyla kopyanın yavaşlaması için oldukça yavaş bir ağ bağlantısı üzerinden çalışıyor olmanız gerekir. Ve o zaman bile, kopyanın kendisi değil, komut isteminin dönüşü olabilir.
Brian White

Gizli dosyalarınızı kaybettiniz. Linux'ta "cp -rT src dest" veya BSD'de "cp -R src / dest" yapın.
xpusostomos
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.