Se você quiser que a parte superior apareça o tempo todo, você pode usar a tela ou tmux . Embora esse não seja o recurso mais usado, ambos os programas oferecem suporte à divisão de uma janela em dois. Assim, você pode executar o seu shell interativo na janela inferior e usar um alias para cd e exibir as coisas na janela superior. Uma maneira fácil de fazer esse último bit é criar um canal nomeado ( mkfifo ~/.window-pipe-$PPID onde $PPID é o ID do processo screen ou tmux process) e executar um script como este na janela superior (sintaxe sh , adapte-se a csh se precisar):
while read -r dir; do
printf '3[?9l%s' "$dir"
cd "$dir"
ls -lt
done <~/.window-pipe-$PPID
Você pode querer truncar a saída de ls para caber na janela, já que é provavelmente mais útil manter as primeiras linhas que as últimas linhas, se não couberem. Na janela inferior, a substituição cd seria uma função como (novamente, estou usando a sintaxe sh):
cd () {
builtin cd "$@" && pwd >~/.window-pipe-$PPID
}