Estou trabalhando em um destino x86 executando o fedora 9.
Sempre que eu o reinicializo, meu histórico retorna a algum estado e não tenho comandos que eu fiz nas sessões anteriores à reinicialização.
O que preciso alterar para ter o histórico atualizado que eu tinha antes da reinicialização?
Respostas:
Qual história? história da festa? Se você está perdendo o histórico do bash e tem várias sessões por vez, é porque cada sessão está substituindo o histórico das outras sessões.
Você provavelmente quer dizer ao bash para não substituir o histórico a cada vez, mas sim anexá-lo. Você pode fazer isso modificando seu .bashrc para executar
shopt -s histappend
.Você também pode aumentar o tamanho do seu arquivo de histórico exportando HISTSIZE para um número grande (é em bytes, portanto 100000 deve ser suficiente).
fonte
HISTSIZE
é o número de comandos a serem lembrados, não o número de bytes.Eu estava sofrendo do mesmo problema - mas meu
.bashrc
arquivo já teve ashopt -s histappend
correcta eHISTFILE
,HISTSIZE
,HISTFILESIZE
.Para mim, o problema era que meu
.bash_history
arquivo pertencia à raiz e não ao meu nome de usuário, para que meu usuário nunca pudesse salvá-lo na saída.fonte
sudo chmod your_user_name .bash_history
conseguiu! Obrigado.sudo chown user_name:user_name ~.bash_history
Resolvi-o!Procure as variáveis de ambiente HISTFILE, HISTSIZE, HISTFILESIZE.
fonte
Eu escrevi um script para definir um arquivo de histórico por sessão ou tarefa, com base no seguinte.
Não é necessário salvar todos os comandos do histórico, mas salva os que mais me interessam e é mais fácil recuperá-los do que passar por todos os comandos. Minha versão também lista todos os arquivos de histórico e fornece a capacidade de pesquisar por todos eles.
Fonte completa: https://github.com/simotek/scripts-config/blob/master/hiset.sh
fonte
Eu escrevi algumas linhas no meu .bashrc que realizam o seguinte: Salve todas as sessões após cada comando em um arquivo. Haverá tantos arquivos de histórico quanto você já iniciou os terminais. Ao iniciar um novo terminal a partir do arquivo de histórico mais recente, carregue todos os arquivos de histórico de sessões anteriores no buffer de histórico até que um limite de contagem de linhas seja atingido.
fonte
Eu garantiria que .bash_history exista. Caso contrário, não há lugar para o bash salvar o histórico de comandos.
se .bash_history não existir, crie-o executando o toque:
isso apenas cria o arquivo .bash_history vazio em seu diretório pessoal, que será preenchido com seus comandos e deve persistir entre as sessões.
fonte
Minha instância do Amazon EC2 Ubuntu não estava salvando o histórico.
.bashrc
tinha todos os comandos necessários, como mencionado em outras respostas, mas a única coisa que estava faltando era o arquivo. Eu tive que tocá-lo para fazê-lo funcionar.fonte
A boa resposta para esta pergunta está aqui:
http://linuxcommando.blogspot.com/2007/11/keeping-command-history-across-multiple.html
fonte