Używam Ubuntu 12.04 iz jakiegoś powodu bash nie przechowuje mojej historii poleceń. ~/.bash_history
plik zawiera tylko 3 komend że Wpisałem kilka miesięcy temu.
Jak mogę to naprawić?
EDYCJA:
oto odpowiednia treść mojego .bashrc
:
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
.bashrc
./bin/bash
~/.bash_history
Odpowiedzi:
Może to być także ten root: root jest właścicielem twojej .bash_history ( ROOT NIE POWINIEN BYĆ WŁAŚCICIELEM, TWÓJ UŻYTKOWNIK POWINIEN BYĆ WŁAŚCICIELEM! ), W takim przypadku musisz:
To najwyraźniej może się zdarzyć magicznie, kiedy często grasz w sudo!
źródło
Zakładając, że używasz gnome-terminal ??, jeśli tak, sprawdź uprawnienia w .bash_history. Powinno być
-rw-r--r--
Aby to zrobić w terminalu
ls -la |grep .bash
, wszystkie 3 pliki powinny mieć powyższe uprawnienia. W przeciwnym razie spróbuj usunąć .bash_history, uruchom ponownie i sprawdź, czy następnie zostanie zapisana historiaPamiętaj, że historia jest zapisywana dopiero po zamknięciu lub zamknięciu terminala.
źródło
Jak wspomniano powyżej, można to naprawić za pomocą zmian własności użytkownika root->. Początkowe uprawnienia mogą pochodzić z
-rw-r--r--
dowolnej innej odmiany i własności root.W moim przypadku miałem tylko
.bash_history
roota, ale to wszystko .bash_ * musi być własnością użytkownika.źródło