it-swarm-tr.com

Dosya ve dizin karşılaştırma aracı?

Beyond Compare gibi Windows için dizinleri ve dosyaları karşılaştıracak bir şey arıyorum.

Esas olarak kaynak kontrolünün kullanımı içindir, ancak dağıtım için de kullanmam gerekiyor.

147
DevelopingChris

Meldinstall meld

Meld, dosyaları ve dizinleri karşılaştırabilen ve birleştirebilen bir araçtır. Standart diffiçin bir GUI analogudurinstall diffutils ve patchinstall patch komut satırı araçları. (Bunlarla ilgili daha fazla ayrıntı için bkz. man diff ve man patch )

enter image description here

Ayrıca, birçok kaynak kontrol sistemi (örneğin: bzrinstall bzr-gtk veya gitinstall git ) sürümler arasında fark yaratma yeteneğine sahiptir.

174
dv3500ea

Diff senin arkadaşın.

diff -ur path1 path2

Bu, path1 ve path2 arasında ortak olan tüm dosyaları karşılaştırır.

-ur öğesini -urN olarak değiştirirseniz, bu da yalnızca yollardan birinde bulunan dosyaların içeriğini gösterir.

43
Richm

'Karşılaştırma Ötesinde' de Linux için kullanılabilir.

İndirme URL'lerini kontrol edin: http://www.scootersoftware.com/download.php

21
aneeshep

diff komutunu kullanın:

diff -u file1 file2

diff -u, birkaç satırlık bağlam içeren bir format seçer. Bir düz diff file1 file2 sadece farklı satırları listeler. Çıktı formatını kontrol etmek, boşluk-sadece farkları yoksaymak, vb. İçin daha birçok seçenek var.

Çıktıyı bir dosyaya yazmak istiyorsanız, yönlendirin:

diff -u file1 file2 >file1-file2.diff
13
Gilles

Gnome Komutanı install Gnome Commander

Arayüz gerçek seksi olmayabilir, ama son derece güçlü!

alt text

Diğer * Komutanlara (Norton ya da benzerleri gibi) alışkınsanız, kaybolmazsınız.

12
Huygens

Komut satırı araçları

Esinlenerek bu blog girişi .

diff

Farklı dosyaların listelenmesi:

diff -qr folder1 folder2

Ayrıca içerik listeleniyor:

diff -Naur folder1 folder2

rsync

İki dizin aynı makinede değilse, rsync en kolay çözüm olabilir. Genellikle rsync dizinleri senkronize etmek için kullanılır, ancak bunu ayrıntılı ve kuru modda çalıştırabilirsiniz, böylece yalnızca değiştirmek zorunda olduğu dosyaları listeleyecektir.

rsync -rvnc --delete folder1 server:/path/to/folder2

Her şeyi hızlandırmak için zaman damgalarına ve dosya boyutlarına göre dosyaları karşılaştırmak istiyorsanız, c öğesini atlayabilirsiniz:

rsync -rvn --delete folder1 server:/path/to/folder2
10
lumbric

KDiffinstall kdiff3

KDE kullanıcıları için farklılık gösteren bir grafik ön uçtur (veya Qt uygulamalarını kullanmaktan çekinmiyorsanız).

kdiff3

Ayrıca dirdiffinstall dirdiff dizinler için.

9
tinhed

Krusaderinstall krusader

Krusader, klasör içeriğini karşılaştırmalı olarak gösteren ücretsiz bir araçtır (Yazılım Merkezinde bulunur) ve birçok farklı seçenekle senkronize edebilirsiniz. Senkronize ederken ve karşılaştırırken filtreleyebilirsiniz.

Krusader

Dosya içeriğini karşılaştırmak için iki dosyayı işaretlemeniz yeterlidir, "dosya"> "içeriği karşılaştır" ı seçin ve bunlar harf bazında karşılaştırıldı. krusader tarafından kullanılan varsayılan karşılaştırma aracı, varsayılan KDE aracıdır " Kompare ". Krusader'ı başka herhangi bir karşılaştırma aracını kullanacak şekilde ayarlayabilirsiniz - örneğin yukarıdakilerden birine benzer.

Bu şimdiye kadar bulduğum en eksiksiz çözüm ve çok uygun. Ve gece yarısı komutanı (norton komutanı sözdizimi) tarafından kullanılan tüm fonksiyon tuşlarını destekler.

9
piedro

Belki de Meld aradığınız şey. Veya burada diğer alternatiflerdir.

6
sagarchalise

Unison, rsync algoritmasını kullanan hızlı bir dosya senkronizasyon aracıdır ve uzak veya yerel olmak üzere 2 konum arasında güncelleme yapmadan önce farkları önizlemenizi sağlar.

4
Rog

Bu karşılaştırmayı yapmanın iyi bir yolu "find" ile "md5sum", sonra bir "diff" kullanmaktır.

Örnek:

Dizindeki tüm dosyaları listelemek için find komutunu kullanın, ardından her dosya için md5 değerini hesaplayın ve bir dosyaya aktarın:

$find /dir1/ -type f -exec md5sum {} \; > dir1.txt

Aynı işlemi başka bir dizine de yapın:

$find /dir2/ -type f -exec md5sum {} \; > dir2.txt

Sonra sonuç iki dosyaları "diff" ile karşılaştırın:

$diff dir1.txt dir2.txt

Bu strateji, karşılaştırılacak iki dizin aynı makinede olmadığında ve dosyaların her iki dizinde de eşit olduğundan emin olmanız gerektiğinde çok faydalıdır.

İşi yapmanın başka bir iyi yolu ise git

git diff --no-index dir1/ dir2/

Saygılarımla!

4
Adail Junior

İki hafta önce hashdeep hakkında bir şeyler öğrendim. Ve bazı güçlü avantajları vardır:

  • meld'ın aksine, çok büyük klasörler için işe yarar. meld son derece yavaşladığında ve kullanıcı arabiriminin yanıt vermediğinde (engellendiğinde), hashdeep sadece sabit bir hızda çalışır
  • rsync öğesinin aksine, hashdeep taşınan dosyaları algılar - aynı içeriğe sahip dosyaları, yalnızca farklı bir dizinde.

Ayrıntılı çıktı şöyledir:

...
foo/bar.txt: Known file not used
x/foo/M0824_2L.JPG: Moved from y/P1010998.JPG

hashdeep: Audit failed
   Input files examined: 0
  Known files expecting: 0
          Files matched: 6233
Files partially matched: 0
            Files moved: 3695
        New files found: 19257
  Known files not found: 4713
4
geekQ

Ayrıca deneyin FreeFileSync . İyi bir arayüze, kabul edilebilir karşılaştırma hızına, karşılaştırma sonucunun iyi filtrelenmesine, farklı senkronizasyon yöntemlerine sahiptir. Belirli bir klasör (veya klasörler) veya içindeki dosyalar değiştirildiğinde FreeFileSync'i (aslında herhangi bir komut veya komut dosyası) başlatabilecek bir klasör izleme aracı (RealTimeSync) ile birlikte gelir. Gerçekten denemeye değer.

Bununla ilgili daha fazla bilgi burada veya burada , burada PPA

Sayfalarından, temel özellikleri:

Dosyaları karşılaştırın (bytewise veya tarihe göre) ve senkronize edin.

Sınırlama yok: İsteğe bağlı sayıda dosya senkronize edilebilir.

Unicode desteği.

Ağ desteği.

Çok uzun dosya adları için dahili destek (MAX_PATH = 260 karakterden fazla).

Silinen dosyaların yayılması ve çakışma tespiti için senkronizasyon veritabanı

Farklı konfigürasyonda birden fazla klasör çifti için destek

Windows/Linux Sembolik Bağlantıları ve Windows Bağlantı Noktaları için tam destek.

Yalın ve kolay erişilebilir UI: Hız ve devasa veri setleri için son derece optimize edilmiş.

Algoritmalar tamamen C++ kodluydu.

Tüm ilerleme göstergeleri maksimum performans için optimize edildi!

GUI ile veya GUI'siz otomatik senkronizasyon için Toplu İşler oluşturun.

Kullanılabilirliğe odaklanın:

UI'da yalnızca gerekli işlevler: Aşırı yüklenmiş menü veya simge ormanı yok.

Sürükle ve bırak ile tüm klasörleri seçin.

En son kullanılan yapılandırma ve ekran ayarları otomatik olarak kaydedilir.

Sürükle ve bırak, yükle düğmesi veya komut satırıyla farklı yapılandırmaları koruyun ve yükleyin.

Harici uygulamayı başlatmak için çift tıklayın (örneğin, dosyayı Windows Gezgini'nde göster)

Tüm ızgara verilerini metin olarak kopyala ve yapıştır

Gereksiz/geçici dosyaları doğrudan ana şebekeden silin.

İçerik menüsünü sağ tıklayın.

Kapsamlı durum bilgisi ve hata raporlama

Dosya listelerini ada, boyuta veya tarihe göre sıralayın.

4 GB'den büyük dosya boyutları için destek.

Dosyaları silmek/üzerine yazmak yerine Geri Dönüşüm Kutusu'na taşıma seçeneği.

Varsayılan Filtreli "\ RECYCLER" ve "\ System Volume Information" dizinlerini yoksay. (Yalnızca Windows)

Yerelleştirilmiş sürümler birçok dilde kullanılabilir.

Kopyalamadan önce sil: Büyük senkronizasyon işleri için disk alanı yetersizliğinden kaçının.

Dosyaları senkronizasyona dahil etmek/dışlamak için işlevselliği filtreleyin (yeniden kıyaslama gerektirmeden!).

Belirli dosyaları senkronizasyondan geçici olarak dahil etme/hariç tutma.

FAT/FAT32 birimlerinde gün ışığından yararlanma saati değişikliklerini otomatik olarak işleyin.

Portatif versiyon mevcut (montör ile seçilebilir).

Yerel 64 Bit sürümü.

FreeFileSync içinden güncellemeleri otomatik olarak kontrol et.

Kilitli dosyaları Windows Birim Gölge Kopyası Hizmeti'ni kullanarak kopyalayın. (Yalnızca Windows)

Dizin adlarında% time%,% date% makrolarıyla düzenli yedekleme oluşturun

Senkronize ederken kopyalanan dosya ve klasör oluşturma/erişim/değiştirme zamanları

Birden fazla senkronizasyon işlemine izin vermek için gelişmiş kilitleme stratejisi (örneğin, birden çok yazar, aynı ağ paylaşımı)

Silinen dosyaları yöneterek, Çöp Kutusuna veya kullanıcı tarafından belirtilen bir klasöre taşıyabilir. Bir dezavantajı işaret etmek için: program belgeleri Windows'ta biraz daha az Linux üzerinde odaklanmaktadır. Ama işini güzel yapıyor.

3
luri

Diffuse kullanabilirsiniz:

Sudo apt-get install diffuse
diffuse file1 file2
3
metdos

Deneyin meld .

Depolar ve dosya veya klasör karşılaştırması için bir GUI sağlar.

2
Pavlos G.

Eclipse IDE sadece karşılaştırma yapıyorsanız biraz ağırdır, ancak diğer şeylerin yanı sıra iyi bir iş çıkarır. 2 proje, yol veya dosya seçebilir ve bunları birbirleriyle karşılaştırabilir ve ayrıca kaynak kontrol sunucuları ile senkronize edebilirsiniz.

1
Rog

IMHO FreeFileSync, Meld'den çok iyi ve daha kullanışlıdır. Hızlı ve kararlı, costomize edilebilir senkronizasyonlar yapabilir ve karşılaştırmanın sonucunu bir csv dosyasına aktarabilir.

Lanchpad bağlantısı

1
Reza

Dosyaları karşılaştırmak için

File_1.txt
Line1
Line2

File_2.txt
Line1
Line 2

Komutunu kullanabilirsiniz cmp :

cmp -b "File_1.txt" "File_2.txt"

çıktı

a b differ: byte 11, line 2 is  62 2  40  

Kirleri karşılaştırmak için (ihtiyaçlarınız):

diff komutunu kullanabilirsiniz:

diff -r --brief dir1 dir2

man diff

  -r, --recursive
              recursively compare any subdirectories found

   -q, --brief
          report only when files differ
0
Maythux

Platformlar arası, kolay, sorunsuz ve profil tasarrufu sağlayan özellikler Jfilesync en iyi tercihim

0
nightcrawler