Provided by:
manpages-tr_1.0.2+cvs20040401-1_all 
İ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[=satır_sayısı]
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[=satır_sayısı]
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.
ÇEVİREN
Yalçın Kolukısa <yalcink01 (at) yahoo.com>, Aralık 2003