Genelde rsync
bu 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-existing
seçeneğin eklenmesinin bunu yapacağını düşünüyorum.
Ayrıca koyarak değil unutmayın /
sonunda DIR1
karşı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 DIR2
ve olmayan dosyalar / dizinler DIR1
sözcüğü ile ön plana çıkarılır deleting
.
Bazı durumlarda, @ slartibartfast'ın cevabı daha uygun olabilir, ancak -type d
dizin dışı dosyaların listesini etkinleştirmek için seçeneği kaldırmanız gerekebilir . rsync
Karşılaştıracak çok sayıda dosya / dizin varsa, daha hızlı olacaktır.