Histórico: Melhorando o uso do console

terminal

Neste, meu primeiro artigo para DesdeLinux, quero fazer uma breve referência a um comando de console ou shell não muito conhecido, mas muito prático de qualquer Linux. Me refiro a história.

Quase todo mundo que usa Linux sabe que se apertarmos a seta para cima em um terminal, ele nos mostrará o comando usado anteriormente e que se continuarmos pressionando voltaremos nessa lista de comandos. Vire isso !! vamos executar o último comando usado. Bem, isso é graças a história, mas seu potencial não acaba aí, pois se o executarmos diretamente, obteremos uma lista com os últimos mil comandos:

sebastian:~$ history
1543 ping -c 2 desdelinux.net
1544 clear
1545 sudo apt-get update
1546 uname
1547 history

A lista em si será mais longa, mas alguns exemplos são suficientes. Desde agora podemos ver todo o histórico de comandos usados junto com um número que nos permitirá localizar aquele que desejamos dentro da referida lista. Se desejar, você também pode fazer isso história mostrar a data de execução do mesmo.

Então, escrevendo ! mais o número da linha, o shell executará o comando que corresponde a essa linha:

sebastian:~$ !1543
ping -c 2 desdelinux.net
PING desdelinux.net (192.31.186.28) 56(84) bytes of data.

Mas, também podemos executar por letras, pois se colocarmos !+un irá executar a linha "1546", pois execute o último comando que começa com essas letras.

sebastian@soporte-mesi01:~$ !un
uname
Linux

Mas tenha cuidado, pois isso pode ser arriscado, pois não sabemos qual comando é o último que começa com essas letras e então a melhor forma de recuperar um comando usado anteriormente é com a combinação de teclas CTRL+r, onde um mecanismo de pesquisa nos oferecerá e, conforme digitamos, ele nos mostrará o último comando completo correspondente. Então, com squeeze entrar irá executá-lo.

Se, ao contrário, quisermos listar todas as vezes que usamos um comando, devemos usar grep:
sebastian:~$ history | grep uname
1499 uname -r
1500 uname -a
1546 uname
1549 uname
1550 history | grep uname

Com o qual listará apenas as linhas onde se encontra a palavra procurada, neste caso «uname".


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   elav. dito

    Ótimo! Obrigado pelas dicas

  2.   Estático dito

    Parabéns excelente dica

  3.   kuk dito

    Isso estava procurando, obrigado !!!

  4.   vencedor dito

    Não conhecia o Ctrl + r, vou praticar então fica no banco de dados do cérebro.
    Você também pode adicionar ao post o comando ¨ $ history -c ¨ que, como você sabe, é usado para apagar o histórico, frequentemente útil se não quisermos deixar pistas ou se nos sujarmos digitando algum comando errado.
    Saudações e obrigado pelo post !!

    1.    Talskarth dito

      Eu sabia quem usaria o parâmetro -c, mas a verdade é que nunca usei

  5.   Alberto dito

    Atalho muito interessante 'Ctrl + r'. Adicione que se tivermos vários terminais abertos, o comando 'histórico' mostra apenas aquele terminal até que outro novo terminal seja aberto.
    Também pode ser usado com o comando 'tail' (para ver os comandos mais recentes) ou com 'less' para vê-los por página.

    Saudações!

  6.   Gabriel dito

    São aquelas dicas que você esquece de vez em quando, mas são muito úteis, obrigado 😉

  7.   Vito dito

    Impressionante.
    Graças a isso, em vez de escrever rsync -avl -stats -progress / media / data / WEBS / / media / WD / WEBS
    Tive que escrever! 496, e de agora em diante será!
    Sempre lamento ter começado tarde com o Linux, e sempre me sinto com sorte por ter começado o Linux.
    Obrigado por esses comandos. Com certeza estão no homem, mas nunca olho para ele, como quando compro um gadget, a última coisa que vejo é o manual.
    Obrigado.
    Atenciosamente.

    1.    Daniel Rojas dito

      Vito, tenha em mente que o número da linha no histórico vai mudando à medida que mais linhas forem adicionadas a ele. O que eu recomendo que você faça para evitar digitar a linha inteira é adicioná-la como um alias ao seu .bashrc, dessa forma apenas digitando o nome do alias que você atribuiu a ele, toda a linha atribuída será executada.

      Saudações!

      1.    Vito dito

        Obrigado.
        O número foi o exemplo do meu caso. Esse número estava no meu cadastro, e com isso tentei a dica. Eu sei que ele muda e cada vez que o executo, o mesmo comando aparece com um novo número.

        Eu conheço os aliases no .bashrc e só os utilizo para desligar os monitores com "pan" em vez do comando apropriado (sleep 1 && xset dpms force off), mas não uso muito os aliases, porque como existem muitos comandos que utilizo, então tenho o problema de ter que lembrar do alias; E acabo tendo o dobro de problemas. Lembre-se do comando ou lembre-se do alias do comando.

        Assim, é econômico para mim lembrar a "história" ou, ainda mais fácil, "história | grep rsync »para quando eu tiver que fazer backup do meu trabalho. Este último é um exemplo de um dos utilitários que vejo.

        Definitivamente, considero muito útil, pelo menos no meu caso, preservar a memória RAM do meu cérebro, que é muito escassa. Portanto, não preciso lembrar de dezenas de comandos.

        Obrigado pela sua resposta.

        Atenciosamente.

  8.   Diego dito

    Também é muito útil executar (sem aspas) "history> historia.txt" e assim salvar os comandos que executamos em um arquivo de texto.

    1.    Talskarth dito

      Sim, você pode até mesmo filtrar usando grep no meio, por exemplo, com algo como
      history | grep uname >pru.txt
      E então, o txt só salvaria os resultados com o comando «uname» 😉

  9.   Joaquin dito

    Melhor: Ctrl + r

  10.   Joseda dito

    Bom artigo e muito útil. Obrigado pela informação 🙂