Onde o histórico do bash para o usuário root é salvo?

25

Não estou falando .bash_historydo meu diretório pessoal. Normalmente, prefiro usar sudo -iou sudo suexecutar comandos como usuário root.

Como, após esses comandos, o histórico não é salvo no .bash_historyarquivo do meu diretório pessoal, quero saber se esse histórico foi salvo em algum lugar ou não e, se sim, onde?

Devesh Khandelwal
fonte
Isso eu sei, mas eu queria conhecer os comandos dentro do shell raiz e encontrei minha resposta.
Devesh Khandelwal
Eu sabia disso, mas ainda assim obrigado.
Devesh Khandelwal

Respostas:

32

Bem, quando você está logado como root, o histórico do bash é salvo no /root/.bash_historyarquivo, onde /rooté o diretório inicial padrão do usuário root. Para provar isso, execute o seguinte comando quando você estiver logado como root:

echo $HISTFILE

A $HISTFILEvariável aponta para o arquivo que contém seu histórico.

Fonte: $HISTFILE

Geralmente, quando você faz login em outra conta de usuário, o histórico do bash será salvo em um arquivo chamado .bash_historylocalizado no diretório inicial desse usuário.

Além disso, se você deseja salvar o histórico do bash para o usuário root em outro arquivo, digamos no .bash_historyarquivo do meu diretório pessoal, é necessário editar o /root/.bashrcarquivo e adicionar uma nova linha no final do arquivo com o seguinte conteúdo:

HISTFILE="/home/username/.bash_history"       #change username with your user name
Radu Rădeanu
fonte
1

Estou acostumado a usar a lista de atalhos através da tecla para cima no teclado, que mostra o último comando usado para esse usuário. Se você efetuar login como root, será mostrado o histórico do usuário root.

Teste assim, sudo -i preencha a senha e pressione a tecla para cima no teclado. Agora você percorrerá os últimos comandos usados, da ordem mais recente para a mais antiga.

Eu sei que a resposta de Radu Rădeanu é o que você queria. Mas isso também resolve o problema em questão. Minha solução é uma maneira mais útil de lembrar um comando antigo que pode economizar tempo e agitação.

Alvar
fonte
Eu sei sobre a tecla para cima e a uso muito. O que eu queria era o arquivo completo do histórico e obrigado por esclarecer.
Devesh Khandelwal
@DeveshKhandelwal Não é a solução que você queria, mas alguém pode achar útil. A resposta de Radu é boa, é apenas uma pergunta diferente. :)
Alvar
1

Digitar historyno shell lista todos os comandos do histórico. Pode-se usar o seguinte comando para salvar o histórico em outro arquivo:

history > *textfile*
Devesh Khandelwal
fonte