Sum*_*ukh 23 command-line md5sum
我想列出(并保存)目录中所有文件的 Md5 校验和,并将该列表保存在名为的文本文件中 md5sum.txt
如果可以的话也很好
tree命令中(创建文件夹和文件的树结构)Zan*_*nna 43
您可以使用find(在目录中)
find -type f -exec md5sum '{}' \; > md5sum.txt
Run Code Online (Sandbox Code Playgroud)
如果要排除md5sum.txt文件本身,可以这样做:
find -type f \( -not -name "md5sum.txt" \) -exec md5sum '{}' \; > md5sum.txt
Run Code Online (Sandbox Code Playgroud)
您还可以使用循环:打开递归通配符
shopt -s globstar
Run Code Online (Sandbox Code Playgroud)
然后,在目录中:
for i in **; do [[ -f "$i" ]] && md5sum "$i" >> md5sum.txt; done
Run Code Online (Sandbox Code Playgroud)
您也可以从这个文件中排除文件本身:
for i in **; do
[[ -f "$i" ]] &&
[[ md5sum.txt != "$i" ]] &&
md5sum "$i" >> md5sum.txt
done
Run Code Online (Sandbox Code Playgroud)
这些都不会产生类似tree结构。但是他们确实从起始目录打印了文件的相对路径。如果你想要绝对路径,请使用find /path/to/directory ...
之后您可能想关闭 globstar ( shopt -u globstar)