Как я могу видеть историю Bash больше чем от одного терминального сеанса в Ubuntu? [дубликат]

Возможный дубликат:
Файлы истории могут быть объединены в ударе?

Я использую Сервер Ubuntu 9.10, и я хотел бы смочь видеть свою историю удара больше чем для одного терминального сеанса. Т.е. мои последние 200 команд или так, даже если я вышелся из системы промежуточный.

Когда я использую history Я просто вижу все команды от своего фактического терминального сеанса. Как я могу видеть больше истории команд от Bash? Есть ли какие-либо определенные настройки для удара, который я должен изменить от значений по умолчанию в Ubuntu?

У меня нет a ~/.bash_history файл. Но я имею ~/.bashrc с HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups и HISTCONTROL=ignoreboth

echo $HISTFILE
/home/sanoj/.bash_history
echo $HISTSIZE
500
echo $HISTFILESIZE
500
echo $HISTCONTROL
ignoreboth

ОБНОВЛЕНИЕ: Я теперь пробую Сервер Ubuntu 10.10 в VirtualBox. Если я просто выключаю VirtualBox без команды завершения работы, то следующее время, когда я загружаюсь, команды от последней сессии, не сэкономлено в файле истории.

Команды только сохраняются, если я завершаю работу машины с командой завершения работы. Например, завершите работу-P 0.

Это должно быть причиной для моей проблемы. Таким образом, я должен выяснить, как сохранять историю команд чаще. Например, после каждой команды.

11
задан 20.03.2017, 12:04

4 ответа

Можно использовать

history -a

сразу добавить историю в оперативной памяти в файл истории. Один терминальный сеанс не видит чей-либо, если это не сделано, или другой выходится.

Можно использовать

history 200 | less

видеть то количество записей.

В дополнение к HISTSIZE посмотрите запись в странице справочника Bash относительно HISTFILESIZE.

6
ответ дан 07.12.2019, 12:23

После того как Вы выходите из системы, история добавляется в файл ~/.bash_history. Взгляните там.

По умолчанию это будет помнить Ваши последние 500 команд. Если Вы хотите сохранить более набор переменная HISTSIZE в ~/.bashrc.

Я также добавляю ignoredups кому: HISTCONTROLHISTCONTROL=$HISTCONTROL:ignoredup). Это делает дублирующиеся последовательные команды, чтобы быть, сохраняют только однажды.

Взгляните на man 1 bash поскольку, что еще можно настроить об истории.

6
ответ дан 07.12.2019, 12:23

Sanoj, это действительно должно "просто работать"; я не думаю, там, как предполагается, что-либо специальное, которое необходимо сделать для включения этого. Это кажется, что что-то вмешивается в нормальный ход событий.

Я посмотрел бы в/etc/profile,/etc/bashrc (или возможно/etc/bash.bashrc согласно некоторым источникам), ~/.bash_profile, ~/.bashrc, ~/.bash_login, ~/.bash_logout, чтобы видеть, существует ли что-нибудь, что могло бы влиять на историю (возможно, grep -i hist на каждом из вышеупомянутых файлов).

... В особенности интересно, есть ли у Вас что-то в ~/.bash_logout, который удаляет файл.

С другой стороны, это возможный, что что-то переопределяет $HOME переменная?

0
ответ дан 07.12.2019, 12:23

история удара обычно загружается, когда оболочка начинает работать и сохраняется, когда из нее обычно выходят. Можно использовать history -a и history -n переопределять это, но не автоматически, если Вы не злоупотребляете $PROMPT_COMMAND или что-то подобное.

1
ответ дан 07.12.2019, 12:23

Теги

Похожие вопросы