Leia todo o histórico de comandos do terminal no OS X

8

Seria ótimo acessar todos os meus comandos executados no terminal no OS X para que eu possa revisar e usar como uma folha de lembrete em execução.

Estou usando o prompt Reverse-I-Search e atualizei meu .bash_profile para armazenar todo o meu histórico como mencionado aqui em Mactoids: Como pesquisar o histórico de comandos do terminal .

  1. Iniciar o terminal.

  2. Navegue até a pasta Home digitando:

    cd ~/
    
  3. Crie .bash_profile inserindo:

    touch .bash_profile
    
  4. Agora, edite o .bash_profile no seu editor de texto favorito ou digite-o na janela do Terminal para abrir automaticamente o arquivo no TextEdit padrão:

    open -e .bash_profile
    
  5. Por fim, adicione isso ao arquivo .bash_profile:

    HISTFILESIZE=1000000000 HISTSIZE=1000000
    
  6. Salve e saia.

Você tem alguma idéia de como eu poderia acessar para gerar o histórico de comandos do terminal no OS X?

    
por Cameron McGrane 10.07.2011 / 23:25

2 respostas

6

Todo o seu histórico é armazenado em ~/.bash_history , em que reverse-i-search e as teclas para cima / para baixo são usadas. Esse arquivo é removido regularmente, mas se você seguiu o guia em seu link, o arquivo .bash_history praticamente nunca será removido.

    
por 11.07.2011 / 01:19
1

Caso você ainda precise de uma correção para isso, aqui está como eu fiz o meu. Com isso, posso SALVAR E ACESSAR o histórico em todas as guias (por exemplo, se você digitar um comando em uma guia, abrir uma nova guia e pressionar para cima, ele sugerirá o comando que você acabou de inserir na guia anterior)

Você precisará de 2 coisas: 1. Digite este comando no seu terminal para ter certeza de que o histappend está ativado:

shopt -s histappend && shopt histappend

2. Você também precisa saber onde seus comandos de histórico estão sendo armazenados.

Meus arquivos de histórico são armazenados em ~ / .bash_sessions, então é isso que meu código refletirá. Se o seu for armazenado em ~ / .bash_history, ou em outro diretório, apenas troque-o por ~ / .bash_sessions quando o inserirmos em nosso bash_profile.

Depois de descobrir isso, abra o bash_profile e adicione o seguinte código:

source ~/.bash_sessions/*.history        #<--sources prev sessions through your bash_profile. If you don't use ~/.bash_sessions to store your history, replace it with whatever you use (i.e. source ~/.bash_history/*.history

export HISTCONTROL=ignoredups:erasedups #<-- auto-erases duplicates in your history
export HISTSIZE=1000                    #<-- assigns # of results to return
export HISTFILESIZE=100000              #<-- assigns # of results to store in your .bash_history
shopt -s histappend                     #<-- appends & saves history throughout all tabs

export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"  <--appends history from all tabs, clears & uses appended history file as current  
    
por 29.02.2016 / 06:27