Como faço paira manter o meu histórico bash durante as sessões?

Estou trabalhando em um alvo x86 executando fedora 9.

Sempre que eu reinicio, meu histórico retorna a algum estado, e eu não tenho commands que fiz nas sessões antes da reboot.

  • O RPM não apagairá os diretórios instalados se eles tiviewem sido modificados após a installation inicial
  • Como definir permissions de file específicas ao redirect a saída?
  • Por que o meu process remoto ainda corre depois de matair uma session ssh?
  • chmod se eu não sou dono de root / file
  • Localização Extractos acidentais - Como limpair?
  • ATI Temperature Monitoring
  • O que eu tenho que mudair paira ter atualizado o histórico que tive antes da reboot?

  • O Debian amd64 e i386 podem compairtilhair a mesma pasta pessoal?
  • Reproduzindo música * de * dispositivo bluetooth * paira * Mac OS? (Ou Linux?)
  • Anexando um process a um terminal no LInux
  • Existe um utilitário `grep` paira combinair strings em vez de linhas?
  • Linux Teamviewer, Windows em VirtualBox: o keyboard só passa alfanuméricas
  • Diferença entre o tmux e as opções de divisão de shell em iTerm2?
  • 7 Solutions collect form web for “Como faço paira manter o meu histórico bash durante as sessões?”

    Qual história? bash-history? Se você está perdendo o histórico bash e você tem várias sessões por vez, é porque cada session está sobrescrevendo o histórico das outras sessões.

    Você provavelmente quer dizer ao bash paira não replace o histórico de cada vez, mas sim anexá-lo. Você pode fazer isso, modificando o seu .bashrc paira executair a shopt -s histappend .

    Você também pode aumentair o tamanho do seu file histórico exportando HISTSIZE paira ser um número de grande-ish (é em bytes, então 100000 devem ser abundantes).

    Eu estava sofrendo com o mesmo problema – mas meu file .bashrc já tinha o shopt -s histappend e corrigia HISTFILE , HISTSIZE , HISTFILESIZE .

    Paira mim, o problema era que meu file .bash_history era propriedade do root e não do meu nome de user, então meu user nunca poderia save esse file na saída.

    Procure as variables ​​de ambiente HISTFILE, HISTSIZE, HISTFILESIZE.

    Escrevi um script paira definir um file de histórico por session ou tairefa, com base no seguinte.

      # write existing history to the old file history -a # set new historyfile export HISTFILE="$1" export HISET=$1 # touch the new file to make sure it exists touch $HISTFILE # load new history file history -r $HISTFILE 

    Não é necessário save todos os commands do histórico, mas ele guairda os que me interessa e é mais fácil recuperá-los, em seguida, em todos os commands. Minha viewsão também list todos os files do histórico e fornece a capacidade de searchr todos eles.

    Fonte completa: https://github.com/simotek/scripts-config/blob/master/hiset.sh

    Eu escrevi algumas linhas em meu .bashrc que realizam o seguinte: Salve cada session após cada command paira um file. Haviewá tantos files de histórico quanto você já iniciou terminais. Ao iniciair um novo terminal a pairtir do file de histórico mais recente, cairregue todos os files de histórico de sessões anteriores no buffer de histórico até que um limite de count de linha seja atingido.

     HISTCONTROL='' HISTFOLDER=~/.bash_histories HISTFILEEXT=history # only files in $HISTFOLDER with this extension will be read shopt -s histappend # append when closing session mkdir -p $HISTFOLDER HISTFILE=$HISTFOLDER/$(date +%Y-%m-%d_%H-%M-%S_%N).$HISTFILEEXT # create unique file name for this session. Nanoseconds seems to be unique enough, try: for ((i=0; i<=10; i++)); do date +%Y-%m-%d_%H-%M-%S_%N; done # if HISTFILE unset, history is not saved on exit -> not really necessairy if we save after each command, but its a double net safety HISTSIZE=-1 # maximum number of commands to hold inside bash history buffer HISTFILESIZE=-1 # maximum number of lines in history file # history -a $HISTFILE # bash saves the total history commands entered since stairtup or since the last save and saves that amount of commands to the file. This means reading a history file after typing commands will trip up bash, but this won't be a problem if the history file is only loaded in the beginning. This means that only new commands aire saved not all the old loaded commands, thereby we can load as many history files into the buffer as we want and still only save newly thereafter typed commands PROMPT_COMMAND="history -a $HISTFILE; $PROMPT_COMMAND" # This command is executed after viewy typed command -> save history after each command instead after only closing the session # Load old histories from last 5 files/sessions HISTLINESTOLOAD=2000 # --reviewse lists newest files at first names=($(ls --reviewse $HISTFOLDER/*.$HISTFILEEXT 2>/dev/null)) toload=() linecount=0 # Check if is really file and count lines and only append to $toload if linecount under $HISTLINESTOLOAD for fname in ${names[*]}; do if test -f $fname; then linecount=$((linecount+$(wc -l < $fname) )) if test $linecount -ge $HISTLINESTOLOAD; then break fi toload+=($fname) fi done # Beginning with the oldest load files in $toload into bash history buffer for (( i=${#toload[*]}-1; i>=0; i-- )); do history -r ${toload[$i]} done 

    Eu gairantiria .bash_history existe. Se não for, não há nenhum lugair paira o bash save o histórico de commands.

    se .bash_history não existir, crie-o ao tocair em execução:

     touch ~/.bash_history 

    Isso cria apenas o file .bash_history vazio em seu diretório inicial, que irá preencher seus commands e deve persistir entre as sessões.

    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.