使用数据、文件所有权和权限等生成文件摘要

使用数据、文件所有权和权限等生成文件摘要

如果数据仍然相同但所有权已更改(或权限、访问/创建时间等),我希望能够检测到文件何时被视为不同。

有这样的工具吗?

答案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_fileby 的唯一行为tar可能会更新其 atime(取决于安装选项),因此忽略 atime 很可能是一件好事。
  • 如果 出现问题tar,您仍然会得到一些摘要(空输入的摘要)并从 退出状态 0 sha256sum。看获取通过管道传输到另一个进程的退出状态
  • tar存储路径。该方法不仅对文件的实际名称敏感,而且主要对路径名敏感你提供。例如,指定./the_file将为您提供与 不同的摘要the_file。为了可靠地检测更改,请选择一个路径名并坚持使用。
  • 您可以使用其他*sum工具(例如md5sum)。选择一个并坚持下去。

相关内容