Linux'ta İki Dosya Nasıl Karşılaştırılır

How Compare Two Files Linux



İki dosyayı karşılaştırmak ve farkı deşifre etmek istiyorsanız, adı verilen bir komut fark kullanıldı. Bu kılavuz, size aşağıdakilerin kullanımını sağlamaya odaklanmıştır. fark iki dosya arasındaki farkı elde etmek için çeşitli seçeneklerle komut verin.

Peki, nasıl fark komut aslında işlev? NS fark komutu iki dosyayı karşılaştırır ve her iki dosya arasındaki farkların bir listesini verir. Daha doğrusu, ikinci dosyayla eşleşmesi için ilk dosyada yapılması gereken değişikliklerin bir listesini verir. NS fark komut ayrıca programcılar tarafından yamaları geliştirmek için iki kaynak kod dosyası arasındaki farkı almak için kullanılır.







Örneklere geçmeden önce, dosyaların sırasının çok önemli olduğunu unutmayın. Çünkü fark komutu, dosyaların sırasına göre çıktı verir.



Dosyaları Karşılaştırmak için Linux'ta diff Komutu Nasıl Kullanılır:

sözdizimi fark komut aşağıda belirtilmiştir:



$fark [seçenekler] [dosya1] [dosya2]

İlk önce iki dosya oluşturun. adına göre metin dosyaları oluşturuyorum test_file_1.txt ve test_file_2.txt . Bu dosyalar, küçük bir farkla içerik içerir:





Şimdi farkı almak için aşağıdaki komutu kullanın:



$farktest_file_1.txt test_file_2.txt

Standart çıktı, komutta belirtilen dosyaların sırasına göre eşleşen satırları gösterdi. Öyleyse, çıktının kodunu çözelim:

Dosyaların karşılaştırılması etiketlenir ve her etiketin her iki tarafında bir numara bulunur. Biçim aşağıdaki gibidir:

[Dosya 1 satır numarası][Etiket(a,c,d)][Dosya 2] satır numarası

Üç etiket vardır:

  • ile – Ekle: İkinci dosyayla senkronize etmek için ilk dosyaya içerik ekleyin.
  • C – Değiştir: İkinci dosyayla eşleşmesi için ilk dosyanın içeriğinde değişiklik yapılması gerektiğini belirtir.
  • NS – Sil: İkinciyle eşleştirmek için içeriği ilk dosyadan kaldırın.

2d1 1. satırdan ikinci dosyayla eşleşmesi için ilk dosyanın 2. satır numarasının silinmesini belirtir.

Benzer şekilde, 4c3 her iki satır biraz farklı olduğundan, ilk dosyanın dördüncü satırında ikinci dosyanın 3 numaralı satırıyla eşleşecek şekilde bir değişiklik yapmak anlamına gelir.

Farkı görmek için başka bir yöntem daha var, fark ile komut -ve seçenek:

$fark -ve -İÇİNDE 60test_file_1.txt test_file_2.txt

Yukarıdaki çıktıda, içeriği test_file_1.txt içeriği sol tarafta görüntülenirken text_file_2.txt sağ tarafta görüntülenir. Fark, sembollerle gösterilir:

  • | — İkinci dosyada satır farklı
  • > — İkinci dosyada satır ektir
  • <— Line has been deleted from the second file

-W, iki dosyanın içeriği arasındaki genişliği gösterir. Ayrı ayrı almak ve farkı görmek için aşağıdakileri kullanın:

$fark -ve -İÇİNDE 60 --baskı-ortak-çizgileritest_file_1.txt test_file_2.txt

diff Komutunu Kullanarak Tek Satırda Çıktı Nasıl Alınır:

Etiketli yöntemin kodunu çözmeniz zorsa, daha basit bir yaklaşım vardır. Kullanmak -Q seçeneği ile fark komut size bir satırda çıktı verir. Yine de, herhangi bir ek bilgi olmadan:

$fark -Qtest_file_1.txt test_file_2.txt

Dosyalar farklıysa, yukarıdaki komut bir çıktı verecektir. Dosyalar aynıysa, çıktı olmayacaktır. Bunu göstermek için, bir kopyasını oluşturuyorum test_file_1.txt kullanarak:

$cptest_file_1.txt test_file_3.txt

adıyla yeni bir dosya oluşturulacaktır. test_file_3.txt aynı içeriği içeren test_file_1.txt vardır. Şimdi, şunu kullanın:

$fark -Qtest_file_1.txt test_file_2.txt

Her iki dosya da benzer içeriğe sahip olduğundan, çıktı olmaz.

Diff Komutunu Kullanarak Bağlam Modunda Dosyaların Farkı Nasıl Kontrol Edilir:

Bağlam modunda karşılaştırmayı elde etmek için, -C seçeneği ile kullanılacaktır. fark emretmek:

$fark -Ctest_file_1.txt test_file_2.txt

Çıktıyı inceleyelim.

Farkı korumak için, ilk dosya oluşturma tarihi ve saati ile birlikte *** ile gösterilirken, ikinci dosya — ile gösterilir.

Sonraki satır, karşılaştırma sırasında dikkate alınan bir dizi satırı belirtir. İlk dosya için, *** 1,6 **** ve ikinci dosya için, —1.5—- :

Fark, sembollerle gösterilir:

  • + : İlk dosyada satır yok. Her iki dosyayla da eşleşmesi için ilk dosyaya ekleyin veya ikinci dosyadan çıkarın.
  • – : Satır ilk dosyada var ama ikinci dosyada yok. Her iki dosyayla da eşleşmesi için ikinci dosyaya eklemeyi veya ilk dosyadan kaldırmayı deneyin.
  • ! : Satırın eşleşmesi için değişiklik yapılması gerekiyor.

Diff Komutunu Kullanarak Birleşik Modda Dosyaların Farkı Nasıl Kontrol Edilir:

Birleşik mod, bağlam moduna oldukça benzer, ancak fazla bilgi içermez. Kullandığımız bayrak -u :

$fark -utest_file_1.txt test_file_2.txt

Çıktıda, ilk dosya — ve ikincisi +++ ile gösterilir. İkinci satır, her iki dosyada karşılaştırma için düşünülen satır sayısını, ardından bunlarla birlikte sembollerle silinecek, eklenecek veya değiştirilecek içeriği gösterir. Her iki dosyada da benzer satırlara sahip sembol bulunmayacaktır.

diff Komutu Kullanılırken Büyük/Küçük Harfe Duyarlılığı Nasıl Yoksayılır:

Büyük/küçük harf duyarlılığını göz ardı ederek dosyaları karşılaştırmak istiyorsanız, -ben bayrak:

$fark -bentest_file_1.txt test_file_2.txt

Gösteri için yaptım NS ile ilgili Derin ilk dosyada küçük:

İlk komutta görüldüğü gibi fark belirtilir; kullanırken -ben bu fark ortadan kalktı.

Diğer bazı yararlı seçenekler fark komut aşağıda listelenmiştir:

Seçenek Açıklama
-ile Bu seçenek, tüm dosyaları metin dosyaları olarak ele alır.
-B Tüm satırların boş olduğu değişiklikleri yok sayar
-VE Bu seçenek sekme genişletmeyi yok sayar
-BEN Tüm satırların eşleştiği değişiklikleri yok sayar.
-s İki dosya aynı olduğunda çıktı verir
-içinde Tüm beyaz boşlukları yok sayar
-İLE BİRLİKTE Satır sonundaki beyaz boşluğu yok sayar

İki Dosyayı Karşılaştırmak için Vim Editor Nasıl Kullanılır:

İki dosyayı karşılaştırmanın başka bir yöntemi, vimdiff emretmek. Bunun için vim'in kurulu olması gerekir:

$sudouygunYüklemek geldim

Şimdi, iki dosyayı karşılaştırmak için şunu kullanın:

$vimdiff test_file_1.txt test_file_2.txt

Her iki dosya da yan yana açılacaktır. Eşleşmeyen kısım vurgulanacaktır:

colordiff Kullanarak İki Dosya Nasıl Karşılaştırılır:

Başka bir yaklaşım, bir tür uzantısıdır. fark emretmek. Renkler ekleyerek karşılaştırmayı daha anlaşılır hale getirebilirsiniz. Yüklemek için şunu kullanın:

$sudouygunYüklemekrenk farkı

Dosyaları karşılaştırmak için şunu kullanın:

$colordiff test_file_1.txt test_file_2.txt

değiştirebilirsiniz fark ile birlikte renk farkı standart çıktısını almak için fark renkli formatta komut.

Çözüm:

Dosyaları Linux'ta ve hatta macOS'ta karşılaştırmak için kullanılan yardımcı programa diff adı verilir. diff yardımcı programı iki dosyayı karşılaştırır ve iki dosya arasındaki farklar hakkında bilgi verir. Geliştiriciler, yama dosyaları oluşturmak için öncelikle diff komutunu kullanır.

Bu kılavuzda, kapsamlı bir şekilde tartıştık fark komutu ve iki dosyayı farklı seçeneklerle karşılaştırmak için nasıl kullanılacağı. kullanmayı da öğrendik renk farkı dosya farklılıklarını daha tanınabilir hale getirmek için. Ancak terminal tabanlı yardımcı programı kullanmayı zor bulursanız, Kompare, DiffMerge, Meld - Diff Aracı ve Diffuse - GUI Giff Aracı gibi GUI tabanlı araçlar da vardır.