Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020
İçindekiler:
diff
, iki dosyayı satır satır karşılaştırmanıza olanak tanıyan bir komut satırı yardımcı programıdır. Ayrıca dizinlerin içeriğini karşılaştırabilir.
diff
komutu en çok
patch
komutu kullanılarak uygulanabilecek bir veya daha fazla dosya arasındaki farkları içeren bir yama oluşturmak için kullanılır.
diff
Komutunun Kullanımı
diff
komutu için sözdizimi aşağıdaki gibidir:
diff… FILES
diff
komutu, çıktıyı en yaygın olanları olan normal, bağlam ve birleştirilmiş biçimle birkaç biçimde görüntüleyebilir. Çıktı, dosyalarda hangi satırların aynı olması için değiştirilmeleri gerektiği hakkında bilgiler içerir. Dosyalar eşleşirse çıktı üretilmez.
Komut çıkışını bir dosyaya kaydetmek için yeniden yönlendirme işlecini kullanın:
diff file1 file2 > patch
,
diff
komutunun nasıl çalıştığını açıklamak için aşağıdaki iki dosyayı kullanacağız:
Ubuntu Arch Linux Debian CentOS Fedora
dosya2
Kubuntu Ubuntu Debian Arch Linux Centos Fedora
Normal Biçim
diff
komutu iki metin dosyasında herhangi bir seçenek olmadan çalıştırıldığında en basit haliyle, normal biçimde bir çıktı üretir:
diff file1 file2
Çıktı şöyle görünecektir:
0a1 > Kubuntu 2d2 < Arch Linux 4c4, 5 < CentOS --- > Arch Linux > Centos
Normal çıktı biçimi, farklılıkları tanımlayan bir veya daha fazla bölümden oluşur. Her bölüm şöyle görünür:
change-command < from-file-line… --- > to-file-line…
0a1
,
2d2
ve
4c4, 5
değiştirme komutlarıdır. Her değişiklik komutu soldan sağa aşağıdakileri içerir:
- İlk dosyadaki satır numarası veya satır aralığı.Özel bir değişiklik karakteri.İkinci dosyadaki satır numarası veya satır aralığı.
Değişiklik karakteri aşağıdakilerden biri olabilir:
-
a- Satırları ekleyin.c- Çizgileri değiştirin.d- Çizgileri silin.
Değişiklik komutunun ardından, kaldırılan (
<
) ve dosyaya (
>
) eklenen tüm satırlar gelir.
Çıktıyı açıklayalım:
-
0a1- İkinci dosyanın1satırını dosyanın1 başına (0satırından sonra) ekleyin.-
> Kubuntu- İkinci satırdan yukarıda açıklandığı gibi ilk dosyaya eklenen satır.
2d2- İlk dosyadaki2satırı silin.dsembolünden sonraki2, satır silinmezse ikinci dosyada satır2görüneceği anlamına gelir.-
< Arch Linux- silinmiş satır.
4c4, 5- İlk dosyadaki satır5ikinci dosyadan4-54c4, 5değiştirin (değiştirin).-
< CentOS- Değiştirilecek ilk dosyadaki satır.---- Ayırıcı.> Arch Linuxve> Centos- İlk dosyadaki satırın yerini alan ikinci dosyadan satırlar.
-
Bağlam Biçimi
Bağlam çıktı biçimi kullanıldığında,
diff
komutu dosyalar arasında farklılık gösteren satırların çevresinde birkaç bağlam satırı görüntüler.
-c
seçeneği
diff
bağlam biçiminde çıktı üretmesini söyler:
diff -c file1 file2
*** file1 2019-11-25 21:00:26.422426523 +0100 --- file2 2019-11-25 21:00:36.342231668 +0100 *************** *** 1, 6 **** Ubuntu - Arch Linux Debian ! CentOS Fedora --- 1, 7 ---- + Kubuntu Ubuntu Debian ! Arch Linux ! Centos Fedora
Çıktı, karşılaştırılan dosyaların adları ve zaman damgalarıyla ve farklılıkları açıklayan bir veya daha fazla bölümle başlar. Her bölüm şöyle görünür:
*************** *** from-file-line-numbers **** from-file-line… --- to-file-line-numbers ---- to-file-line…
-
from-file-line-numbersveto-file-line-numbers- Sırasıyla birinci ve ikinci dosyadaki satır numaraları veya virgülle ayrılmış satır aralığı.from-file-lineveto-file-line- Farklı satırlar ve bağlam satırları:- İki boşlukla başlayan satırlar bağlam satırlarıdır, her iki dosyada da aynıdır. Eksi simgesiyle başlayan satırlar (
-) ikinci dosyada hiçbir şeye karşılık gelmeyen satırlardır. İkinci dosyada eksik satırlar. (+) Simgesiyle başlayan satırlar, ilk dosyada hiçbir şeye karşılık gelmeyen satırlardır. İlk dosyada eksik satırlar. Ünlem işaretiyle (!) Başlayan satırlar iki dosya arasında değiştirilen satırlardır. Her satır grubu ile başlayan!ilk dosyadan ikinci dosyada karşılık gelen bir eşleşme vardır.
- İki boşlukla başlayan satırlar bağlam satırlarıdır, her iki dosyada da aynıdır. Eksi simgesiyle başlayan satırlar (
Çıktının en önemli kısımlarını açıklayalım:
- Bu örnekte, farklılıkları açıklayan tek bir bölüm var.
*** 1, 6 ****ve--- 1, 7 ----bize bu bölüme dahil olan birinci ve ikinci dosyalardan satır aralığını anlatır.LinesUbuntu,Debian,Fedorave son boş satır her iki dosyada da aynıdır. Bu satırlar çift boşlukla başlıyor.Line- Arch Linuxilk dosyadan ikinci dosyadaki hiçbir şeye karşılık gelmiyor. Bu satır ikinci dosyada da mevcut olmasına rağmen, konumlar farklıdır. İkinci dosyadan satır+ Kubuntuilk dosyadaki hiçbir şeye karşılık gelmez! CentOSİlk dosya ve satırlardan! CentOS! Arch Linux! Arch Linuxve! CentOSİkinci dosyadan! CentOSdosyalar arasında değiştirilir.
Varsayılan olarak, bağlam satırı sayısı varsayılan olarak üçtür. Başka bir sayı belirtmek için
-C
(
--contexts
) seçeneğini kullanın:
diff -C 1 file1 file2
*** file1 2019-11-25 21:00:26.422426523 +0100 --- file2 2019-11-25 21:00:36.342231668 +0100 *************** *** 1, 5 **** Ubuntu - Arch Linux Debian ! CentOS Fedora --- 1, 6 ---- + Kubuntu Ubuntu Debian ! Arch Linux ! Centos Fedora
Birleşik Biçim
Birleştirilmiş çıktı biçimi, bağlam biçiminin geliştirilmiş bir sürümüdür ve daha küçük bir çıktı üretir.
-u
çıktıyı birleşik biçimde yazdırmasını bildirmek için
-u
seçeneğini kullanın:
diff -u file1 file2
--- file1 2019-11-25 21:00:26.422426523 +0100 +++ file2 2019-11-25 21:00:36.342231668 +0100 @@ -1, 6 +1, 7 @@ +Kubuntu Ubuntu -Arch Linux Debian -CentOS +Arch Linux +Centos Fedora
Çıktı, dosyaların adları ve zaman damgalarıyla ve farklılıkları tanımlayan bir veya daha fazla bölümle başlar. Her bölüm aşağıdaki formu alır:
*************** @@ from-file-line-numbers to-file-line-numbers @@ line-from-files…
-
@@ from-file-line-numbers to-file-line-numbers @@- Bu bölümde yer alan birinci ve ikinci dosyalardan satırların satır numarası veya aralığı.line-from-filessatır - Farklı satırlar ve bağlam satırları:- İki boşlukla başlayan satırlar bağlam satırlarıdır, her iki dosyada da aynı satırlardır. Eksi simgesiyle başlayan satırlar (
-) ilk dosyadan kaldırılan satırlardır. Artı sembolüyle (+) başlayan satırlar ilk dosyadan eklenen satırlar.
- İki boşlukla başlayan satırlar bağlam satırlarıdır, her iki dosyada da aynı satırlardır. Eksi simgesiyle başlayan satırlar (
Vakayı yoksay
Yukarıdaki örneklerde fark edebileceğiniz gibi,
diff
komutu varsayılan olarak büyük / küçük harfe duyarlıdır.
Diff'e büyük / küçük harf kullanımını
-i
söylemek için
-i
seçeneğini kullanın:
diff -ui file1 file2
--- file1 2019-11-25 21:00:26.422426523 +0100 +++ file2 2019-11-25 21:00:36.342231668 +0100 @@ -1, 6 +1, 7 @@ +Kubuntu Ubuntu -Arch Linux Debian +Arch Linux CentOS Fedora
Sonuç
Metin dosyalarını farklılıklar için karşılaştırmak Linux sistem yöneticileri için en yaygın görevlerden biridir.
diff
komutu dosyaları satır satır karşılaştırır. Daha fazla bilgi için terminalinize
man diff
yazın.
Linux'ta Chmod komutu (dosya izinleri)
Linux'ta dosyalara erişim, dosya izinleri, öznitelikler ve sahiplik aracılığıyla yönetilir. Bu eğitici dosya ve dizinlerin erişim izinlerini değiştirmek için chmod komutunun nasıl kullanılacağını kapsar.
Linux'ta Chgrp komutu (grubu değiştir)
Linux'ta her dosya bir sahip ve bir grupla ilişkilendirilir ve hangi kullanıcıların dosyayı okuyabileceğini, yazabileceğini veya yürütebileceğini belirleyen izinlere sahiptir. Chgrpc komutu, verilen dosyaların grup sahipliğini değiştirir.
Linux'ta cp komutu (dosyaları kopyala)
cp, Unix ve Linux sistemlerine dosya ve dizin kopyalamak için kullanılan bir komut satırı yardımcı programıdır.







