Tag: linux Tag: ubuntu

変更したファイル、変更前のファイルの違いを出力してくれる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;

を追加挿入する。