diffコマンド 【diff command】

概要

diffコマンド(diff command)とは、LinuxなどのUNIX系OSでよく利用されるコマンド/プログラムの一つで、指定した二つのファイルを比較してその違い(差分)を表示するもの。転じて、(diffコマンドを用いて作られたものでなくても)二つのファイルデータを比較して違いを抽出したデータを指すこともある。

diffコマンドは比較対象の二つのファイルのうち一方(通常は一番目の引数で指定された方)のファイルを基準として、もう一方のファイルに追加、削除、変更された部分をそれぞれ探し出し、その位置(行番号)と、どのように異なるかを出力する。両者に共通している(違いのない)部分は出力しない。

伝統的な出力形式では、新旧の相違点を検知すると「0a1,3」や「2,4c4」のように、旧ファイルの当該位置、変更内容、新ファイルの当該位置を連ねたが生成される。「1,3」は範囲を表す記法で、この場合は行番号1~3(2~4行目)を意味する。

変更内容は「a」が追加、「c」が変更(置き換え)、「d」が削除である。これに続けて、次行から一行ずつ、旧→新で追加あるいは置換する内容は先頭に「> 」を、旧版から削除する内容は「< 」を付けて変更のあったを記述する。

同じファイルの旧版に対して、diffコマンドで出力した変更点を反映させれば更新版を得ることができるため、ファイルを編集・更新する際に変更箇所のみを保存していくことで、少ない記憶容量で各時点の内容をすべて保管・復元できるようになる。この仕組みはコンピュータプログラムソースコードの作成・編集などで広く用いられている。

diffコマンドは1974年に初期のUNIXシステム開発される中で追加されたプログラムで、以後、伝統的な標準コマンドの一つとしてほとんどのUNIX系OSに組み込まれている。GNUプロジェクトでは「GNU Diffutils」というオープンソース実装を公開しており、diffだけでなくcmp、diff3、patchなどよく併用されるコマンドが同梱されている。

(2023.8.15更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる