ディレクトリとバイナリファイルを比較したいのですが。実際、私はファイル間の実際の違いが何であるかには興味がありませんが、違いがあるかどうか(そしてどのファイルが違うか)を知りたいのです。以前はmeld
を使用していましたが、バイナリファイルを比較することはできません。
そのようなファイル比較ツールはこれを何ができますか?
注:それがグラフィカルツールであるか、コマンドラインだけであるかは関係ありません。
これはdiff
で簡単に行えます。例えば:
$ ls -l foo/
total 2132
-rwxr-xr-x 1 terdon terdon 1029624 Nov 18 13:13 bash
-rwxr-xr-x 1 terdon terdon 1029624 Nov 18 13:13 bash2
-rwxr-xr-x 1 terdon terdon 118280 Nov 18 13:13 ls
$ ls -l bar/
total 1124
-rwxr-xr-x 1 terdon terdon 1029624 Nov 18 13:14 bash
-rwxr-xr-x 1 terdon terdon 118280 Nov 18 13:14 ls
$ diff bar/ foo/
Only in foo/: bash2
上記の例では、foo/
およびbar/
ディレクトリにバイナリファイルが含まれており、bash2
はfoo/
にのみ存在します。
したがって、次のような単純なものを実行できます。
$ diff bar/ foo/ && echo "The directories' contents are identical"
異なるファイルがある場合はそれが表示され、同じ場合は「ディレクトリの内容が同一」と表示されます。サブディレクトリとそれらに含まれる可能性のあるファイルを比較するには、diff -r
を使用します。 -q
と組み合わせて、テキストファイルの出力を抑制します。
cmp
コマンドを使用して2つのファイルを比較できます
用途:
cmp file1 file2
それは数バイトの違いと行番号を与えます