Возможный дубликат:
Файлы истории могут быть объединены в ударе?
Я использую Сервер 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.
Это должно быть причиной для моей проблемы. Таким образом, я должен выяснить, как сохранять историю команд чаще. Например, после каждой команды.
Можно использовать
history -a
сразу добавить историю в оперативной памяти в файл истории. Один терминальный сеанс не видит чей-либо, если это не сделано, или другой выходится.
Можно использовать
history 200 | less
видеть то количество записей.
В дополнение к HISTSIZE
посмотрите запись в странице справочника Bash относительно HISTFILESIZE
.
После того как Вы выходите из системы, история добавляется в файл ~/.bash_history
. Взгляните там.
По умолчанию это будет помнить Ваши последние 500 команд. Если Вы хотите сохранить более набор переменная HISTSIZE
в ~/.bashrc
.
Я также добавляю ignoredups
кому: HISTCONTROL
(с HISTCONTROL=$HISTCONTROL:ignoredup
). Это делает дублирующиеся последовательные команды, чтобы быть, сохраняют только однажды.
Взгляните на man 1 bash
поскольку, что еще можно настроить об истории.
Sanoj, это действительно должно "просто работать"; я не думаю, там, как предполагается, что-либо специальное, которое необходимо сделать для включения этого. Это кажется, что что-то вмешивается в нормальный ход событий.
Я посмотрел бы в/etc/profile,/etc/bashrc (или возможно/etc/bash.bashrc согласно некоторым источникам), ~/.bash_profile, ~/.bashrc, ~/.bash_login, ~/.bash_logout, чтобы видеть, существует ли что-нибудь, что могло бы влиять на историю (возможно, grep -i hist
на каждом из вышеупомянутых файлов).
... В особенности интересно, есть ли у Вас что-то в ~/.bash_logout, который удаляет файл.
С другой стороны, это возможный, что что-то переопределяет $HOME
переменная?
история удара обычно загружается, когда оболочка начинает работать и сохраняется, когда из нее обычно выходят. Можно использовать history -a
и history -n
переопределять это, но не автоматически, если Вы не злоупотребляете $PROMPT_COMMAND
или что-то подобное.