pt.phhsnews.com


pt.phhsnews.com / Como usar seu histórico de bash no Linux ou macOS Terminal

Como usar seu histórico de bash no Linux ou macOS Terminal


O bash shell é o ambiente de terminal padrão incluído na maioria das distribuições do Linux, incluído no macOS, e disponível para instalação no Windows 10. Ele lembra os comandos digitados e os armazena em um arquivo de histórico. Você provavelmente conhece algumas noções básicas do bash history, mas é muito mais poderoso do que você imagina.

Atalhos de teclado

RELACIONADOS: Os melhores atalhos de teclado para o Bash (também conhecido como Linux e macOS Terminal)

Para percorrer seu histórico bash, você pode usar alguns dos muitos atalhos de teclado úteis do bash. Pressione estes atalhos e os comandos que você usou anteriormente aparecerão no prompt

  • Seta para cima ou Ctrl + P : Vá para o comando anterior em seu histórico. Pressione a tecla várias vezes para percorrer os comandos que você usou.
  • Seta para baixo ou Ctrl + N : Vá para o próximo comando no seu histórico. Pressione a tecla várias vezes para percorrer os comandos que você usou.
  • Alt + R : Reverta as alterações em um comando retirado do seu histórico, se você o tiver editado na linha atual.

O Bash também tem um modo especial de “recall” que você pode usar para procurar comandos que você executou anteriormente, em vez de percorrê-los um a um.

  • Ctrl + R : Recupera o último comando correspondente ao caracteres que você fornece. Pressione este atalho e comece a digitar para procurar um comando no histórico de bash.
  • Ctrl + O : Execute o comando encontrado com Ctrl + R.
  • Ctrl + G : Deixe o modo de pesquisa de histórico sem executar um comando.

Exibir seu histórico de bash

Você pode imprimir todo o seu histórico de bash na tela executando um único comando:

history

Você verá uma lista de todos os comandos em seu bash history, junto com um número à esquerda de cada um. O comando com um “1” próximo a ele é o comando mais antigo em seu histórico bash, enquanto o comando com o maior número é o mais recente.

RELATED: Torne-se um usuário avançado do Linux Terminal com estes 8 truques

Você pode fazer o que quiser com a saída. Por exemplo, você poderia canalizá-lo para o comandogreppara pesquisar seu histórico de comandos.

history | grep your_search

Você também pode canalizá-lo para o comandotailpara visualizar apenas um pequeno número dos comandos recentes que você executou. Por exemplo, o seguinte comando mostraria as últimas 5 entradas em seu histórico.

history | tail -5

Executar comandos do seu histórico

O Bash pode rapidamente “expandir” os comandos anteriores ou expandi-los e modificá-los. Esse recurso é conhecido como "expansão de histórico" e usa um ponto de exclamação, conhecido como "estrondo". Basta digitá-los no prompt e pressionar Enter para executá-los como você executaria qualquer outro comando.

Para executar um comando específico de seu histórico pelo seu número, use o seguinte comando:

! #

Por exemplo, digamos que você queira executar o 12º comando do seu histórico bash. Esse é o comando com um “12” à esquerda dele quando você executa o comandohistory. Você digitaria o seguinte comando:

! 12

Para executar novamente o último comando que você executou, digite o seguinte. Isso tem o mesmo efeito de pressionar a seta para cima uma vez para exibir o comando anterior e, em seguida, pressionar Enter.

!!

Você também pode consultar um comando com um certo número de linhas de volta. Por exemplo,! - 2executaria o segundo comando que você executou.!!significa a mesma coisa que! - 1.

Essa expansão funciona em qualquer lugar na linha. Você pode adicionar o que quiser antes ou depois de!!ou qualquer uma das outras expressões nesta seção. Por exemplo, você pode digitar o seguinte comando para executar novamente o último comando executado pelosudo, concedendo privilégios de root. Isto é particularmente útil se você esquecer de adicionarsudoantes de executar um comando.

sudo !!

Ou, por exemplo, você pode executar novamente o comando anterior e canalizar sua saída para grep para procurar algum texto.

!! | grep text

Para procurar um comando no seu histórico e executá-lo, digite o seguinte. Isso executará o último comando que corresponde ao texto especificado:

! text

Então, se você executou recentemente um comando que começou comping, você pode executar o seguinte comando para procurá-lo. Isso irá pesquisar para trás através de seu histórico, localizar o comando mais recente que começa com “pi“ e executá-lo imediatamente:

! Pi

Você pode anexar um: ppara qualquer uma das expansões acima e o bash imprimirá o comando no terminal sem executá-lo. Isso é útil se você deseja confirmar que está selecionando o comando correto antes de executá-lo.

! 12: p
!!: p
! Text: p

Reutilizar argumentos do seu histórico

Bash também permite que você execute um novo comando, mas use argumentos de comandos anteriores em seu histórico. Isso pode ajudá-lo a reutilizar rapidamente argumentos longos ou complicados sem precisar redigitá-los.

command! $

Por exemplo, digamos que você tenha executado o comandotouch / home / chris / some_long_file_name_you_dont_want_to_type_again. Agora você deseja executar o comandonano / home / chris / some_long_file_name_you_dont_want_to_type_again. Em vez de digitar tudo do zero, você poderia executar:

nano! $

O! $faria o bash preencher automaticamente o último argumento do comando anterior.

preenche o último argumento. Portanto, se você executarping google.com -c 4e, em seguida, executarping! $, isso será expandido para “ping 4“.

Para corrigir essa situação, você pode usar o seguinte truque para expandir o primeiro argumento na linha, em vez do último:

comando! ^

Então, se você executouping google.com -c 4e, em seguida, correuping! ^, bash iria expandir isso para "ping google.com".

Para preencher todos os argumentos usados ​​no comando anterior em vez de apenas um único argumento, você usaria o seguinte:

command! *

Em vez disso, se você executasseping! *, o bash preencheria automaticamente todos os argumentos usados ​​no comando anterior Você pode usar o mesmo truque que você usa para executar comandos do seu histórico para obter argumentos deles. Basta usar o seguinte formulário:

command! Abc: #

Por exemplo, nós executamos o comando

sudo hostname ubuntuanterior.Se rodarmos o seguinte comando, o bash irá procurar para trás através do histórico para encontrar o último comando beginni ng com as letras que digitamos e preenchemos o argumento que especificamos. Então, se executarmosecho! Su: 2, o bash fará uma busca de volta para encontrar o último comando que começa com “su” e preenche seu segundo argumento, que é “O ubuntu“.Outros truques funcionam como você poderia esperar. Por exemplo, substituir o número por um asterisco, conhecido como curinga, faz com que o bash preencha todos os argumentos do comando:

command! Abc: *

Execute novamente o comando anterior e modifique-o

Bash também permite você execute novamente o comando anterior e especifique algo que deve ser alterado. Isso pode ser útil para corrigir um erro de digitação em um comando. Por exemplo, o comando a seguir executará novamente o comando anterior, substituindo o texto “

abc” pelo texto “xyz“.^ abc ^ xyz

Por exemplo, se você executou acidentalmente

ping gogle.com, poderá executar^ gog ^ googe o bash executará o comandoping google.com.Onde seu histórico está armazenado e como apagá-lo

O shell bash armazena o histórico de comandos que você executou no arquivo de histórico da sua conta de usuário em ~ / .bash_history por padrão. Por exemplo, se seu nome de usuário for bob, você encontrará esse arquivo em /home/bob/.bash_history.

Porque seu histórico é armazenado em um arquivo, ele persiste entre as sessões. Você pode executar alguns comandos, sair, voltar no dia seguinte e esses comandos ainda estarão no seu arquivo de histórico prontos para serem visualizados e usados. Cada conta de usuário possui seu próprio arquivo de histórico com um histórico de comando separado.

Para limpar seu histórico bash, você pode executar o seguinte comando. Isso apaga o conteúdo do arquivo .bash_history da sua conta de usuário:

history -c

O Bash apenas lembra um número limitado de comandos por padrão, impedindo que o arquivo de histórico fique muito grande. O número de entradas do histórico bash record é controlado pelo

Variável HISTSIZE. O padrão é geralmente 500 ou 1000 entradas. Você pode executar o seguinte comando para exibir o tamanho do histórico bash em seu sistema.echo $ HISTSIZE

Para definir seu histórico como zero, execute o seguinte comando:

HISTSIZE = 0

sessão atual, o bash não armazena nenhuma entrada de histórico, a menos que você execute um comando como

HISTSIZE = 1000para defini-lo de volta para um determinado número de entradas.Como Ignorar Espaços e Duplicados

Bash permite ignorar entradas de histórico que começam com um espaço se você definir a variável

HISTCONTROLcomoignorespace.HISTCONTROL = ignorespace

Digite um espaço antes de um comando antes de executá-lo no bash shell e o comando será executado normalmente, mas não aparecerá em seu histórico se você tiver essa variável ativada. Isso permite que você mantenha seu histórico um pouco mais limpo, optando por executar comandos sem que apareçam em seu histórico.

O Bash também permite que você ignore comandos duplicados que podem sobrecarregar seu histórico. Para fazer isso, defina

HISTCONTROLparaignorados.HISTCONTROL = ignoredups

Para usar os recursos

ignorespaceeignorados, defina oHISTCONTROLvariável paraignoreboth.HISTCONTROL = ignoreboth

Observe que as variáveis ​​bash definidas por você só persistem para a sessão atual. Você precisará adicioná-los ao arquivo .bashrc da sua conta de usuário para que esses valores sejam definidos automaticamente em todas as sessões bash que você iniciar, se preferir.

O bash shell é uma ferramenta complexa com muito mais opções do que essas. Consulte as seções Builtins e History Expansion do Bash History no manual oficial da festa informações mais detalhadas e outros truques avançados que você pode usar.


O que o BIOS de um PC faz e quando devo usá-lo?

O que o BIOS de um PC faz e quando devo usá-lo?

A BIOS do seu computador é a primeira coisa que carrega quando você inicia o computador. Inicializa seu hardware antes de inicializar um sistema operacional a partir do seu disco rígido ou outro dispositivo. Muitas configurações de sistema de baixo nível só estão disponíveis no seu BIOS. Os computadores modernos são predominantemente fornecidos com o firmware UEFI, que é o sucessor do BIOS tradicional.

(how-top)

O que é o kernel_task e por que ele está sendo executado no meu Mac?

O que é o kernel_task e por que ele está sendo executado no meu Mac?

Assim, você encontrou algo chamado “kernel_task” no Activity Monitor e quer saber o que é. Boas notícias: não é nada nefasto. Na verdade, é o seu sistema operacional. RELATED: O que é este processo e por que ele está sendo executado no meu Mac? Este artigo é parte de nossa série em andamento explicando vários processos encontrados no Activity Monitor, como hidd, mdsworker , installd e muitos outros.

(how-top)