İki dosya arasındaki farkı görmenin en kolay yolu, diff komutunu kullanmaktır. Örneğin
eaydin@dixon~/calisma $ cattest.txtbirincisatirikincisatirucuncusatireaydin@dixon~/calisma $ cattest2.txtbirincisatirikincibaskasatireaydin@dixon~/calisma $ difftest.txttest2.txt2,3c2< ikinci satir< ucuncu satir---> ikinci baska satir
diff çıktısına baktığımızda, dosyalar arasında fark olduğunu görebiliyoruz. Farkın belirtildiği satırların üstündeyse 2,3c2 gibi bir ifade var. Bu ifade patch programının yorumlaması için gerekiyor. Bir patch dosyasını oluşturmak için diff programının -u parametresi kullanılabilir.
Yukarıda, test.txt dosyasından test2.txt dosyası türetmek istiyorsak uygulanacak patch çıktısı görülüyor. Öyleyse bunu bir patch dosyası olarak kaydedebiliriz.
Şimdi patch dosyasını kullanabiliriz. Dosyanın içeriğinde patch'ın uygulanacağı dosya isimleri de belirtildiği için, doğrudan patch dosyasını programa standart girdi olarak vermemiz yeterli olacaktır.
Gördüğünüz gibi artık test.txt dosyasının içeriği, test2.txt dosyasının içeriği ile aynı oldu.
Patch'i Geri Alma:
Uygulanan bir patch'i geri almak için patch komutuna -R (reverse) parametresi verilebilir:
Bu komut, test.txt dosyasını patch uygulanmadan önceki orijinal haline geri döndürür. diff ve patch komutları, özellikle yazılım geliştirme süreçlerinde kod değişikliklerini paylaşmak ve uygulamak için yaygın olarak kullanılır.