para a) Existe um utilitário chamado "tail" que mostra as últimas linhas de um arquivo e, opcionalmente, monitora um arquivo para novas linhas adicionadas ao final:
$ tail -f /path/toFile.txt
O pager menor também tem a capacidade de seguir as alterações, pressionando shift-F faz com que ele entre em um modo muito parecido com tail -f, com a vantagem de pressionar o botão ctrl-c para voltar à visualização normal do arquivo modo, para que você possa rolar para trás pelo arquivo ou pesquisá-lo sem fechá-lo.
para b) Existe um utilitário padrão chamado tee apenas para esse propósito ( link )
Você provavelmente desejará algo como o seguinte:
command 2>&1 | tee -a /path/toFile.txt | less
O | less
no final é obviamente opcional, mas esteja ciente de que, se você incluí-lo, o fechamento de menos provavelmente também fechará o comando que você está executando.
Como um aparte, se este for um processo de longa duração, considere strongmente executá-lo sob nohup ou executá-lo dentro da tela, para que ele sobreviva a um logout.