データは同じですが、所有権(または権限、アクセス/作成時間など)が変更された場合にファイルが異なると見なされる時点を検出したいと思います。
そのようなツールがありますか?
答え1
提供された回答に記載されているように権限変更の検出、このコマンドを使用して、権限の変更時間と実際の権限を確認できますstat
。
したがって、次のように動作する必要があります。
stat -c "%a %Z" file | cat - file | sha1sum
答え2
tar -cf - --no-recursion the_file | sha256sum
メモ:
--no-recursion
the_file
ディレクトリタイプの場合。サブディレクトリなどではなく、ファイル自体の変更を検出したいとします。tar
時間は保存されません。これは、そのメソッドがatimeの変更を検出できないことを意味しますthe_file
。一方、読み取りthe_file
の唯一の作業はtar
atimeを更新できるため(インストールオプションに応じて)、atimeを無視するのはおそらく良いことです。- 問題が発生しても、
tar
いくつかのダイジェスト(空の入力のダイジェスト)が得られ、ステータス0で終了しますsha256sum
。バラより終了状態を別のプロセスにパイプにインポートする。 tar
保存パス。この方法は、ファイルの実際の名前だけでなく、主にパス名にも敏感です。あなたは提供。たとえば、指定すると、とは./the_file
異なる要約が提供されますthe_file
。安定した変更を検出するには、パス名を選択してそのまま使用してください。*sum
他のツール(たとえば)を使用できますmd5sum
。 1つを選択し、それに忠実です。