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.
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
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.
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 comandogrep
para pesquisar seu histórico de comandos.
history | grep your_search
Você também pode canalizá-lo para o comandotail
para 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
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,! - 2
executaria 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 adicionarsudo
antes 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: p
para 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
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 4
e, 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 4
e, 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 executarmos
echo! 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
abc” pelo texto “
xyz“.
^ abc ^ xyz
Por exemplo, se você executou acidentalmente
ping gogle.com, poderá executar
^ gog ^ googe o bash executará o comando
ping google.com.
Onde seu histórico está armazenado e como apagá-lo
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
HISTCONTROLcomo
ignorespace.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
HISTCONTROLpara
ignorados.HISTCONTROL = ignoredups
Para usar os recursos
ignorespacee
ignorados, defina o
HISTCONTROLvariável para
ignoreboth.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.
Como usar várias contas com o Instagram
Existem várias razões pelas quais você pode querer várias contas do Instagram. Talvez você precise de um para sua vida pessoal e outro para seu negócio. Ou talvez você e seu parceiro compartilhem um dispositivo, mas desejam postar fotos em suas próprias contas. Veja como fazer isso Ao contrário do Facebook, que está ligado à sua identidade real, você pode configurar uma conta para qualquer coisa no Instagram.
Como criar uma conta de convidado no Windows 10
Se você achar que seus convidados estão pedindo com bastante frequência para usar seu computador temporariamente para verificar o email ou procurar algo na Web, Não é necessário permitir que eles usem sua conta pessoal ou criar uma conta especial para cada convidado. RELACIONADO: Por que cada usuário em seu computador deve ter sua própria conta de usuário O Windows costumava ter uma conta Convidada dedicada você pode permitir que alguém use temporariamente seu computador, garantindo que ele não veja seus dados particulares.