Por padrão, os comandos do terminal são registrados?

6

Eu queria saber se, por padrão, qualquer coisa que você digita no terminal é registrada em algum lugar do sistema. Eu posso imaginar que até certo ponto isso acontece porque você pode usar as setas para cima e para baixo para recuperar os comandos inseridos, mas age de forma semelhante a como a RAM funciona em um computador, onde quando você fecha o terminal os comandos são perdidos / removidos? Ou há alguém em que o computador ainda esteja sendo mantido?

    
por TheHarpoon 13.08.2016 / 18:00

2 respostas

8

curto: não

long: depende:

  • a maioria dos shells tem um mecanismo de histórico que registra as linhas de comando.
  • O
  • shell-history geralmente é configurável (e pode não estar ativado).
  • Mas coisas como editores de texto geralmente não não (suas teclas não são registradas normalmente)

Além disso, mesmo com shells, é não comum poder ter várias instâncias de shells em execução e gravar all dos comandos dessas instâncias.

Além do shell-history, existem outras maneiras de registrar seus comandos, por exemplo, usando programas de auditoria de baixo nível (que registram os recursos que seus comandos usam) ou somente texto como script (que pode gravar todas as informações enviadas do computador para o terminal).

Mesmo que seu shell não esteja configurado para gravar comandos, você poderá trabalhar em um ambiente em que a auditoria está configurada. Para aqueles "por padrão", há um registro.

Leitura adicional:

por 13.08.2016 / 18:06
2

Depende de qual shell você está usando. Se você não está usando o Windows e está usando o shell padrão do seu sistema, provavelmente está usando o shell Bash.

O shell Bash armazena uma lista da maioria dos comandos que você inseriu em um arquivo definido pela variável de ambiente HISTFILE . Por padrão, isso é ~/.histfile . Alterando HISTFILE para outra coisa, você pode armazenar o histórico em outro lugar. /dev/null é popular para aqueles que querem esconder sua história. O Bash também armazena seu histórico na RAM, e é por isso que você ainda pode usar as teclas de seta para cima e para baixo mesmo quando define HISTFILE para /dev/null .

Agora, você notará que eu disse mais dos comandos que você digitou. Comandos precedidos de um espaço não aparecem no seu histórico.

    
por 16.08.2016 / 10:06