Для меня less
ведет себя так, как вы описываете - мне нужно использовать, less -X
чтобы отключить это поведение.
Вы можете явно попытаться использовать « альтернативный экранный буфер », который реализуют многие терминалы.
Это используется редакторами, такими как vim
/ nano
, так что при выходе терминал восстанавливается так, как это было раньше.
Попробуй это:
tput smcup ls | less tput rmcup
Если tput
недоступно, попробуйте использовать echo $'\e[?1049h'
/ echo $'\e[?1049l'
соответственно.