Diff

Kısaca: Bilgisayar ile hesaplamada bir dosya karşılaştırma yardımcı programıdır ve iki dosya arasındaki farkları bulmaya yarar. Program text dosyalarındaki her bir satırda yapılan değişiklikleri gösterir. Modern implementasyonlar binary dosyaları da destekler. Diff programının çıktısı diff ya da daha yaygın şekliyle -çıktıları patch adlı unix programı ile patch olarak uygulanabildiği için- patch olarak adlandırılır. Aynı zamanda diff bilgisayar jargonunda dosya üzerindeki herhangi bi ...devamı ☟

Bilgisayar ile hesaplamada bir dosya karşılaştırma yardımcı programıdır ve iki dosya arasındaki farkları bulmaya yarar. Program text dosyalarındaki her bir satırda yapılan değişiklikleri gösterir. Modern implementasyonlar binary dosyaları da destekler. Diff programının çıktısı diff ya da daha yaygın şekliyle -çıktıları patch adlı unix programı ile patch olarak uygulanabildiği için- patch olarak adlandırılır. Aynı zamanda diff bilgisayar jargonunda dosya üzerindeki herhangi bir değişikliği hesaplama anlamında bir fiil olarak kullanılır.

nasıl kullanır ? :

İSİM
 diff - iki dosya arasındaki farklılıkları bulur
KULLANIM

 diff  seçenekler  1.dosya 2.dosya


AÇIKLAMA
 diff, en basit tabiri ile, iki farklı dosyanın içeriğini karşılaştırır. Dosya ismi olarak - verilmişse, diff standart girdiyi okur. Özel bir durum olarak, diff - - şeklinde komut kullanımı, standart girdi ile bir kopyasını karşılaştırır.
 Şayet 1.dosya bir dizin ve 2.dosya değilse, diff komutu, 1.dosya ile verilen dizin içindeki 2.dosya ile aynı isimli dosyayı karşılaştırır; bu durum tersi için de geçerlidir. Dizin olmayan dosya mutlaka - olmalıdır.
 Şayet her iki girdi de dizin ise, diff, alfabetik sıra ile, eşleşen bütün dosyaları karşılaştırır. Bu karşılaştırma alt dizinlerde yapılmaz. Şayet alt dizinlerdeki dosyalarında karşılaştırılmasını -r veya -recursive seçeneğini belirtmeniz gerekir. diff, asla bir dizinin asıl içeriğini bir dosyaymış gibi karşılaştırmaz. Standart girdi isimsiz olduğundan, tamamen tanımlanmış bir dosyaya standart girdi muamelesi yapılmaz ve "aynı isimli dosya" fikri buraya uygulanamaz.
 diff seçenekleri - ile başlar. Bu nedenle 1.dosya ve 2.dosya isimleri - ile başlayamaz. Bunun yanında, -- şeklinde kullanım ile bu sorunu aşabilirsiniz. -- işaretinden sonra gelen argümanlar - ile başlasa bile dosya ismi olarak değerlendirilir.


 Seçenekler
   Aşağıda, GNU diff`in kabul ettiği bütün komutların bir özetini bulacaksınız. Pek çok seçenek iki eşdeğer isme sahiptir. Birincisi - ile başlayan tek bir harften oluşur, diğeri ise -- ile başlayan uzun bir isimden meydana gelmektedir. Çok sayıda tek harfli seçenek (bir argüman almadıkça), -ac gibi yanyana yazılabilir: -ac, -a ve -c anlamına gelir. Uzun isimli seçenekler de başlangıçtan itibaren kendilerinden başka bir seçenekle karışmayacak şekilde kısaltılarak kullanılabilirler. Köşeli parantezler içindeki argümanlar, gerekli değilse verilmeyebileceği anlamına gelir.


   -satır_sayısı
     Dosya içeriğin tamsayı cinsinden satır sayısı (-5 gibi belirtilir). Bu seçenek kendi başına bir çıktı biçimi tanımlamaz. -c veya -u ile birlikte kullanılmadığı sürece bir etkisi yoktur. Bu seçenek eskidir. patch komutunun düzgün çalışması için içerikte en az iki satır olması gerekir. 
   -a
   --text
     Metin dosyası olmasalar bile, bütün dosyaları metin dosyaları olarak kabul eder ve onları satır satır karşılaştırır. 
   -b
   --ignore-space-change
     Karşılaştırmada ara boşluklarındaki farklar dikkate alınmaz. 
   -B
     Karşılaştımada boş satırlardaki farklar dikkate alınmaz. 
   -c
     Bağlamsal çıktı biçimi kullanılır. 
   -C satır_sayısı
   --context[1]
     Bağlamın satır_sayısı satırı gösterilerek bağlamsal çıktı biçimi kullanılır. satır_sayısı belirtilmezse üç satır gösterilir. patch komutunun düzgün çalışması için içerikte en az iki satır olması gerekir. 
   --changed-group-format=biçim
     Her iki dosyadaki if-then-else biçimindeki farklı satırları içeren satır gruplarını çıktılarken biçim kullanılır. 
   -d
   --minimal
     En küçük değişikliği bile bulmak için algoritma değiştirilir. Bu seçenek diff`in yavaş çalışmasına (bazan oldukça yavaş) sebep olur. 
   -D isim
     isim önişlemci makrosunun koşullarına uygun olarak katıştırılmış if-then-else biçimli çıktı üretir. 
   -e
   -ed
     Çıktıyı bir ed betiği olarak üretir. 
   -f
   --forward-ed
     Çıktı bir ed betiği gibi karışık olur ancak farklar dosyadaki sırasına uygun çıktılanır. 
   -F düzifd
   --show-function-line=düzifd
     Bağlamsal veya tekilleştirilmiş biçimde, her bir değişiklik parçası için, önceki satırdan düzifd ile eşleşen kısmı gösterir. 
   -h
     Bu seçenek herhangi bir etkiye sahip değildir, Unix uyumluluğu için vardır. 
   -H
   --speed-large-files
     Pek çok küçük değişikliğe sahip büyük dosyaların karşılaştırılmasında işlemini hızlandırmak için buluşsal yöntemler (heuristics) kullanılır. 
   --horizon-lines=satır_sayısı
     Farklılıklardan önceki ortak satırların son satır_sayısı satırını ve farklılıklardan sonraki ortak satırların ilk satır_sayısı satırını iptal etmez. 
   -i
   --ignore-case
     Büyük ve küçük harf kullanımından kaynaklanan farklar gözönüne alınmaz, aynı kabul edilir. 
   --ifdef=isim
     isim önişlemci makrosunun koşullarına uygun olarak katıştırılmış if-then-else biçimli çıktı üretir. 
   -I düzifd
   --ignore-matching-lines=düzifd
     düzifd ile eşleşen satırlar diğer dosyada olsa da olmasada yok sayılır. 
   --ignore-blank-lines
     Satırları karşılaştırırken boş satırları yoksayar. 
   -l
   --paginate
     Çıktıyı sayfalamak için pr komutundan geçirir. 
   -L etiket
   --label=etiket
     Bağlamsal ya da tekilleştirilmiş biçimli başlıklarda dosya ismi yerine etiket kullanılır. 
   --left-column
     Yanyana çıktılama biçiminde iki ortak satırdan sadece soldakini basar. 
   --line-format=biçim
     if-then-else biçimli tüm girdi satırlarını çıktılarken biçim kullanılır. 
   -n
   -rcs
     RCS biçimli çıktı verir; her komutun etkilenen satır sayısını belirtmesi dışında -f ile aynıdır. 
   -N
   --new-file
     Dizinleri karşılaştırırken, bir dosyanın sadece tek bir dizin içinde bulunduğu durumlarda; bu dosyayı diğer dizin içinde de, içi boş olarak, varmış gibi kabul eder. 
   --new-group-format=biçim
     İkinci dosyadaki if-then-else biçimli girdi satırı gruplarını çıktılarken biçim kullanılır. 
   --new-line-format=biçim
     İkinci dosyadaki if-then-else biçimli bir girdi satırını çıktılarken biçim kullanılır. 
   --old-group-format=biçim
     Birinci dosyadaki if-then-else biçimli girdi satırı gruplarını çıktılarken biçim kullanılır. 
   --old-line-format=biçim
     Birinci dosyadaki if-then-else biçimli bir girdi satırını çıktılarken biçim kullanılır. 
   -p
   --show-c-function
     Her bir değişikliğin hangi C işlevi içinde olduğunu gösterir. 
   -P
   --unidirectional-new-file
     Dizinleri karşılaştırırken, bir dosyanın sadece ikinci dizin içinde bulunduğu durumlarda; bu dosyayı diğer dizin içinde de, içi boş olarak, varmış gibi kabul eder. 
   -q
   --brief
     Dosyalar farklıysa sadece raporlar, farkları bulmaz. 
   -r
   --recursive
     Dizinleri karşılaştırırken, bulunan bütün alt dizinlerin içindekileri de karşılaştır. 
   -s
   --report-identical-files
     Dosyalar aynıysa raporlar. 
   -S dosya
   --starting-file=dosya
     Dizinleri karşılaştırırken, dosya ile belirtilen dosyadan başlar. Böylece yarıda kalmış bir kıyaslamayı devam ettirebilirsiniz. 
   --from-file=dosya
     Tüm terimleri dosya ile karşılaştırır. dosya bir dizin olabilir. 
   --to-file=dosya
     dosyayı tüm terimlerle karşılaştırır. dosya bir dizin olabilir. 
   --sdiff-merge-assist
     sdiff`e yardım için ek bilgiler basar. sdiff, bu bilgileri diff`i çalıştırırken kullanır. Bu seçenek, kullanıcıların doğrudan kullanması için tasarlanmamıştır. 
   --suppress-common-lines
     Yan yana çıktı biçiminde ortak satırlar çıktılanmaz. 
   -t
   --expand-tabs
     Girdi dosyalarındaki sekmelerin eşitliğini sağlamak için; çıktılarken sekmeleri boşluklara çevirir. 
   -T
   --initial-tab
     Normal ya da bağlamsal biçimdeki bir satırın metninden önceki boşlukları sekmelerle değiştirir. Böylece, satırların sekmelerle hizalanarak düzgün görünmesi sağlanır. 
   -u
     Tekilleştirilmiş dosya biçimi kullanılır. 
   --unchanged-group-format=biçim
     Her iki dosyadan da alınmış if-then-else biçimindeki bir ortak satır grubunu biçim biçiminde çıktılar. 
   --unchanged-line-format=biçim
     Her iki dosyadan da alınmış if-then-else biçimindeki bir ortak satırı biçim biçiminde çıktılar. 
   -U satır_sayısı
   --unified[2]
     Bağlamın satır_sayısı satırı gösterilerek tekilleştirilmiş çıktı biçimi kullanılır. satır_sayısı belirtilmezse üç satır gösterilir. patch komutunun düzgün çalışması için içerikte en az iki satır olması gerekir. 
   -v
   --version
     diff`in sürüm numarasını basar. 
   -w
   --ignore-all-space
     Satırları karşılaştırırken boşlukları atlar. 
   -W krk_sayısı
   --width=krk_sayısı
     Yanyana çıktı biçiminde krk_sayısı ile belirtilen genişlikte sütunlar kullanılır. 
   -x şablon
   --exclude=şablon
     Dizinleri kıyaslarken, şablon ile eşleşen sahip alt dizinleri ve dosyaları yoksayar. 
   -X dosya
   --exclude-from=dosya
     Dizinleri kıyaslarken, dosya içindeki şablonlar ile eşleşen sahip alt dizinleri ve dosyaları yoksayar. 
   -y
   --side-by-side
     Yan yana çıktı biçimi kullanılır. 


İLGİLİ BELGELER
 cmp(1), comm(1), diff3(1), ed(1), patch(1)), pr(1), sdiff(1). 
ÇIKIŞ DURUMU
 Çıkış durumu olarak 0`ın anlamı, hiçbir farklılık bulunamadığıdır. Bazı farklılıkların olduğu durumlarda 1 ile çıkar. Şayet 2 ile çıkarsa, bir sorun var demektir. 


Kaynaklar

Vikipedi

İlgili konular

binary fiil program unix jargon text

Bu konuda henüz görüş yok.
Görüş/mesaj gerekli.
Markdown kullanılabilir.

Diff
2 yıl önce

ikili dosyaları da destekler. Diff programının çıktısı diff ya da bir Unix komutu olan patch olarak adlandırılır. diff, bilgisayar jargonunda dosya üzerindeki...

Diff, Binary, Fiil, Program, Unix, Jargon, Text
Patch (Unix)
6 yıl önce

halinde iki dosya arasındaki farklılıkları barındıran bir metin dosyasıdır, ve diff programı ile orijinal ve güncel dosya karşılaştırılacak oluşturulur. Patch...

Comm
2 yıl önce

satırlarını içerir. Son sütunda her iki dosyadaki aynı satırla bulunur. Bu komut, diff'e benzer işleve sahiptir Sütunlar normalde <tab> karakteriyle ifade edilir...

Viki
2 yıl önce

Viki sitelerinde kullanıcılar kolayca büyük dokümantasyonlar oluşturabilir. Diff özelliği sayesinde sayfanın önceki sürümleri görülebilir ve böylelikle belgeler...

Wiki, Henüz yaratılmamış sayfa, Tex
Gary Coleman
2 yıl önce

oyuncudur. Türk televizyonlarında da gösterilen ve büyük ilgi uyandıran Diff'rent Strokes adlı dizideki rolüyle hatırlanır. Illinois'de doğan sanatçının...

1960 Grammy Ödülleri
6 yıl önce

Vokal Performansı: "The Battle Hymn of the Republic" - Mormon Mişkan Korosu‎ En İyi R&B Performansı: "What a Diff'rence a Day Makes" - Dinah Washington...

Dixie Carter
2 yıl önce

Nisan 2010), Amerikalı oyuncu ve seslendirme sanatçısı. Designing Woman, Diff'rent Strokes ve Umutsuz Evkadınları gibi dizilerdeki rolleriyle bilinir. 1974–1976:...

Conrad Bain
6 yıl önce

Kanada - 14 Ocak 2013 Livermore, Kaliforniya) Kanadalı/Amerikalı oyuncu. Diff'rent Strokes sitcom dizisindeki Phillip Drummond ve Maude dizisindeki Dr. Arthur...