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 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。