2013-01-13 6 views
5

Çok basit bir komut gibi görünüyor. Bununla birlikte, çözümü ararken bir saat sonra bile, hala işe yarayan bir şey bulamıyorum.MAC: Klasör nasıl birleştirilir, böylece kaynak dosyalar hedef dosyalardan daha yeni olduğunda üzerine yazmamız yeterli midir?

İki büyük klasörüm var (pek çok dosya ve birçok alt klasörde mega yedekleme). Bu iki klasörü sadece yeni dosyaları içeren bir klasörde birleştirmek istiyorum. Bu yüzden, YALNIZCA kaynak dosya hedef dosyadan daha yenise veya hedef dosya mevcut değilse, dosyaların üzerine yazmanın bir yolunu arıyorum.

Mac sürümü 10.7.4 çalıştırıyorum. Yeni bir uygulama kurmaya ve/veya terminal/bash komutunu kullanmaya açılıyorum.

+0

OS X 10.8 Mountain Lion otomatik olarak GUI aracılığıyla yapar . –

cevap

13

Gnu sistemlerinde, yalnızca SOURCE dosyası DEST dosyasından daha yeni olduğunda veya hedef dosya eksik olduğunda taşımak veya kopyalamak için mv -u SOURCE DEST veya cp -u SOURCE DEST'u kullanın.

OS X'de, mv ve cp'un -u seçeneğini desteklemediğini unutmayın. Ancak, rsync bir -u seçeneği vardır ve o Örneğin OS X'te desteklenir: (IMO) rsync dizini olmadığına ilişkin kendine özgü olduğu için,

rsync -aru SOURCE/ DEST 

Çalıştır büyük ve önemli dizinlere uygulamadan önce kazı kazan dizinleri bazı testler adlar, / ile veya olmadan sona erer. Linux man sayfalarının bir kısmı:

Kaynakta arkadaki eğik çizgi, hedefte ek bir dizin düzeyi oluşturmamak için bu davranışı değiştirir. "Bu dizinin içeriğini kopyala" anlamında bir "kaynak dizini kopyala" anlamında bir iz/kaynak olarak düşünebilirsiniz ...

+0

Dokümanları doğru bir şekilde okuyorsam, -r dolaylı olarak -a (arşiv) seçeneğinin bir parçasıdır. Yani -au, -aru ile aynı. Mektup yazmayı tamamen kaydedebilirsiniz! =) –

+0

@ChrisDragon, haklısınız gibi görünüyor ... * r * * -aru * gereksiz olduğunu fark etmiş olmalı –

İlgili konular