Tüm dizini ve dosyaları özyinelemeli bash'a nasıl kopyalayabilirim?


137

Senaryom var:

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

SourceDir ayrıca alt klasörler de içerir.

Sorun DestFoldersadece tüm ağacında değil, aynı zamanda diğer tüm seviyelerde ve dosyalarda.

Nasıl düzeltilir ?


Üzgünüz, -name "* .txt" eklemeyi unuttum
user710818

Yanıtlar:


289
cp -r ./SourceFolder ./DestFolder

6
Yani, açıklığa kavuşturmak için, sermaye -R seçeneği kök dizini tekrar kopyalar; small -r seçeneği, kök yollarını aynı tutar.
AnneTheAgile

8
@AnneTheAgile - şu anki testlerimden ve man sayfalarına göre, -r ve -R farklı değil.
aaaaaa

@aaaaaa, ty! hangi işletim sistemi / sürümdesiniz? Daha sonra öğrendim ki bash komutları işletim sistemlerinde farklı olabilir.
AnneTheAgile

2
cpbash komutu değil, ayrı bir yürütülebilir dosya olduğundan sisteme özeldir. Gerçek bash komutları ise işletim sistemlerinde aynıdır.
lanzz

52

basit bir kopya için kod.

cp -r ./SourceFolder ./DestFolder

başarı sonucu olan bir kopya için kod

cp -rv ./SourceFolder ./DestFolder

kaynak herhangi bir salt okunur dosya içeriyorsa zorla kodla

cp -rf ./SourceFolder ./DestFolder

ayrıntılar için yardım

cp --help
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.