変更したファイル、変更前のファイルの違いを出力してくれるdiffコマンド。結果の見方を確認します。
参考URL
- テキスト比較ツール(コマンド)の解説あり
サンプル1
QHMの4.57などでlib/func.php を変更した時。変更前のファイルをfunc.php.20140521として保存しておいたので、この二つを比較。
対象ファイル
- 変更前:func.php.20140521
- 変更後:func.php
diffコマンド実行
diff func.php func.php.20140521
出力内容
309,314c309
< //return hex2bin($key);
< if (function_exists('hex2bin')) {
< return hex2bin($key);
< } else {
< return internal_hex2bin($key);
< }
---
> return hex2bin($key);
318,319c313
< //function hex2bin($hex_string)
< function internal_hex2bin($hex_string)
---
> function hex2bin($hex_string)
321,324c315,318
< // preg_match : Avoid warning : pack(): Type H: illegal hex digit ...
< // (string) : Always treat as string (not int etc). See BugTrack2/31
< return preg_match('/^[0-9a-f]+$/i', $hex_string) ?
< pack('H*', (string)$hex_string) : $hex_string;
---
> // preg_match : Avoid warning : pack(): Type H: illegal hex digit ...
> // (string) : Always treat as string (not int etc). See BugTrack2/31
> return preg_match('/^[0-9a-f]+$/i', $hex_string) ?
> pack('H*', (string)$hex_string) : $hex_string;
327,349d320
<
<
<ここに内容を書く)
内容の確認
数字の「309,314c309」、「318,319c313」、「321,324c315,318」、「327,349d320」が変更箇所が4箇所、それが何行目かを示しています。「c」は変更、「d」はfunc.php.20140521で削除、「a」はないですが、aはfunc.php.20140521で追加された内容を意味します。
そして、「309,314c309」に着目すると、
309,314c309 ・・・(A)
< //return hex2bin($key); ・・・(B1)
< if (function_exists('hex2bin')) {
< return hex2bin($key);
< } else {
< return internal_hex2bin($key);
< } ・・・(B2)
--- ・・・(C)
> return hex2bin($key); ・・・(D)
(A)は、func.php func.php.20140521 とした時に、func.phpの309行目から314行目とfunc.php.20140521の309行目で内容の変更があり、diffの左側のファイルで行頭に「<」の付いている内容、diffの右側のファイルで行頭に「>」の付いている内容だと示しています。
二つを並べると次のような事になります。
diff func.php | func.php.20140521 ----------------------------------------+-------------------------------------- 変更後 | 変更前 ----------------------------------------+-------------------------------------- //return hex2bin($key); | return hex2bin($key); if (function_exists('hex2bin')) { | return hex2bin($key); | } else { | return internal_hex2bin($key); | } |
318,319c313
< //function hex2bin($hex_string)
< function internal_hex2bin($hex_string)
---
> function hex2bin($hex_string)
変更後 | 変更前 ----------------------------------------+-------------------------------------- //function hex2bin($hex_string) | function hex2bin($hex_string) function internal_hex2bin($hex_string) |
321,324c315,318
< // preg_match : Avoid warning : pack(): Type H: illegal hex digit ...
< // (string) : Always treat as string (not int etc). See BugTrack2/31
< return preg_match('/^[0-9a-f]+$/i', $hex_string) ?
< pack('H*', (string)$hex_string) : $hex_string;
---
> // preg_match : Avoid warning : pack(): Type H: illegal hex digit ...
> // (string) : Always treat as string (not int etc). See BugTrack2/31
> return preg_match('/^[0-9a-f]+$/i', $hex_string) ?
> pack('H*', (string)$hex_string) : $hex_string;
変更後
// preg_match : Avoid warning : pack(): Type H: illegal hex digit ... // (string) : Always treat as string (not int etc). See BugTrack2/31 return preg_match('/^[0-9a-f]+$/i', $hex_string) ? pack('H*', (string)$hex_string) : $hex_string;
変更前
// preg_match : Avoid warning : pack(): Type H: illegal hex digit ... // (string) : Always treat as string (not int etc). See BugTrack2/31 return preg_match('/^[0-9a-f]+$/i', $hex_string) ? pack('H*', (string)$hex_string) : $hex_string;
※ 先頭の空白の個数が変わったのでしょうか?
327,349d320
<
<
<ここに内容を書く)
変更後 | 変更前 ----------------------------------------+-------------------------------------- | | ここに内容を書く) |
サンプル2
postgresqlのホスト、データベースの接続認証に関する設定ファイルpg_hba.confを変更した時の出力内容。
対象ファイル
- 変更前:pg_hba.conf_20140527
- 変更後:pg_hba.conf
diffコマンド実行
diff pg_hba.conf pg_hba.conf_20140527
出力結果
87d86
< local all www-data trust
92,93c91
< #local all all peer
< host all all 192.168.1.1/24 trust
---
> local all all peer
95,96c93
< #host all all 127.0.0.1/32 md5
< host all all 127.0.0.1/32 trust
---
> host all all 127.0.0.1/32 md5
説明
87行目に以下の行を挿入追加
local all www-data trust
92行目の
local all all peer
を
#local all all peer host all all 192.168.1.1/24 trust
95行目の
host all all 127.0.0.1/32 md5
を
#host all all 127.0.0.1/32 md5 host all all 127.0.0.1/32 trust
とする。
サンプル3
postgresql.confの設定を変更した時の比較。
対象ファイル
- 変更前:postgresql.conf_20140527
- 変更後:postgresql.conf
diffコマンド実行
diff postgresql.conf postgresql.conf_20140527
出力結果
60d59
< listen_addresses = '*' # what IP address(es) to listen on;
root@ubuntu1404-101:/etc/postgresql/9.3/main#
説明
60行目に
listen_addresses = '*' # what IP address(es) to listen on;
を追加挿入する。