我最近安装了 Linux,我知道你可以在终端中使用“md5sum filename”,但在 Windows 上有一个很棒的软件叫做标签将其合并到 shell 中。
它很棒,你只需右键单击一个文件,它就会为你提供 md5、crc32 和 sha-1,并且它会提供一个框,你可以在其中复制实际的 md5,然后它会为你进行比较。我认为这个程序很巧妙,我希望 Linux 有一个替代方案。有人知道吗?
答案1
作为前 Windows XP 用户,我习惯于使用 Windows 资源管理器属性窗口中的 Hashtab 工具。在寻找与此方便的 Hastab 工具相同的 Ubuntu GNU Linux 版本时,我最近偶然发现了一款名为“GtkHash”适用于 Ubuntu GNU Linux(只需在“Ubuntu 软件中心”搜索“GtkHash”)。
在 Ubuntu 10.10 Maverick Meerkat 中安装“GtkHash”仅需几秒钟,之后可以在以下位置找到该工具:
- 应用
- 配件
- 哈希表
- 配件
哈希表支持如下哈希函数:
- MD5
- SHA1
- SHA256
- SHA512
- 瑞普德
- 哈弗
- 老虎
- 惠而浦
- 和别的。
我个人认为“GtkHash”是我在 Windows XP 时代在 Ubuntu GNU Linux 上使用的 hashtab 工具体验的最佳替代品。
向全世界所有的 Linux 用户问好!:)
答案2
我认为这是第二好的选择。将以下代码放入$HOME/.gnome2/nautilus-scripts
:
#!/bin/sh
# Released into the public domain.
#
for arg
do
md5=$(md5sum "$arg" | awk '{print $1}')
sha1=$(sha1sum "$arg" | awk '{print $1}')
crc32=$(crc32 "$arg")
gdialog --title "Hashes" --msgbox "File $arg\nmd5 $md5\nsha1 $sha1\ncrc32 $crc32" 800 1100
done
我将文件命名为hashes
,但您可以随意命名。请确保设置执行权限(例如chmod +x hashes
)。
这是我承诺的第二部分:
#!/bin/sh
# Released into the public domain.
#
for arg
do
md5=$(md5sum "$arg" | awk '{print $1}')
md5compare=$(gdialog --title "MD5 comparison" --inputbox "MD5 hash to compare:" 200 3>&1 1>&2 2>&3)
if [ "$md5compare" = "$md5" ]; then
gdialog --title "Match" --msgbox "Match confirmed" 200 200
else
gdialog --title "No match" --msgbox "No match" 200 200
fi
done
我称这个第二个脚本为compare hashes
。
编辑:这是最终版本。这个版本同时执行哈希和循环比较,while
以便可以进行多次比较。
#!/bin/sh
# Released into the public domain.
#
for arg
do
md5=$(md5sum "$arg" | awk '{print $1}')
sha1=$(sha1sum "$arg" | awk '{print $1}')
crc32=$(crc32 "$arg")
compare_msg="MD5 hash to compare:"
md5compare=$(gdialog --title "Hashes and MD5 comparison" --inputbox "File $arg\nmd5\t\t$md5\nsha1\t\t$sha1\ncrc32\t$crc32\n\n$compare_msg" 1100 3>&1 1>&2 2>&3 )
while [ $? -eq 0 ]
do
if [ "$md5compare" = "$md5" ]; then
compare_msg="Match confirmed"
else
compare_msg="No match\n\t\t$md5compare"
fi
md5compare=$(gdialog --title "Hashes and MD5 comparison" --inputbox "File $arg\nmd5\t\t$md5\nsha1\t\t$sha1\ncrc32\t$crc32\n\n$compare_msg" 1100 3>&1 1>&2 2>&3 )
done
done
我把这个最终版本称为hash and compare
。
编辑:我只是添加了一些格式细节。
编辑:我知道如何避免使用临时文件。
答案3
我一直很喜欢方便、可编写脚本的 md5sum 命令。
不过,似乎有一个名为夏日在Sourceforge。
也许,它会对你有用。