Como ocultar o histórico da linha de comando do Linux no modo anônimo

Cum să ascundeți istoricul liniei de comandă Linux mergând în incognito
⏱️ 5 min read

Se você for um usuário da linha de comando do Linux, concordará que há momentos em que não deseja que certos comandos executados sejam registrados no histórico da linha de comando. Pode haver muitas razões para isso. Por exemplo, você está em uma determinada posição na empresa e tem alguns privilégios que não deseja que outras pessoas abusem. Ou, existem alguns comandos críticos que você não deseja executar acidentalmente enquanto navega na lista de histórico.

Mas existe uma maneira de controlar o que vai para a lista de histórico e o que não vai? Ou, em outras palavras, podemos ativar um modo incógnito semelhante ao de um navegador da web na linha de comando do Linux? A resposta é sim, e há muitas maneiras de conseguir isso, dependendo do que você deseja exatamente. Neste artigo, discutiremos algumas das soluções populares disponíveis.

Nota: todos os comandos apresentados neste artigo foram testados no Ubuntu.

Diferentes formas disponíveis

As duas primeiras maneiras que descreveremos aqui já foram abordadas em um de nossos artigos anteriores. Se você já os conhece, pode pular estes. No entanto, se você não estiver ciente, é aconselhável analisá-los com cuidado.

1. Insira um espaço antes do comando

Sim, você leu corretamente. Insira um espaço no início de um comando, e ele será ignorado pelo shell, ou seja, o comando não será registrado no histórico. No entanto, há uma dependência – a referida solução só funcionará se a variável de ambiente HISTCONTROL estiver definida como “ignorespace” ou “ignoreboth”, que é o padrão na maioria dos casos.

Portanto, um comando como o seguinte:

Não aparecerá no histórico se você já tiver executado este comando:

A imagem abaixo é um exemplo desse comportamento.

O quarto comando “echo” não foi registrado no histórico porque foi executado com um espaço no início.

2. Desative todo o histórico da sessão atual

Se quiser desabilitar todo o histórico de uma sessão, você pode fazer isso facilmente desabilitando a variável de ambiente HISTSIZE antes de começar o trabalho com a linha de comando. Para remover a definição da variável, execute o seguinte comando:

HISTFILE é o número de linhas (ou comandos) que podem ser armazenados na lista de histórico para uma sessão bash em andamento. Por padrão, essa variável tem um valor definido – por exemplo, 1000 no meu caso.

Portanto, o comando mencionado acima irá definir o valor da variável de ambiente para zero e, conseqüentemente, nada será armazenado na lista de histórico até que você feche o terminal. Tenha em mente que você também não será capaz de ver os comandos executados anteriormente pressionando a tecla de seta para cima ou executando o history comando.

3. Apague todo o histórico depois de terminar

Isso pode ser visto como uma alternativa à solução mencionada na seção anterior. A única diferença é que, neste caso, você executa um comando DEPOIS de terminar todo o seu trabalho. O seguinte é o comando em questão:

Como já mencionado, isso terá o mesmo efeito que a solução HISTFILE mencionada acima.

4. Desative o histórico apenas para o trabalho que você faz

Embora as soluções (2 e 3) descritas acima façam o truque, elas apagam todo o histórico, algo que pode ser indesejado em muitas situações. Pode haver casos em que você deseja manter a lista de histórico até o ponto em que iniciar o trabalho de linha de comando. Para situações como essas, você precisa executar o seguinte comando antes de iniciar seu trabalho:

Nota: [space] representa um espaço em branco.

O comando acima desabilitará o histórico temporariamente, significando que tudo o que você fizer após executar este comando não será registrado no histórico, embora todas as coisas executadas antes do comando acima estarão lá como estão na lista de histórico.

Para reativar o histórico, execute o seguinte comando:

Isso traz as coisas de volta ao normal novamente, o que significa que qualquer trabalho de linha de comando feito após o comando acima aparecerá no histórico.

5. Exclua comandos específicos do histórico

Agora suponha que a lista de histórico já contenha alguns comandos que você não deseja que sejam registrados. O que pode ser feito neste caso? É simples. Você pode ir em frente e removê-los. Veja a seguir como fazer isso:

O comando acima irá gerar uma lista de comandos correspondentes (que estão na lista de histórico) com um número [num] precedendo cada um deles.

Depois de identificar o comando que deseja remover, basta executar o seguinte comando para remover essa entrada específica da lista de histórico:

A imagem a seguir é um exemplo disso.

commandline-history-delete-specific-comandos

O segundo comando ‘echo’ foi removido com sucesso.

Alternativamente, você pode simplesmente pressionar a tecla de seta para cima para dar um passeio de volta pela lista de histórico e, uma vez que o comando de seu interesse apareça no terminal, apenas pressione “Ctrl + U” para esvaziar totalmente a linha, removendo-a efetivamente do Lista.

Conclusão

Existem várias maneiras de manipular o histórico da linha de comando do Linux para atender às suas necessidades. Lembre-se, no entanto, de que geralmente não é uma boa prática ocultar ou remover um comando do histórico, embora também não seja errado, por si só, mas você deve estar ciente do que está fazendo e dos efeitos que isso pode ter.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Você pode gostar...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x