Örneklerle Linux’ta CMP Komutu Nasıl Kullanılır

Merhabalar,

Linux/UNIX’te cmp komutu, iki dosyayı bayt bayt karşılaştırmak için kullanılır ve iki dosyanın aynı olup olmadığını anlamanıza yardımcı olur.

İki dosya arasında karşılaştırma yapmak için cmp kullanıldığında, eğer fark ilk uyuşmazlığın yerini ekrana bildirir.Hangi satırdaysa.

Cmp, karşılaştırılan dosyalar aynıysa, hiç bir şey döndürmez.

cmp [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]

cmp komutunun sözdizimini anlamak oldukça basittir. Eğer iki dosyayı karşılaştırıyorsak, o zaman açıkça onların isimlerine argüman olarak ihtiyacımız olacak (yani sözdiziminde DOSYA1 ve DOSYA2 olarak). Buna ek olarak, isteğe bağlı SKIP1 ve SKIP2, varsayılan olarak sıfır olan her dosyanın başında atlanacak bayt sayısını belirtir ve OPTION, daha sonra tartışacağımız bu komutla uyumlu seçenekleri ifade eder.

 

cmp Örnek : Açıklandığı gibi cmp komutu bir fark bulunursa bayt ve satır numarasını bildirir. Şimdi aynı şeyi bir örnek yardımıyla öğrenelim. Karşılaştırmak istediğiniz iki dosya olduğunu varsayalım, bunlardan biri 11.txt ve diğeri 12.txt.

 

1. Dosyalar aynı değilse: yukarıdaki komutun çıktısı şöyle olacaktır:

cmp 11.txt 12.txt

 

 

2.Dosyalar aynıysa: ekranınızda şöyle bir şey göreceksiniz.Size bir bilgi döndürmeyecek.

cmp 11.txt 12.txt

 

 

CMP komutu için seçenekler:

1. -b(print-bytes) : İsterseniz cmp, -b seçeneği ile kullanıldığında çıktıda farklı baytları görüntüler.

cmp -b 11.txt 12.txt

 

Yukarıdaki çıktıdaki nereden sonra farklılık olduğunu belirtiyor.

 

2. -i [atlanacak bayt] : Şimdi, bu seçenek cmp komutuyla kullanıldığında her iki dosyadan belirli sayıda başlangıç ​​baytı atlamaya yardımcı olur ve atladıktan sonra dosyaları karşılaştırır. Bu, -i komut satırı seçeneğine argüman olarak bayt sayısı belirtilerek yapılabilir.Aşağıdaki görüldüğü gibi ilk karşılaştırmada farklılık olduğu belirtilmiş çünkü dosyanın başını farklı yazdım sonraki komutta 10 bayt atla o şekilde tekrar kontrol et dedim.Bu sefer hata dönmedi.Buda dosyaların aynı olduğunu gösteriyor.

cmp -i 10 11.txt 12.txt

 

Bu gibi durumlarda (bayt atlamak için -i kullandığınızda), karşılaştırmanın başladığı baytın sıfır bayt olarak kabul edildiğini unutmayın.

 

3. -i [ilk dosyadan atlanacak bayt] : [ikinci dosyadan atlanacak bayt] :Bu seçenek yukarıdaki -i [atlanacak bayt] seçeneğine çok benzer, ancak şimdi izin verdiği farkla Her iki dosyadan da atlamak istediğimiz bayt sayısını ayrı ayrı girmemiz gerekiyor.

 

 

cmp i 6:7 11.txt 12.txt

 

 

 

4. -l seçeneği : Bu seçenek cmp komutunun tüm farklı baytlar için bayt konumunu ve bayt değerini yazdırmasını sağlar.

cmp -l 11.txt 12.txt

 

Çıktıdaki ilk sütun, farklı baytların konumunu (bayt numarası) temsil eder. İkinci sütun, birinci dosyadaki farklı baytın bayt değerini temsil ederken, üçüncü sütun, ikinci dosyadaki farklı baytın bayt değerini temsil eder.Burada bizim 2 dosyamızda ilk 5 baytın farklı olduğunu anlıyoruz.

 

5. -s seçeneği : Bu, normalde cmp komutu tarafından üretilen çıktıyı bastırmanızı sağlar, yani herhangi bir mesaj yazmadan iki dosyayı karşılaştırır. Bu, dosyalar aynıysa 0 çıkış değeri, farklıysa 1 değeri veya bir hata mesajı oluşursa 2 değeri verir.

cmp -s 11.txt 12.txt

 

 

6. -n [karşılaştırılacak bayt sayısı] seçeneği : Bu seçenek, karşılaştırmak istediğiniz bayt sayısını sınırlamanıza izin verir, örneğin 10, 20, 30 gibi.İstediğimiz bayt değeri ne ise o değerleri kaşılaştırabiliriz.

cmp -n 10 11.txt 12.txt

 

Bu eğitim yazımızında sonuna geldik.Umarım Umarım bu eğitim yazısı sizler için faydalı olur.

 

Bu eğiticiye oy ver
[Total: 2 Average: 5]
Firat CANOĞLU TAĞ