История команд между сессиями не сохраняется. Я использую Guake и история для сессии работает нормально.
Я заметил, что .bash_history содержит некоторые команды, которые я выполнил в sudo -s
режиме, и попробовал то же самое снова, и все команды во время сеанса были сохранены, поэтому я попыталсяchmod 777 .bash_history
Теперь старые команды появляются в начале сеанса, но новые команды не сохраняются.
Спасибо заранее
~/.bash_history
Будет написано , когда вы выходите (для достижения более новые команд , которые вы можете использоватьhistory
команду). Но я тоже не вижу проблемы ..Ответы:
Команды не видны, потому что Bash сохраняет историю в файл .bash_history только после выхода из оболочки, и это очень редко случается с Guake. Существует простой обходной путь, позволяющий Bash добавлять историю (вместо перезаписи файла) после каждой команды
источник
Связано, как правило, с тем, как это нарушается, если вы выполняете команду до того, как получите файл .bash_history, так как тогда он будет создан владельцем root, а не вашим пользователем.
источник
См. Http://mywiki.wooledge.org/BashFAQ/088, чтобы узнать, как избежать потери линий истории, и объяснение побочных эффектов от этого.
источник
Это также может быть root: root владеет вашей .bash_history (ROOT НЕ ДОЛЖЕН БЫТЬ ВЛАДЕЛЕЦ, ВАШ ПОЛЬЗОВАТЕЛЬ ДОЛЖЕН БЫТЬ ВЛАДЕЛЕЦ!), В этом случае вам необходимо:
Это, очевидно, может произойти, если вы делаете
sudo bash
много!источник