Просмотр истории терминала


ramok аватар

ramok - Posted on 12 Ноябрь 2007

Бывает вы выполнили какую то команду, вывелось слишком уж много текста и текст убежал за пределы терминала, и вы не успели его приостановить . Совсем не обязательно перезапускать команду используя пейджеры типа less или more. Стандартно в текстовом терминале linux и xterm-совместимых терминалах под X-Windonds для что бы посмотреть историю терминала используется клавиши shift-pgup/shift-pgdown.

Во FreeBSD в текстовой консоли нужно нажать и отпустить Scroll Lock и просматривать историю просто pgup/pgdown.

Очень удобно использовать для таких целей screen. Кроме прочих вкусностей в ней можно нажать ctrl-a ESC и перейти таким образом в режим просмотра истории терминала. Можно использовать стандартные стрелочки и pgup/pgdown, но иногда они не работают на некоторых терминалах и можно использовать vi клавиши навигации по тексту ctrl-f/ctrl-b пол экрана вперед/назад. Выйти из этого режима можно по ESC.

0
Ваша оценка: Ничего

Добрый день а не подскажете как заставить при старте screen выполнить определенные команды?
типа HISTCONTROL=ignoredups
или как заставить его помнить алиасы пользователя?

судя по вопросу, это не относится к screen. это относится к настройкам вашего shell.

если у вас bash то нужные команды и алиасы нужно прописать в
~/.bashrc
~ <- обозначает каталог вашего пользователя
этот файл будет вызыватся при каждом новом открытом шеле.
узнать какой у вас шел можно командоы

echo $SHELL

--
Signature invent in progress 24% ##........

вот точно что хотелось
файл .bash_profile
там написано

CUT..................
HISTCONTROL=ignoredups
HISTFILESIZE=1000
HISTSIZE=1000
CUT.............

такие строки. Запуск команды

set |grep HIST
дает

HISTFILE=/root/.bash_history
HISTCONTROL=ignoredups
HISTFILESIZE=1000
HISTSIZE=1000

далее запуcкаем screen
повтор set |grep HIST

HISTFILE=/root/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000

ааа и ничего уже нет почему так ? где поправить?

надо перенести эти строки в ~/.bashrc
дело в том что ~/.bash_profile запускается когда запускается интерактивный шел, а когда screen запускает shell для вас, это считается не интерактивным шелом, и ~/.bash_profile не выполняется, зато выполняется ~/.bashrc
--
Signature invent in progress 24% ##........

аааа, еще раз спасибо, я уж давно после screen
набирал CTRL+R igno

HISTCONTROL=ignoredups

кстати неплохой совет написать можно, я помню у меня тоже была такая проблема и думаю не у одних нас она была Ж:-)
кстати можно было бы воспользоватся этим советом
http://linsovet.com/screen-run-with-current-history
--
Signature invent in progress 24% ##........