Linux diff Komutu – Ayrıntılı Kullanım Rehberi

1. diff Komutu Nedir?

diff (difference) komutu, Linux ve Unix sistemlerinde iki dosya ya da dizin arasındaki farkları satır satır karşılaştırmak için kullanılır.

Özellikle kod değişikliklerini görmek, konfigürasyon dosyalarını karşılaştırmak veya versiyon farklarını analiz etmek için çok kullanışlıdır.

diff çıktısı, hangi satırların eklendiğini, silindiğini veya değiştirildiğini net şekilde gösterir.

Temel Kullanım

diff dosya1.txt dosya2.txt

Açıklama: dosya1.txt ile dosya2.txt arasındaki satır farklılıklarını listeler.

3. Çıktı Formatı

diff çıktısı genellikle şu şekilde olur:

1,3c1,3
< eski satır 1
< eski satır 2
---
> yeni satır 1
> yeni satır 2

• < → İlk dosyadaki satırlar • > → İkinci dosyadaki satırlar • c → change (değişiklik) • a → add (ekleme) • d → delete (silme)

Sık Kullanılan Argümanlar

ArgümanAçıklama
-uUnified format – Kod değişikliklerinde en çok kullanılan, satır numaraları ve bağlam satırları ile birlikte gösterir.
-cContext format – Değişikliklerden önce ve sonra birkaç satır bağlam verir.
-iBüyük/küçük harf farklarını yok sayar.
-wTüm boşluk farklarını yok sayar.
-BBoş satır farklarını yok sayar.
-rDizinleri karşılaştırırken alt dizinleri de karşılaştırır.
–side-by-sideFarkları yan yana gösterir.
–suppress-common-linesYan yana modda ortak satırları göstermez.

5. Örnek Kullanımlar

5.1. Birleştirilmiş (Unified) Format ile Farkları Gösterme

diff -u eski.txt yeni.txt

Açıklama: Kod incelemelerinde (git diff gibi) yaygın olarak kullanılan format.

5.2. Boşluk Farklarını Yok Sayma

diff -w dosya1.txt dosya2.txt

Açıklama: Satır içindeki boşluk farklılıklarını önemsemez.

5.3. Yan Yana Karşılaştırma

diff --side-by-side eski.txt yeni.txt

Açıklama: İki dosyayı yan yana listeler, farklı satırlar kolayca seçilir.

5.4. Dizin Karşılaştırma

diff -r dir1 dir2

Açıklama: dir1 ve dir2 dizinlerinin içeriğini karşılaştırır.

5.5. Ortak Satırları Gizleyerek Yan Yana Karşılaştırma

diff --side-by-side --suppress-common-lines eski.txt yeni.txt

Açıklama: Sadece farklı satırları yan yana gösterir.

5.6. Büyük/Küçük Harf Farkını Yok Sayma

diff -i dosya1.txt dosya2.txt

Açıklama: Hello ve hello gibi farkları görmezden gelir.

Patch Dosyası Oluşturma

diff -u eski.txt yeni.txt > degisiklik.patch

Açıklama: eski.txt ile yeni.txt arasındaki farkları bir yama (patch) dosyasına yazar.

Bu yama daha sonra patch komutu ile uygulanabilir:

patch < degisiklik.patch

6. İpuçları

  • Kod değişikliklerini kolay okunur şekilde görmek için -u veya –side-by-side kullan.
  • Versiyon kontrol sistemlerinde (git) zaten diff mantığı temel alınır.
  • Patch dosyaları ile farklı sistemler arasında değişiklikleri kolayca taşıyabilirsin.
  • Konfigürasyon dosyaları karşılaştırırken boş satır ve boşluk farklarını yok saymak için -B -w parametrelerini birlikte kullan.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir