Bir dosyayı yalnızca hedeften daha yeni olduğunda kopyalama


36

Linux'ta bir dosyayı ancak kopyalanacak dosya hedefteki sürümden daha yeni olduğunda nasıl kopyalarım?

Hedefteki dosya daha yeni ise, dosya kopyasının ilerlememesini istiyorum.

Yanıtlar:



17

Rsync kullan

rsync --progress -r -u /from/one/* /to/another/directory

3
Sadece bütünlük için: -ralt dizinlerde özyinelemeli işlem ve -udaha yeni dosyaları hedefte tutmak (= güncelleme) anlamına gelir. --progressoperasyon sırasında ilerleme bilgilerini gösterir.
Jörg Gottschlich

6

Hangi kabuğu kullandığını söylemiyorsun, ben de farz edeceğim ksh:

if [[ file1 -nt file2 ]]; then cp file1 file2; fi

Bash en yaygın değil mi?
Rob,

1
@Rob, evet. Bu da açıkça bash olarak çalışır. Yazdığımda elinizde bash (ya da herhangi bir standart Linux kutusu) yoktu.
Kusalananda

4

yes|cp -ruv /from/* /to/.
evet - Tüm sorulara evet cevabı verin.
r - özyinelemeli
u - güncelleme
v - İlerleme

xargs gibi çalışır .

Akademik olarak nasıl açıklayacağımı bilmiyorum.

Onaylamadan cp'nin üzerine yazmaya zorlama


1
Bu biraz şifreli. Cevabınızı biraz daha açık olacak şekilde genişletebilir misiniz, belki bir örnek verebilir misiniz? Teşekkürler. Şu kaynaktan
fixer1234

evet -> Tüm sorulara evet cevabı verin.
Felippe Silvestre
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.