gpt4 book ai didi

Linux:计算给定文件夹和内容的单个哈希?

转载 作者:IT老高 更新时间:2023-10-28 12:26:38 24 4
gpt4 key购买 nike

肯定有一种方法可以轻松做到这一点!

我已经尝试过 Linux 命令行应用程序,例如 sha1summd5sum 但它们似乎只能计算单个文件的哈希值并输出一个列表哈希值,每个文件一个。

我需要为文件夹的全部内容(不仅仅是文件名)生成单个哈希。

我想做类似的事情

sha1sum /folder/of/stuff > singlehashvalue

编辑:澄清一下,我的文件位于目录树中的多个级别,它们并不都位于同一个根文件夹中。

最佳答案

一种可能的方法是:

sha1sum path/to/folder/* | sha1sum

If there is a whole directory tree, you're probably better off using find and xargs. One possible command would be

find path/to/folder -type f -print0 | sort -z | xargs -0 sha1sum | sha1sum

And, finally, if you also need to take account of permissions and empty directories:

(find path/to/folder -type f -print0  | sort -z | xargs -0 sha1sum;
find path/to/folder \( -type f -o -type d \) -print0 | sort -z | \
xargs -0 stat -c '%n %a') \
| sha1sum

stat 的参数将导致它打印文件名,后跟八进制权限。这两个查找将一个接一个地运行,导致磁盘 IO 量翻倍,第一个查找所有文件名并对内容进行校验和,第二个查找所有文件和目录名称,打印名称和模式。然后将对“文件名和校验和”列表,然后是“具有权限的名称和目录”进行校验和,以获得较小的校验和。

关于Linux:计算给定文件夹和内容的单个哈希?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/545387/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com