コマンドdiff パッケージからdiffutils ファイルを1行ずつ比較します。前回のバックアップ以降にファイルに最近変更があったかどうか、およびそれらが何であるかを確認する場合に非常に便利です。 0の終了ステータス 違いが見つからなかったことを意味します。1 いくつかの違いが見つかったことを意味し、2 トラブルを意味します。そしてもちろん、変更がある場合は、diff それらを表示します。しかし、いくつかの例を見てみましょう。
例1:両方のファイルの内容が同じ
アリスとボブはそれぞれバーベキューをしていて、メニューを公開しています。私が最も楽しむメニューを決定するために、次のようにメニューを比較することができます。
$ diff menu1 menu2
$ echo $?
0
$ cat menu{1,2}
# The menu
* Spare Ribs
* Brisket
* Pulled Pork
# The menu
* Spare Ribs
* Brisket
* Pulled Pork
ほら、どちらもスペアリブ、ブリスケット、プルドポークを提供しています。両方のファイルに違いはありません。たぶん、アリスとボブは力を合わせて本当に巨大なバーベキューを主催するべきです。
アリスとボブがパーティーを開いていると聞いたイブは、嫉妬し、バーベキューも主催することにしました。彼女のメニューにはファイルmenu3が付属しています 。さて、彼女のメニューの違いをアリスやボブと比較してみましょう。
例2:飲み物が含まれています
$ diff menu1 menu3
4a5,8
>
> # Drinks
> * Soda
> * Beer
$ echo $?
1
$
現在、違いがあります。そして、最初の行の出力で、diff (a)menu1に何を追加する必要があるかを教えてくれます menu3と同じコンテンツになるようにします 。つまり、4a5,8 これは、menu1の4行目の後にいくつかの行を追加する必要があることを意味します menu3の5〜8行目のように表示されます 。
ファイルの位置を切り替えると、出力は異なって見えます:
$ diff menu3 menu1
5,8d4
<
< # Drinks
< * Soda
< * Beer
さて、diff menu3の5〜8行目は ファイルをmenu1と同一にするために、削除する必要があります(d) 。
例3:変更するものがある場合
menu1を編集しました およびmenu2 再びこのようになります:
# The menu
* Spare Ribs
* Brisket
* Pulled Pork
# The menu
* Spare Ribs
* Pulled Pork
* Pulled Pork
今回は、diff 両方のファイルを同じように見せるために、どちらの行を変更する必要があるかを示します(c):
$ diff menu1 menu2
3c3
< * Brisket
---
> * Pulled Pork
まとめ
diff コマンドは、ファイルを1行ずつ比較するための簡単で柔軟なツールです。 diff(1)をご覧ください diffで他に何ができるかを理解する 。
[システム管理者のスキルをテストしたいですか?今日、スキル評価を受けてください。 ]