2020.04.21
STAFF BLOG
スタッフブログ
TECHNICAL
テクログ
こんにちはうなぎです。
IT開発者にとって避けては通れない数ある Linux コマンドのうちから、厳選してご紹介する不定期コーナー“素敵だら! Linux コマンド”。
緊急事態宣言中に紹介するのは「diff」!
■diff
diff はファイル同士の差分を教えてくれるコマンドです。
まずは通常の使い方から。例えば、
a.txt
1 2 3
b.txt
1 4 3
のようなファイルがあったとして、
diff a.txt b.txt
※変更前、変更後、の順番で指定
のように実行すると、
2c2
< 2
---
> 4
※一行目に表示されている英字はそれぞれ a(added)、d(deleted)、c(changed)を示しています
※「2c2」は a.txt の二行目から b.txt の二行目に変更があることを示しています
※ `-c` や `-u` オプションを付けると、差分がより見やすい形式で表示されます
のように差分箇所を確認することができます。
プログラマーで、コード管理を Git や Subversion で行っていれば、ほぼ使う機会もない機能ですが、オプションの組み合わせによって、利用するシーンの幅が広がります。
おすすめのオプション組み合わせは `-r` と `-q` と `–exclude` です。
diff -rq --exclude=.git src src.back
`-r` で複数のファイルを、再帰的に走査し、`-q` で差分のあるファイル名のみを取得し、 `–exclude` で走査不要なディレクトリ・ファイルを指定します。
例えば、あまりないとは思いますが、デプロイツールを使わず、cli から直接反映させるようなときに、複数ファイルに渡って反映前後での差分確認に使うことができます。
以上、知っておくと、いざという時に便利な diff でした!