J'exécute Ubuntu 12.04, et pour une raison quelconque, bash ne conserve pas l'historique de mes commandes. le ~/.bash_history
fichier ne contient que 3 commandes que j'ai tapées il y a quelques mois.
Comment puis-je réparer cela?
EDIT:
voici le contenu pertinent de mon .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
Réponses:
Il peut également s'agir de root: root possède votre .bash_history ( ROOT NE DEVRAIT PAS ÊTRE LE PROPRIÉTAIRE, VOTRE UTILISATEUR DEVRAIT ÊTRE LE PROPRIÉTAIRE! ), Dans ce cas, vous devez:
Cela pourrait apparemment se produire comme par magie lorsque vous faites beaucoup de sudo bash!
la source
En supposant que vous utilisez gnome-terminal ??, si c'est le cas, vérifiez les autorisations sur .bash_history. Ça devrait être
-rw-r--r--
Pour ce faire dans un terminal
ls -la |grep .bash
, les 3 fichiers doivent avoir les autorisations ci-dessus. Sinon, essayez de supprimer .bash_history, redémarrez et voyez si un historique est alors écritNotez que l'historique n'est écrit qu'une fois le terminal fermé ou fermé.
la source
Comme indiqué ci-dessus, cela peut être résolu par des changements de propriété root-> utilisateur. Les autorisations initiales peuvent provenir de
-rw-r--r--
ou toute autre variante et propriété racine.Dans mon cas, je n'avais
.bash_history
appartenu qu'à root mais c'est tout .bash_ * qui doit appartenir à l'utilisateur.la source