カテゴリ: Linuxコマンド集 更新日: 2026/05/27

diff -uオプションの使い方を完全ガイド!初心者でもわかるLinuxの差分比較(統一フォーマット)

diff -uオプション|統一フォーマットで差分を表示する
diff -uオプション|統一フォーマットで差分を表示する

先生と生徒の会話形式で理解しよう

生徒

「ファイルの中身が変わったかどうかって、どうやって確認するんですか?」

先生

「Linuxではdiffコマンドを使えば、2つのファイルの違いを簡単に比較できますよ。」

生徒

「でも表示が難しそうです…。どこが違うのか分かりにくくないですか?」

先生

「そんなときに便利なのが-uオプションです。変更点がとても見やすく表示されます。」

1. diffコマンドとは?

1. diffコマンドとは?
1. diffコマンドとは?

diffコマンドは、Linuxで2つのファイルの違い(差分)を比較するための基本コマンドです。

例えば、「設定ファイルを変更したけど、どこを変えたのか分からない」「プログラムの修正内容を確認したい」といった場面で役立ちます。

Windowsでいうと、「変更履歴」や「比較ツール」に近いイメージです。

2. -uオプションとは?統一フォーマットとは

2. -uオプションとは?統一フォーマットとは
2. -uオプションとは?統一フォーマットとは

-uオプションは、差分を統一フォーマット(Unified format)で表示するためのオプションです。

通常のdiffは少し見づらいのですが、この形式では「追加」「削除」が分かりやすくなります。

  • -:削除された行
  • +:追加された行
  • 変更前後の周辺の行も表示される

この形式は、Gitなどのバージョン管理でも使われているため、覚えておくととても便利です。

3. 基本的な使い方

3. 基本的な使い方
3. 基本的な使い方

まずは、シンプルな例から見ていきましょう。


diff -u file1.txt file2.txt
--- file1.txt
+++ file2.txt
@@ -1,3 +1,3 @@
Hello
-World
+Linux
Study

この結果は、次のような意味になります。

  • 「World」が削除されている
  • 「Linux」が追加されている

「どこが変わったのか」が一目で分かるのが特徴です。

4. 実際にファイルを作って試す

4. 実際にファイルを作って試す
4. 実際にファイルを作って試す

実際にファイルを作って比較してみましょう。


echo "apple" > a.txt
echo "banana" >> a.txt
echo "apple" > b.txt
echo "orange" >> b.txt
diff -u a.txt b.txt
--- a.txt
+++ b.txt
@@ -1,2 +1,2 @@
apple
-banana
+orange

この例では、2行目の内容が変更されていることが分かります。

初心者の方は、「同じ部分はそのまま、違う部分だけ記号付きで表示される」と覚えると理解しやすいです。

5. 表示内容の見方を詳しく解説

5. 表示内容の見方を詳しく解説
5. 表示内容の見方を詳しく解説

@@ -1,2 +1,2 @@ の部分は、変更された位置を表しています。

少し難しく見えますが、簡単に説明すると次の通りです。

  • -1,2:元ファイルの1行目から2行分
  • +1,2:新しいファイルの1行目から2行分

つまり、「どの行が変更されたのか」を示しています。

初心者の方は、この部分よりも「+と-」に注目するだけでも十分理解できます。

6. よく使う組み合わせ例

6. よく使う組み合わせ例
6. よく使う組み合わせ例

-uオプションは他のオプションと組み合わせるとさらに便利です。

ディレクトリごと比較する例です。


diff -ru dir1 dir2
Only in dir2: newfile.txt

この例では、フォルダ内のファイルの違いも確認できます。

変更がある場合だけ表示する例です。


diff -u a.txt b.txt
--- a.txt
+++ b.txt
@@ -1,1 +1,1 @@
-old
+new

プログラムの修正確認や設定ファイルのチェックでよく使われます。

7. diffと他の比較方法との違い

7. diffと他の比較方法との違い
7. diffと他の比較方法との違い

diffにはいくつか表示形式がありますが、-uは特に実務でよく使われます。

  • 通常のdiff:少し読みにくい
  • -c:コンテキスト形式
  • -u:統一形式で最も見やすい

特にプログラム開発では、-u形式が標準的に使われています。

8. 初心者がつまずきやすいポイント

8. 初心者がつまずきやすいポイント
8. 初心者がつまずきやすいポイント

最初に戸惑いやすいポイントを整理しておきます。

  • 「-」と「+」の意味が分からない
  • どちらのファイルが基準か分からない

覚え方としては、「最初のファイルから2番目のファイルへの変更」と考えると分かりやすいです。

つまり、「file1からfile2へどう変わったか」を表示しています。

まとめ

まとめ
まとめ

diffコマンドと-uオプションの総復習

ここまで、Linuxにおけるファイル比較の基本となるdiffコマンドと、その中でも特に実務でよく使われる-uオプションについて詳しく解説してきました。diffコマンドは、テキストファイルの差分を確認するための非常に重要なLinuxコマンドであり、システム管理やプログラム開発、設定ファイルの変更確認など、幅広い場面で活用されます。

特に-uオプションは、統一フォーマットで差分を表示するため、変更箇所が視覚的に分かりやすくなるのが大きな特徴です。削除された行はマイナス記号、追加された行はプラス記号で表示されるため、どこがどのように変更されたのかを直感的に把握できます。

diff -uが役立つ具体的なシーン

diff -uは、日常的なLinux操作において多くの場面で役立ちます。例えば、設定ファイルの変更前後の比較や、プログラムコードの修正確認、バックアップファイルとの差分チェックなどがあります。特にシステムエンジニアやインフラエンジニアにとっては、変更管理の基本スキルとして欠かせない知識です。

また、Gitなどのバージョン管理システムでも、この統一フォーマットが採用されているため、diff -uに慣れておくことで、ソースコード管理の理解もスムーズになります。

コマンド操作の復習

基本的な使い方をもう一度確認しておきましょう。ファイル同士を比較する場合は、以下のように実行します。


diff -u file1.txt file2.txt
--- file1.txt
+++ file2.txt
@@ -1,2 +1,2 @@
Hello
-World
+Linux

このように、変更前と変更後の違いが明確に表示されるため、初心者でも理解しやすいのが特徴です。

実践的な活用例

実際の現場では、ディレクトリ単位での比較や、大量のファイル変更の確認なども行います。その場合は、再帰的に比較できるオプションと組み合わせることで、より効率的に作業ができます。


diff -ru old_dir new_dir
Only in new_dir: sample.txt

このようにディレクトリ全体の差分を確認できるため、プロジェクト全体の変更点を把握する際にも非常に便利です。

初心者が理解しておくべき重要ポイント

diff -uを使う上で重要なのは、最初のファイルが基準であり、二番目のファイルとの違いが表示されるという点です。つまり、file1からfile2へどのように変化したのかを確認するためのコマンドです。この考え方を理解しておくことで、表示内容の読み取りが格段に楽になります。

また、全てを一度に理解しようとするのではなく、まずはプラスとマイナスの意味をしっかり覚えることが大切です。これだけでも、日常的な差分確認は十分に対応できるようになります。

まとめのポイント整理

  • diffコマンドはファイルの差分比較に使用する基本コマンド
  • -uオプションは統一フォーマットで見やすく表示する
  • プラスは追加、マイナスは削除を意味する
  • プログラム開発や設定変更の確認に最適
  • Gitなどのバージョン管理とも関連が深い
先生と生徒の振り返り会話

生徒

diffコマンドって最初は難しそうだと思っていましたが、実際に使ってみると変更箇所がすぐ分かって便利ですね。特に-uオプションは見やすくて助かります。

先生

その通りです。diff -uはLinuxの中でも実務で非常によく使われるコマンドなので、今のうちにしっかり理解しておくと今後の作業がとても楽になりますよ。

生徒

プラスとマイナスの意味も理解できました。これならコードの変更確認にも使えそうです。

先生

はい、プログラムの修正確認や設定ファイルの比較にも非常に役立ちます。さらにディレクトリ単位での比較もできるので、実務ではかなり重宝します。

生徒

これからはファイルの違いを確認するときはdiff -uを使ってみます。

先生

ぜひ積極的に使ってください。Linuxコマンドは実際に触ることで理解が深まります。diff -uを使いこなせるようになれば、エンジニアとしてのスキルも一段と向上しますよ。

カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
patch -Rオプションの使い方を完全ガイド!初心者でもわかるLinuxでパッチを元に戻す方法
New2
テキスト・データ処理
less -Xオプションの使い方を完全ガイド!終了後も画面内容を残す方法
New3
ファイル・ディレクトリ操作
lsコマンドの-lオプションでファイルの詳細情報を一覧表示しよう!初心者でもわかる使い方と意味を徹底解説
New4
ディスクとファイルシステム管理
dfコマンドの使い方を完全ガイド!初心者でもわかるLinuxのディスク使用量確認方法
人気記事
No.1
Java&Spring記事人気No1
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
lsコマンドとは?Linuxでファイルやディレクトリを一覧表示する基本を初心者向けに解説