Genelde rsyncbu görev için kullanıyorum :
rsync -nav --delete DIR1/ DIR2
Her zaman-n, aka--dry-run, seçeneğikullanmak için çok dikkatli olun, yoksa dizinleri senkronize eder (içeriğini değiştirir).
Bu, dosya değiştirme zamanları ve boyutlarına göre dosyaları karşılaştırır ... Gerçekten istediğin şeyin bu olduğunu mu düşünüyorsun , yoksa en azından bunu umursamıyor musun? Daha hızlı gerçekleşmesini istediğinizi , dosya içerikleri arasındaki farkı görmezden gelmenize gerek olmadığını anladım. Aynı ada sahip farklı dosyaları listelememesini istiyorsanız, --ignore-existingseçeneğin eklenmesinin bunu yapacağını düşünüyorum.
Ayrıca koyarak değil unutmayın /sonunda DIR1karşılaştırmak neden olur dizini DIR1 ile içindekiler arasında DIR2.
Çıktı biraz ayrıntılı olarak bitiyor, ancak size hangi dosyaların / dizinlerin farklı olduğunu gösterecek. İçinde olan DIR2ve olmayan dosyalar / dizinler DIR1sözcüğü ile ön plana çıkarılır deleting.
Bazı durumlarda, @ slartibartfast'ın cevabı daha uygun olabilir, ancak -type ddizin dışı dosyaların listesini etkinleştirmek için seçeneği kaldırmanız gerekebilir . rsyncKarşılaştıracak çok sayıda dosya / dizin varsa, daha hızlı olacaktır.