Форматирование строк может привести к тому, что hexdump будет вести себя именно так, как вы этого хотите (без пробелов вообще, побайтно):
hexdump -ve '1/1 "%.2x"'
1/1
означает «каждый формат применяется один раз и занимает один байт», а "%.2x"
- фактическая строка формата, как в printf. В этом случае: двухзначное шестнадцатеричное число, ведущие нули, если короче.