Normalmente, unbuffer não lê stdin . Para usar unbuffer em um pipeline, use o sinalizador -p . Exemplo:
process1 | unbuffer -p process2 | process3
Essa é a maneira de fazer isso. Mas você usou unbuffer no último processo, o que não faz sentido e não funciona (obviamente). Então, seu comando deve procurar:
unbuffer xxd -ps /usr/bin/telnet | less
Explicação: unbuffer desativa o buffer de saída que ocorre quando a saída do programa é redirecionada de programas não interativos. Mas less não está sendo redirecionado.
Fonte de todo este texto: manpage of unbuffer.