{category}

Linux - テキスト操作

diff

ディフ(テキスト処理とシェル

意味 ファイル比較コマンド


diffとは?

diffは、2つのファイルの内容を比較し、その違いを表示するLinuxコマンドです。テキストファイルの変更点を確認したり、ファイルの更新履歴を追跡したりする際に便利です。

diffの具体的な使い方

基本的なファイル比較

$ cat file1.txt
Hello, World!
This is file1.

$ cat file2.txt
Hello, World!
This is file2.

$ diff file1.txt file2.txt

👇出力結果

2c2
< This is file1.
---
> This is file2.

2つのファイルの内容を比較し、違いがある行を表示します。'<'は最初のファイルにのみ存在する行、'>'は2番目のファイルにのみ存在する行を示します。

統一形式(unified format)の比較

$ diff -u file1.txt file2.txt

👇出力結果

--- file1.txt	2023-05-01 12:00:00.000000000 +0900
+++ file2.txt	2023-05-01 12:01:00.000000000 +0900
@@ -1,2 +1,2 @@
 Hello, World!
-This is file1.
+This is file2.

統一形式でファイルの差分を表示します。この形式は変更箇所の前後の文脈も含めて表示するため、より詳細な比較が可能です。'-'は削除された行、'+'は追加された行を示します。

ディレクトリの比較

$ diff -r dir1 dir2

👇出力結果

diff -r dir1/file1.txt dir2/file1.txt
2c2
< This is file1 in dir1.
---
> This is file1 in dir2.
Only in dir2: newfile.txt

2つのディレクトリの内容を再帰的に比較します。-rオプションを使用することで、サブディレクトリも含めて比較できます。

diffに関するよくある質問

Q. diffコマンドの基本的な使い方は?
A. 基本的な使い方は 'diff ファイル1 ファイル2' です。これにより、2つのファイルの違いが表示されます。
Q. diffの出力の '<' と '>' は何を意味する?
A. '<' は最初のファイルにのみ存在する行を、'>' は2番目のファイルにのみ存在する行を示します。
Q. diffで行番号を表示するには?
A. -nオプションを使用します。例:'diff -n file1.txt file2.txt'

diffが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Linuxのdiffや<()、>>、&、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Linuxを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Linuxはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

<()

コマンドの出力をファイルとして扱う

種類: プロセス置換

>>

追記リダイレクト

種類: ストリーム制御

&

コマンドをバックグラウンドで実行

種類: バックグラウンド実行

find

ファイルやディレクトリの検索

種類: ファイル操作

netstat

ネットワーク接続情報表示

種類: パフォーマンス監視