Criando lista de histórico de comandos

1

Existe uma maneira de exibir uma lista composta pelos últimos comandos n terminal feitos por um usuário em particular?

    
por user43389 27.01.2015 / 17:04

5 respostas

4

Todo usuário tem um arquivo .bash_history , presente em seu diretório pessoal. ou seja, /home/<USERNAME>/.bash_history . Ele armazena todo o comando executado por um usuário em particular.

Você pode usar este arquivo para ver o comando executado por um usuário. (Você precisa do privilégio de root para acessar o arquivo de outro usuário.)

tail -n /home/<USERNAME>/.bash_history

Não se esqueça de substituir n pelo número real.

    
por g_p 27.01.2015 / 17:13
4

Se seu shell for bash , a melhor maneira é usar o comando history :

(HISTFILE=/home/user/.bash_history; history -c; history -r; history n)

Embora um pouco complicado, isso fornece todos os benefícios do comando history (como registros de data e hora, se você tiver ativado). Os parênteses ( () ) garantem que os comandos sejam executados em um subshell e não afetam o shell atual.

    
por muru 27.01.2015 / 17:58
2

tail -n /home/userinquestion/.bash_history pareceria a resposta óbvia - supondo que eles tivessem uma ideia como sua concha, é claro ..

Se houver um terminal aberto, talvez ainda não tenha escrito comandos para o arquivo de histórico.

Você precisará usar su ou sudo se o usuário não for você mesmo.

    
por Mark Williams 27.01.2015 / 17:13
2

Uma outra opção é criar um script de shell simples que faça isso:

#!/bin/bash
tail --lines= /home/$(whoami)/.bash_history

Isso pega a resposta do g-P e torna um pouco mais bonito fazendo mais coisas automaticamente.

  1. Execute nano history-lookup.sh (ou qualquer nome que você queira - basta finalizá-lo em .sh )

  2. Cole esse código em

  3. Pressione Ctrl + O então Ctrl + X para salvar e sair.

  4. Execute bash history-lookup.sh NUMBER-OF-ENTRIES . Deve cuspi-los bem na tela.

por RPi Awesomeness 27.01.2015 / 17:19
1

Por favor, tente:

history | tail -n20 > history20.txt

Ao enviar o resultado para um arquivo de texto, você pode imprimir, revisar, enviar por e-mail, etc., o arquivo de texto a qualquer momento.

    
por chili555 27.01.2015 / 17:32