diff の使い方

2 つのファイルの違い

書き方

diff ファイル1 ファイル2

< は 1 つ目だけ、> は 2 つ目だけにある行です。

よく使うオプション

オプション意味
-u前後の行も付けた、読みやすい形(ユニファイド形式)で出す
-rディレクトリの中を下までたどって比べる
-q違うかどうかだけを出す
-y左右に並べて出す

例

$ diff httpd.conf.bak httpd.conf47c47
< Listen 80
---
> Listen 8080

控えと今の設定の違いを出します。< は 1 つ目だけ、> は 2 つ目だけにある行です。

$ diff -u httpd.conf.bak httpd.conf

- が消えた行、+ が増えた行の形で出します。Git の差分と同じ見た目です。

$ diff -rq dir1 dir2

2 つのディレクトリで、中身の違うファイルの名前だけを出します。

よくある間違い・注意

  • 違いが無いときは何も出ません。終了コード(echo $?)が 0 なら同じ、1 なら違いがあります。

実際に打って練習する

Linux レベル1 コースの Lv25「違いを見つける diff」で覚えます(第2章 宝探し(検索とテキスト処理))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Linux コマンド一覧(LinuC レベル1 の範囲)へ戻る