Это следующая лучшая вещь, я думаю.  Поместите следующий код в $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 .
РЕДАКТИРОВАТЬ: я только добавил некоторые тонкости форматирования.
РЕДАКТИРОВАТЬ: я понял, как избежать использования временного файла.