Linuxでテキストファイルの変更内容を確認する!(cp -pi/diff)

Linuxで設定ファイルなど、ファイルの変更した場合に、変更前後でファイルの差分を確認して、正しく変更できたか「diff」コマンドで確認します。

変更前のファイルのバックアップを取得する!

変更前のバックアップを取得します。ファイルのコピーは、「-p」オプションを使用して、ファイルの属性もコピーします。さらに、「-i」オプションも使用して、コピー先にファイルがすでに存在しないかの確認します。

$ sudo cp -pi /etc/hosts /tmp/hosts_bak

ファイルを内容を変更する!

ファイルの内容を変更します。今回は、「/etc/hosts」ファイルの末尾に1行追記します。

$ sudo vi /etc/hosts
...
10.1.99.6       server06

ファイルの差分を表示する!

変更内容を確認します。比較元に1行追加されたことが確認できます。

$ sudo diff /etc/hosts /tmp/hosts_bak
237d236
< 10.1.99.6       server06

変更を元に戻す!

変更前のバックアップを取得しておけば、変更前に戻すことは容易です。変更を戻したあとも、「diff」コマンドで確認を取りましょう。

$ sudo cp -pi /tmp/hosts_bak /etc/hosts
cp: overwrite '/etc/hosts'? y
$ sudo diff /etc/hosts /tmp/hosts_bak

おわりに

「diff」コマンドは、変更量が多くない場合に、正しく変更を行えたか確認するのに役立ちます。

関連記事

関連書籍(Kindle書籍リンク)