Ich führe Ubuntu 12.04 aus und aus irgendeinem Grund speichert bash nicht meinen Befehlsverlauf. Die ~/.bash_history
Datei enthält nur 3 Befehle, die ich vor ein paar Monaten eingegeben habe.
Wie kann ich das beheben?
EDIT:
hier ist der relevante Inhalt von meinem .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
Antworten:
Es könnte auch sein, dass root: root Ihre .bash_history besitzt ( ROOT SOLLTE NICHT DER BESITZER SEIN, IHR BENUTZER SOLLTE DER BESITZER SEIN! ), In diesem Fall müssen Sie:
Dies könnte anscheinend auf magische Weise passieren, wenn Sie viel sudo bash machen!
quelle
Angenommen, Sie verwenden gnome-terminal ?, überprüfen Sie in diesem Fall möglicherweise die Berechtigungen für .bash_history. Es sollte sein
-rw-r--r--
Um dies in einem Terminal zu tun
ls -la |grep .bash
, sollten alle 3 Dateien die oben genannten Berechtigungen haben. Versuchen Sie andernfalls, .bash_history zu löschen, starten Sie neu und prüfen Sie, ob dann ein Verlauf geschrieben wirdBeachten Sie, dass der Verlauf nur geschrieben wird, wenn das Terminal geschlossen oder beendet wird.
quelle
Wie oben erwähnt, kann dies durch Änderungen der Root-> Benutzerrechte behoben werden. Die anfänglichen Berechtigungen können von
-rw-r--r--
oder von einer anderen Variation und Root-Eigentümerschaft stammen.In meinem Fall hatte ich nur
.bash_history
root im Besitz, aber es ist alles von .bash_ *, was dem Benutzer gehören muss.quelle