Linuxのdiffコマンドは、ファイルを1行ずつ分析し、2つのファイル間で行われた変更のリストを出力します。
コマンドdiffはdifferenceの略で、本質的に2つのファイルの違いを示します 。
cmp
とは異なり (比較)とcomm
コマンド、diffは、他のファイルと一致するように変更する必要がある特定の行を強調表示します。
Linux管理者が忘れられないことの1つは、diffが記号と命令を使用してより効果的にすることです。
特定の記号は、2番目に一致するように特定の方法でファイルを変更するようにコマンドに指示します。
diffコマンド出力の特殊記号:
- a:追加
- c:変更
- d:削除
Linuxdiffコマンド構文
diff [options] File1 File2
diffコマンドの使用例を見てみましょう。
ケース1:変更
x.txtの2つのファイルがあるとします。 およびy.txt
x.txt 次のコンテンツが含まれています。
California
Miami
Ohio
Kansas
Texas
y.txt 次のコンテンツが含まれています。
California
Nevada
Georgia
Kansas
Texas
次に、diffコマンドを使用して、図のように2つのファイルを比較します。
$ diff x.txt y.txt
サンプル出力
出力をさらに詳しく調べてみましょう。
2,3c2,3
行は、2番目のテキストファイルの2行目と3行目を一致させるために、最初のファイルの2行目と3行目を変更する必要があることを意味します。
diffコマンド出力シンボルの説明
出力で検出されたさまざまな記号を簡単に見てみましょう。
- より小さい記号は、最初の行からの行を示します
- 大なり記号は、2行目からの行を示します
a - Denotes that text was added to the file
c - Denotes that changes were made in the file
d - Indicates that the line was expunged or deleted
別の例を見てみましょう。
ケース2:追加
2つのテキストファイルがあります:
ファイルファイル1.txt 次の内容があります。
Linux is a great operating system
It's free and opensource
It's light and stable
I would highly recommend it
file2.txt 次の内容があります。
Linux is a great operating system
It's free and opensource
It's light and stable
Oh ! It can be installed on almost any PC hardware
I would highly recommend it
diffコマンドを使用して、両方のファイルを比較します。
$ diff file1.txt file2.txt
サンプル出力
上記の出力から、3a4
最初のファイルの3行目の後に、2番目のファイルの4行目に一致するように別の行を追加する必要があることを意味します 。
ケース3:削除
以下の2つのファイルを検討してください。
file3.txt 次の内容で。
Apples
Oranges
Mangoes
Peaches
Bananas
Grapes
そしてfile4.txt 次の内容が含まれています。
Apples
Oranges
Mangoes
Bananas
Grapes
ここでも、diffコマンドを使用して両方のファイルを比較します。
$ diff file3.txt file4.txt
サンプル出力
ここに出力4d3 これは、最初のファイルから4行目を削除して、行番号3の2番目のファイルと同期することを意味します。
結論
Linuxのdiffコマンドは、2つのファイルを比較するためのシンプルなユーティリティです。 2つのバージョンのテキストファイル間の変更を確認するのに役立ちます。