はじめに
プログラムや設定ファイルの変更点を素早く確認できるツールは重要です。
特に開発やシステム管理では、どこが変わったのかを把握することが求められます。
本記事では、そのために役立つ diff
コマンドの使い方を紹介します。
書こうと思ったきっかけ
ファイルの変更点を簡単に確認したい場面は多くあります。
Gitを使わない場合でも、設定ファイルの差分をチェックする機会は多いです。
そのため、初心者でも分かりやすい diff
コマンドの解説を書こうと思いました。
diffコマンドの使い方
diffコマンドは、LinuxやUnix系OSで使用されるテキスト比較ツールの一つで、2つのファイルの差分を表示するために使用されます。
基本的な使い方
diffコマンドの基本的な構文は以下の通りです。
diff [オプション] ファイル1 ファイル2
例:
diff file1.txt file2.txt
このコマンドを実行すると、file1.txtとfile2.txtの違いが表示されます。
出力の見方
diffの出力は、変更された行を示す記号とともに表示されます。
-
<
はファイル1のみに存在する行を示す。 -
>
はファイル2のみに存在する行を示す。 -
d
は削除された行を示す。 -
a
は追加された行を示す。 -
c
は変更された行を示す。
例:
1,3c1,3
< Hello
< This is a test file.
< Goodbye
---
> Hello
> This is an updated test file.
> Goodbye
この場合、1〜3行目が変更されていることが分かります。
よく使われるオプション
diffコマンドには様々なオプションがあり、用途に応じて使い分けることができます。
オプション | 説明 |
---|---|
-u |
ユニファイドフォーマットで出力する |
-c |
コンテキストフォーマットで出力する |
-i |
大文字と小文字を区別しない |
-w |
空白の違いを無視する |
-r |
ディレクトリを再帰的に比較する |
-q |
差分の有無のみを表示する |
-s |
差分がない場合も「ファイルが同じ」と表示する |
ユニファイドフォーマット (-u
)
diff -u file1.txt file2.txt
このオプションを使うと、変更点がまとまりやすく、Gitの差分表示にも利用されます。
空白を無視 (-w
)
diff -w file1.txt file2.txt
空白の違いを無視して比較する場合に便利です。
差分がない場合も表示 (-s
)
diff -s file1.txt file2.txt
通常diffコマンドは差分がない場合には何も表示しませんが、-s
オプションを使用すると、「ファイルが同じ」というメッセージが表示されます。
ディレクトリの比較
diffはファイルだけでなく、ディレクトリの比較も可能です。
diff -r dir1 dir2
このコマンドを実行すると、dir1とdir2の中のファイルの違いが表示されます。
diffの活用例
ファイルの変更履歴を確認
複数のバージョンのファイルを比較し、変更点を確認することができます。
設定ファイルの比較
システムの設定ファイルを変更した際に、元の設定とどこが変わったかを確認するのに役立ちます。
Gitでの変更確認
Gitではgit diff
コマンドを使用して、リポジトリ内の変更を確認できます。
まとめ
diffコマンドは、ファイルやディレクトリの変更を簡単に確認できる便利なツールです。
オプションを活用することで、見やすいフォーマットで比較したり、特定の変更のみを抽出したりできます。
日常の開発やシステム管理で役立つので、ぜひ活用してみてください。