Existe para todos os seus requisitos (mas não para salvá-los) e é chamado screen
.
Quanto a salvar as sessões:
- Como há apenas um
.bash_history
por usuário, é muito difícil manter históricos diferentes, não conheço essa possibilidade. - Uma sessão pode ter facilmente um estado não restaurável, por ex. pense em ter uma conexão SSH aberta - não é possível restaurá-la após uma reinicialização. Essa é uma diferença sistemática entre uma sessão do navegador e uma sessão do shell.