🐧 Módulo 103.1 AULA 02
HISTÓRICO DOS COMANDOS
É possível acessar o histórico de comandos dados no terminal, clicando no direcional do teclado, para cima ou para baixo.
Podemos usar o comando history
, aliado ao comando less
, para ver o conteúdo do cache:
history
history | less
Se usar dois !!
, ele retorna o último comando dado no Terminal:
!!
Posso aliar um !
, mais o número do comando que eu quero repetir:
!37
Quem armazena esse cache é o arquivo .bash_history
:
cat ~/.bash_history
Que pode ser esvaziado com a opção -c
:
history -c
A variável de ambiente que aponta para esse arquivo é a HISTFILE
:
set | grep HISTFILE
HISTFILE=/home/usuario/.bash_history
HISTFILESIZE=20000
Assim como a que aponta o tamanho do cache, HISTSIZE
, em número de linhas:
echo $HISTSIZE
2000
Já o apontamento do tamanho do HISTFILESIZE
, define em número de linhas o que é escrito no arquivo:
echo $HISTFILESIZE
2000
Uma opção poderosa na busca de histórico de comandos, é a associação entre ctrl+r
e alguma parte do comando, ao dar ENTER
, ele roda o comando:
ctrl + r dist
sudo apt update && sudo apt dist-upgrade
Outro detalhe interessante, na busca pelo histórico de comandos, é o uso da tecla <TAB>
, que clicada 2x, vai tentando autocompletar, com opções, o comando que estou digitando:
histor + 2X<TAB>
COMANDOS SEQUENCIAIS
Podemos usar comandos sequenciais com alguns direcionadores, como o ;
, o &&
e o ||
.
O ;
executa sempre, sequencialmente os comandos:
clear; date; ls
Enquanto o &&
só dá sequência ao próximo comando se obtiver sucesso no comando anterior. se este falhar, ele não prossegue ao próximo:
ls /tmp/naoexiste && echo linux
ls: não foi possível acessar '/tmp/teste': Arquivo ou diretório inexistente
ls /tmp/ && echo linux
kdocs_asrfirjc
MozillaUpdateLock-6AFDA46A1A8AD48
ssh-W8FSwzdY1DB2
systemd-private-881a6f50d3544de58d23489a38c4214c-bluetooth.service-qpAL6j
systemd-private-881a6f50d3544de58d23489a38c4214c-colord.service-DB6QUM
systemd-private-881a6f50d3544de58d23489a38c4214c-ModemManager.service-aG3Y6H
systemd-private-881a6f50d3544de58d23489a38c4214c-switcheroo-control.service-67zwcx
systemd-private-881a6f50d3544de58d23489a38c4214c-systemd-logind.service-M8ORHo
systemd-private-881a6f50d3544de58d23489a38c4214c-systemd-timesyncd.service-qN7VXN
systemd-private-881a6f50d3544de58d23489a38c4214c-upower.service-O1RZMk
vmware-root
linux
Já o outro direcionador, o ||
, só prossegue para o próximo comando se der erro no primeiro:
ls /tmp || echo linux
ls /tmp/naoexiste || echo linux
THAT’S ALL FOLKS!!