Dot-mitsu, вся история хранится в файле
.bash_history, который лежит в хомяке, но пишется она туда только после выхода из терминала.
Например, ты открыл по Ctrl+Alt+T два окна эмуляторов терминала, и одновременно в любом текстовом редакторе открыл для просмотра файл .bash_history, в одном из открытых терминалов выполнил, скажем, команду
lsb_release -a, а в другом
uname -a, обе команды отработали, каждая в своем окне, но при этом в
.bash_history ничего не изменилось. Теперь выйдем из одного эмулятора терминала (причем не важно как, хоть по Ctrl+D, хоть командой exit, хоть просто закрыв окно) и тут же в конец файла
.bash_history будет дописана команда, которая выполнялась именно в этом эмуляторе, и до его закрытия хранилась в памяти, при этом во втором, все еще открытом эмуляторе, этой команды пока видно не будет, т.к. он работает только с содержимым
.bash_history, которое в нем было на момент открытия именно этого экземпляра эмулятора плюс команды выполненные в нем. Если в этот момент открыть новое, ТРЕТЬЕ, окно эмулятора терминала, то он будет видеть только содержимое
.bash_history без команд выполнявшихся во ВТОРОМ (все еще открытом), а если Второй закрыть, то его команды тут же будут дописаны в
.bash_history, но ТРЕТИЙ их не увидит, зато если теперь открыть ЧЕТВЕРТЫЙ, то в нем они будут...
В общем, как-то так
Пользователь добавил сообщение 24 Декабря 2016, 11:44:13:
да, если откроете два терминала, что-то в них сделаете, а потом закроете, то история сохранится только от последнего закрытого
а если закроете оба, то история сохранится от обоих, но не втой последовательности как команды выполнялись, а втой как закрывались окна терминалов...
Пользователь добавил сообщение 24 Декабря 2016, 11:55:47:
И к стати сказать, файл
.bashrc не хранит историю, а всего лишь
определяет поведение командной оболочки