有没有办法对子文件夹中的所有文件进行 md5sum?
Is there a way of making an md5sum of all files in subfolders?
我有几个电报数据导出,我想计算所有文件的 md5 和 sha256 哈希,但它只计算根目录中的那些
$ md5sum `ls` > hash.md5
md5sum: chats: Is a directory
md5sum: css: Is a directory
md5sum: images: Is a directory
md5sum: js: Is a directory
md5sum: lists: Is a directory
md5sum: profile_pictures: Is a directory
这在输出文件中
7e315ce28aa2f6474e69a7b7da2b5886 export_results.html
66281ec07a2c942f50938f93b47ad404 hash.md5
da5e2fde21c3e7bbbdb08a4686c3d936 ID.txt
有办法把这样的东西弄出来吗?
5750125fe13943f6b265505b25828400 js/script.js
对不起我的英语
与bash:
shopt -s globstar
md5sum ** >/tmp/hash.md5
忽略此类错误:md5sum: foobar: Is a directory
来自man bash
:
globstar
: If set, the pattern ** used in a pathname expansion context will match all files and zero or more directories and subdirectories. If the pattern is followed by a /, only directories and subdirectories match.
或者,您可以使用 find
和 -exec
选项:
find topdir -type f -exec md5sum {} + > MD5SUMS
将 topdir
替换为实际的目录名称,如果您想在当前目录(及其子目录,如果有的话)上工作,则将其删除。这只会计算常规文件的校验和(因此,不会出现“md5sum: something: Is a directory”错误),并且不会受到“参数列表的影响太长”问题。
一个有帮助但可能不会默认安装的工具是 hashdeep
。
hashdeep
直接做并且有更多的优势,例如二进制也适用于 Windows。
您的问题将使用 hashdeep
和以下命令来回答:
hashdeep -c md5,sha256 -r -o f -l . > hash.md5
一条命令计算所有子目录下所有文件的md5和sha256
由于文件的缓存效应,同时创建 md5 和 sha256 可能会更快。此外,该命令还有一个使用多线程的选项,这可以使用 multi-core 个 CPU 和快速磁盘来加快任务速度。
我有几个电报数据导出,我想计算所有文件的 md5 和 sha256 哈希,但它只计算根目录中的那些
$ md5sum `ls` > hash.md5
md5sum: chats: Is a directory
md5sum: css: Is a directory
md5sum: images: Is a directory
md5sum: js: Is a directory
md5sum: lists: Is a directory
md5sum: profile_pictures: Is a directory
这在输出文件中
7e315ce28aa2f6474e69a7b7da2b5886 export_results.html
66281ec07a2c942f50938f93b47ad404 hash.md5
da5e2fde21c3e7bbbdb08a4686c3d936 ID.txt
有办法把这样的东西弄出来吗?
5750125fe13943f6b265505b25828400 js/script.js
对不起我的英语
与bash:
shopt -s globstar
md5sum ** >/tmp/hash.md5
忽略此类错误:md5sum: foobar: Is a directory
来自man bash
:
globstar
: If set, the pattern ** used in a pathname expansion context will match all files and zero or more directories and subdirectories. If the pattern is followed by a /, only directories and subdirectories match.
或者,您可以使用 find
和 -exec
选项:
find topdir -type f -exec md5sum {} + > MD5SUMS
将 topdir
替换为实际的目录名称,如果您想在当前目录(及其子目录,如果有的话)上工作,则将其删除。这只会计算常规文件的校验和(因此,不会出现“md5sum: something: Is a directory”错误),并且不会受到“参数列表的影响太长”问题。
一个有帮助但可能不会默认安装的工具是 hashdeep
。
hashdeep
直接做并且有更多的优势,例如二进制也适用于 Windows。
您的问题将使用 hashdeep
和以下命令来回答:
hashdeep -c md5,sha256 -r -o f -l . > hash.md5
一条命令计算所有子目录下所有文件的md5和sha256
由于文件的缓存效应,同时创建 md5 和 sha256 可能会更快。此外,该命令还有一个使用多线程的选项,这可以使用 multi-core 个 CPU 和快速磁盘来加快任务速度。