Если Вы хотите программный доступ, см. Информация о версии в MSDN для API и структур данных, в которых Вы нуждаетесь.
Думаю, исторические причины. Между тем, -q подавляет вывод «MD5 (...) =», поэтому md5 -q checkum.md5 дает
9eb7a54d24dbf6a2eb9f7ce7a1853cd0
Это подразумевается, если md5 не получает никаких аргументов и читает из stdin. К сожалению, md5sum в этом случае оставляет «-» за контрольной суммой («9eb7a54d24dbf6a2eb9f7ce7a1853cd0 -»), поэтому, если вы ищете какую-то универсальную функцию для возврата контрольной суммы, вот что может помочь:
checksum() { (md5sum <"$1"; test $? = 127 && md5 <"$1") | cut -d' ' -f1 } checksum /etc/hosts
На странице руководства FreeBSD говорится об аргументах
-p Echo stdin to stdout and append the checksum to stdout.-q Quiet mode ‐ only the checksum is printed out. Overrides the -r option. -r Reverses the format of the output. This helps with visual diffs. Does nothing when combined with the -ptx options. -t Run a built‐in time trial. -x Run a built‐in test script.