Usar o comando apt no Debian e derivados pelo terminal do Linux? O terminal de um sistema operacional linux é um emulador de terminal. O que faz o terminal do linux funcionar é o Bash, no Bash executamos comandos linux. Quase sempre é assim. Mas às vezes não.
---
Uma coisa importante a ser dominada no Linux System / Server Administration é o gerenciamento de pacotes usando diferentes ferramentas de gerenciamento de pacotes.
---
Diferentes distribuições Linux instalam aplicativos em um pacote pré-compilado que contém arquivos binários, arquivos de configuração e também informações sobre as dependências do aplicativo.
---
As ferramentas de gerenciamento de pacotes ajudam Administradores de Sistema / Servidor de várias maneiras, como baixar e instalar software, compilar software da origem, acompanhar todos os softwares instalados, atualizações e atualizações, lidar com dependências e também manter outras informações sobre softwares instalados e muito mais.
---
É uma ferramenta baseada em linha de comando que é usada para lidar com pacotes em sistemas Linux baseados em Debian. Ele apresenta uma interface de linha de comando para o gerenciamento de pacotes em seu sistema.
---
A fórmula é mais ou menos assim:
sudo apt comando nome-do-pacote-de-software
---
Para instalar:
sudo apt install nome-do-pacote-de-software
---
Para buscar:
sudo apt search leafpad
---
Para ver dependências:
sudo apt depends leafpad
---
Para obter informação:
sudo apt show leafpad
---
Verificar por dependências quebradas em um pacote:
sudo apt install apt-rdepends
sudo apt-rdepends firefox
---
Atualizar o sistema inteiro:
sudo apt update && sudo apt full-upgrade
---
Instalar pacotes .deb:
sudo dpkg -i nomedopacote.deb
---
Remover pacotes de software:
sudo apt update ; sudo apt remove leafpad ; sudo apt autoremove ; sudo apt install -f ; sudo apt update
####
Resumão:
update - Adquire novas listas de pacotes
upgrade - Faz uma atualização
install - Instala novos pacotes
remove - Remove um pacote
source - Faz o download de arquivos fonte
build-dep - Configura as dependências de compilação de pacotes fonte
dist-upgrade - Atualiza a distribuição, consulte
dselect-upgrade - Segue as seleções do dselect
clean - Apaga arquivos baixados para instalação
autoclean - Apaga arquivos antigos baixados para instalação
check - Verifica se não há dependências quebradas (apt-get)
Opções:
-h Esse texto de ajuda
-q Saída logável, exceto para erros
-qq Sem saída, exceto para erros
-d Fazer o download apenas - NÃO instalar ou desempacotar arquivos
-s Não-agir. Executar simulação de ordenação
-y Assumir Sim para todas as perguntas, não pedir confirmação
-f Tenta continuar se a checagem de integridade falhar
-m Tenta continuar se os arquivos não podem ser localizados
-u Mostra uma lista de pacotes atualizados também
-b Constrói o pacote fonte depois de baixá-lo
-c=? Ler esse arquivo de configuração
-o=? Definir uma opção de configuração arbitrária,
###
Category / Raspberrypi
Raspberry pós instalação 2019
Raspberry pós instalação 2019
---
Instalo no raspberry pi 3B - Noobs https://secure.link/bYBoh1x5.
---
Ler o guia de instalação:
https://secure.link/fkx8yFP1
---
Para saber como instalar que é bem fácil. Precisa do arquivo zip Noobs e um notebook para copiar e colar no cartão que é o HD do Raspberry.
1. Baixar o Noobs ou o Raspbian em https://secure.link/jaHRZXx7
2. Extrair os arquivos. Pode ser com 7-zip https://secure.link/wUbmHz3u entre outros.
3. Copiar os arquivos e colar no cartão micro SD que deve estar formatado em FAT32. Se for um imagem ISO deve gravar com o Etcher https://etcher.io/.
4. Inserir o cartão micro SD e ligar o Raspberry. O Noobs faz todo o serviço.
---
Saiba mais em:
https://secure.link/IwTUuyqQ
---
Saiba melhor em:
https://secure.link/Gl4VCiFB
---
Atualizar o sistema:
sudo apt update && sudo apt full-upgrade
---
Reiniciar o sistema:
reboot
---
Tento instalar os programas abaixo pode tentar todos de uma só vez ou um de cada vez que é melhor.
---
sudo sh -c 'clear ; apt-get update ; apt-get install -y seahorse tor ufw gufw firewalld firejail aria2 gufw firejail vim nano smplayer smtube youtube-dl uget cmus deluge jpegoptim geany conky geany-plugins pinta gimp w3m w3m-img youtube-dl cmus mp3diags mkvtoolnix cheese fortune fortunes-br cowsay mcomix pwgen makepasswd rhythmbox gedit gedit-plugins leafpad vim exiftool transmission uget sigil uget nomacs vlc translate-shell bleachbit gparted gpart googler terminator mjpegtools calibre screenfetch dialog winff gaupol supertux gcompris w3m links w3m-img gnome-chess gnuchess bookworm fortunes-br cowsay supertux gcompris' ; sudo sh -c 'dpkg --configure -a ; sleep 5 ; apt list --upgradable ; sleep 5 ; apt --fix-broken install ; sleep 5 ; apt update ; apt full-upgrade -y' ; sudo sh -c 'apt update ; apt-get dist-upgrade ; update-grub ; apt install -f ; apt update ; apt full-upgrade -y'
---
Comandos úteis:
ls
cd
cp
mv
rm
mkdir
df
uname
uname -a
lsusb
lsb_release -a
wget
sudo
apt
apt-get
date
---
Alias para uso pessoal no Raspberry:
---
###
# Aliases do Usuário #
###
# DEFINIÇÃO DO PATH ~/bin
#
export PATH=$PATH:$HOME/bin
###
alias e='exit'
alias ali='alias'
#
fortune | cowsay
#
## LISTAR INSTALADOS
#
alias listit='apt list --installed'
#
alias lupgr='sudo apt list --upgradable'
alias suup='sudo apt update ; sudo apt upgrade ; sudo apt full-upgrade -y ; sudo apt install -f ; sudo apt update'
#
alias it='sudo apt install'
alias c='clear'
#
alias brc='leafpad ~/.bashrc & exit'
#
alias bkbrc='cp -i ~/.bashrc ~/bin/Rasp-bashrc-atualizado-aliases.txt'
alias cpbrc='cp ~/.bashrc .bashrc.bakup'
#
alias up='clear ; sudo apt update && sudo apt upgrade -y && sudo apt full-upgrade -y ; date ; whoami ; screenfetch ; date'
#
alias sbrc='source ~/.bashrc'
alias sb='source ~/.bashrc'
#
alias rbt='sudo apt update ; sudo shutdown -r now'
alias shut='sudo apt update ; sudo shutdown -h now'
#
alias cd..='cd ..'
#
alias ..='cd ..'
#
alias rm='rm -i'
#
alias conk='conky & exit'
#
alias aptli='apt list'
#
alias uprem='clear; sudo apt update; sudo apt upgrade -y; sudo apt-get clean; sudo apt autoremove; sudo apt update; sudo apt upgrade -y; sudo apt full-upgrade -y'
#
# ALIASES BUSCAR COPIA REMOVE
#
alias sf='apt search'
alias rmf='rm -f'
alias rmr='rm -r'
alias cp='cp -r'
alias rem='sudo apt update; sudo apt remove'
#
alias ck='conk'
#
# ALIASES, ATUALIZA E CP BASHRC
alias sup='sudo apt update'
alias cpbrc='cp ~/.bashrc ~/bin/bashrc-meus-aliases.txt'
#
# ALIASES SIST
#
alias rem='sudo apt remove'
alias arem='sudo apt-get autoremove'
alias aclean='sudo apt autoclean'
alias cle='sudo apt clean'
#
## ALIAS PARA IR AO DIRETÓRIO ~/BIN
#
alias cb='cd ~/bin/'
#
---
Comandos mais usados no ShellScript
.
Comandos mais usados em Shell Script no Linux
.
Qual é o seu usuário?
.
Se você não tem certeza qual é o seu usuário, use o comando "whoami" sem aspas, para saber.
.
Como o prompt de usuário normal pode ser diferente para cada um, podemos em algum momento usar "prompt$" para indicar o prompt da linha de comando.
.
ESCOLHER O DIRETÓRIO ONDE COLOCAR O SCRIPT
Para que o script possa ser executado de qualquer parte do sistema, mova-o para um diretório que esteja no seu PATH. Para ver quais são estes diretórios, abra agora o terminal pelo menu do sistema e digite o comando:
echo $PATH
.
Se não tiver permissão de mover para um diretório do PATH, deixe-o dentro de seu diretório pessoal ($HOME). Digite no terminal: $HOME
.
CRIAR O ARQUIVO E COLOCAR NELE OS COMANDOS
Abra pelo menu do sistema o editor de texto gedit, pluma, leafpad, mousepad ou outro editor de textos de sua preferência para colocar todos os comandos dentro do arquivo.
.
COLOQUE A CHAMADA DO SHELL NA PRIMEIRA LINHA
A primeira linha do script deve ser:
#!/bin/bash
Para que ao ser executado, o sistema saiba que é o bash quem irá interpretar estes comandos.
.
TORNE O SCRIPT UM ARQUIVO EXECUTÁVEL
Use o seguinte comando para que seu script seja reconhecido pelo sistema como um comando executável:
chmod +x nome-do-teu-shellscript.sh
.
Para permitir que todos os usuários possam executar o script:
chmod a+x nome-do-teu-shellscript.sh
.
EXECUTE O SCRIPT
./nome-do-teu-shellscript.sh (Aqui "./" representa o diretório atual)
/home/seu-usuário/bin/nome-do-teu-shellscript.sh (Aqui informa onde está o script para que o bash execute em outra pasta)
.
BASH EXECUTANDO COMANDOS
Shell script é uma linguagem de script usada em vários sistemas operacionais, com diferentes dialetos, dependendo do interpretador de comandos utilizado.
Um exemplo de interpretador de comandos é o bash, usado na grande maioria das distribuições GNU/Linux.
A maior parte dos usuários classificam shell script como uma linguagem de fácil aprendizagem. O primeiro passo é, saber o que se deseja fazer, então ver qual o código que executa este comando em shell e aí criar, basta escrever o código em algum editor de texto e salvar. Veja só por exemplo, que de tempos em tempos você quer saber informações do sistema, instalar programas, remover programas, converter/alterar arquivos, fazer backups, adicionar informações, remover informações, etc.
.
AGORA ABRE O TERMINAL E DIGITA COMANDOS, POR EXEMPLO, DIGITE ESTES COMANDOS ABAIXO UM DE CADA VEZ:
echo
ls
echo ''
echo ""
echo "Olá!"
printf 'Bem vindo ao bash!' (Aperte a tecla enter e digite: ls)
echo '#!/bin/bash'
echo "#!/bin/bash"
echo ; echo "Olá!" ; echo
echo -e 'Bom\nDia\nMundo!'
echo "Hello world!"
echo "Hello "world"!"
echo "Hello \"world\"!"
printf "Hello world" (Aperte a tecla enter e digite: cd ~)
pwd
ls -t
sleep 7
echo ; echo 'Olá!' ; sleep 3 ; ls -t
free -h -t
free -th
sleep 4
date
cal
du -h
uptime
df -h
clear
free -tmlh
df -a -h
df -k -l
df -T -m
echo ; whoami ; echo
ls ; echo ; pwd ; echo
echo ; ls -at ; echo
du *
ls -lah
du -hcs
du -ach
du -Sh
du -Sk
clear
echo ; echo 'df: Relata o espaço de disco usado pelo sistema (Usado e Livre)' ; echo
ls -hat
echo ; echo "du: Relata o espaço utilizado no disco de tal arquivo ou diretório" ; echo
whereis bash
VALOR="Linux"
echo $VALOR
echo $VALOR $VALOR
VALOR='ls -t'
$VALOR
echo $VALOR
VALOR='free -h -t'
$VALOR
echo $VALOR
echo VALOR
read VALOR (aperte a tecla enter, digite: "ls" sem aspas e aperte enter.)
$VALOR
read VALOR (aperte a tecla enter, digite: "uptime" sem aspas e aperte enter.)
$VALOR
echo ; $VALOR ; echo ; $VALOR ; echo
echo ; $VALOR ; sleep 4 ; echo ; $VALOR ; echo
unset VALOR
echo ; $VALOR
$VALOR
clear
echo -e '\nOlá!\nVamos\nSaber\nOs\nComandos\ndo\nShellscript Linux!'
clear ; echo -e '\n \nOlá!\n \nVamos\n \nSaber\n \nOs\n \nComandos\n \ndo\n \nShellscript Linux!\n'
HOJE=$(lsblk)
echo "Informação sobre dispositivos de bloco: $HOJE"
unset HOJE
echo $HOJE
echo $((2*3))
echo $((2*4-2/2+3))
VALOR=44
echo $((VALOR*1))
echo $((VALOR*2))
echo $((VALOR*3))
VALOR=$((VALOR+1))
echo $VALOR
VALOR=$((VALOR+11))
echo $VALOR
VALOR=$((VALOR+1))
echo $VALOR
VALOR=$((VALOR+11))
echo $VALOR
unset VALOR
echo $VALOR
VALOR=$(uname -a)
echo $VALOR
HOJE=$(arch)
echo $HOJE
echo "Informação sobre o kernel: $VALOR" ; echo ; echo "Informação sobre a arquitetura do sistema: $HOJE"
echo 'Informação sobre o kernel: $VALOR' ; echo ; echo 'Informação sobre a arquitetura do sistema: $HOJE'
unset VALOR
unset HOJE
echo "Informação sobre o kernel: $VALOR" ; echo ; echo "Informação sobre a arquitetura do sistema: $HOJE"
echo 'Informação sobre o kernel: $VALOR' ; echo ; echo 'Informação sobre a arquitetura do sistema: $HOJE'
printf "%-5s %-10s %-4s\n" No Nome Pontos
printf "%-5s %-10s %-4.2f\n" 1 Marta 8
printf "%-5s %-10s %-4.2f\n" 2 Joel 9
printf "%-5s %-10s %-4.2f\n" 3 Carlos 7
clear
exit
.
Muito bom que você digitou um comando de cada vez!!!
O comandos mais longos pode copiar e colar no terminal se quiser, mas no início seria melhor digitar...
Saiba que a partir deste momento você já está entendendo coisas extremamente úteis para escrever shellscript usando o Bash!
Uma coisa interessante sobre os comandos acima, é que para estudar eles, você não precisa estar conectado a internet.
Os comandos acima oferecem informações interessantes e úteis. Podemos colocar todos eles em um só script e executar. Dependendo do caso, é mais fácil que digitar um a um de cada vez toda vez que precisar.
.
SE PUDER, ANTES DE CONTINUAR EXECUTE OS COMANDOS ACIMA QUE TE CHAMARAM MAIS A ATENÇÃO DE NOVO POIS, EXECUTAR ELES É MUITO DIDÁTICO. NADA MELHOR QUE APRENDER PRATICANDO.
.
ASPAS SIMPLES ' E ASPAS DUPLAS ":
Aspas duplas permitem interpretar caracteres especiais.
Aspas simples desabilitam esta interpretação.
.
CARACTERES DE ESCAPE:
echo "Hello \"world\"!"
.
TODO SCRIPT ESCRITO PARA RODAR NO BASH COMEÇA COM:
#!/bin/bash
Após "#!/bin/bash" de um espaço entre linhas e então pode começar a digitar comandos.
.
Exemplo:
#!/bin/bash
clear
echo ; date ; echo ; sleep 4
echo ; cal ; echo ; sleep 4
echo ; uptime ; echo ; sleep 4
echo ; df -h ; echo ; sleep 4
echo ; free -html ; echo ; sleep 4
echo ; whoami ; echo ; sleep 4
echo ; pwd ; echo ; sleep 4
echo ; ls -at ; echo ; sleep 4
echo ; whereis bash ; echo ; sleep 4
echo ; echo 'Este é o fim do script 01-script.sh' ; echo ; sleep 4
exit
# Fim do script
.
ESTE SCRIPT ÚTIL E INOFENSIVO ACIMA SERÁ SALVO NA PASTA HOME, A PASTA DA CASINHA, USANDO UM EDITOR DE TEXTO COM O NOME DE:
01-script.sh
.
Posso melhorar/tornar mais amigável este script acima explicando sobre cada comando:
#!/bin/bash
clear
echo ; echo 'Hoje é data:' ; echo ; sleep 2
echo ; date ; echo ; sleep 4
echo ; echo 'Hoje pelo calendário é:' ; echo ; sleep 2
echo ; cal ; echo ; sleep 4
echo ; echo 'Esta máquina está funcionando a:' ; echo ; sleep 2
echo ; uptime ; echo ; sleep 4
echo ; echo 'Sobre o tamanho desta pasta:' ; echo ; sleep 2
echo ; df -h ; echo ; sleep 6
echo ; echo 'Sobre a memória RAM:' ; echo ; sleep 2
echo ; free -html ; echo ; sleep 6
echo ; echo 'Você está logado como:' ; echo ; sleep 2
echo ; whoami ; echo ; sleep 4
echo ; echo 'Você está em:' ; echo ; sleep 2
echo ; pwd ; echo ; sleep 4
echo ; echo 'Neste diretório/pasta tem:' ; echo ; sleep 2
echo ; ls -at ; echo ; sleep 6
echo ; echo 'O Bash está em:' ; echo ; sleep 2
echo ; whereis bash ; echo ; sleep 4
echo ; echo 'Este é o fim do script 01-script.sh' ; echo ; sleep 4
exit
# Fim do script
.
No Linux o script deve ter permissão de execução, isto pode ser feito abrindo o terminal pelo menu do sistema e executando o comando:
chmod +x 01-script.sh
.
Depois de salvo você tem que executar o arquivo, dessa forma:
./01-script.sh
.
Viu alguma utilidade neste pequeno script?
Então siga adiante.
.
IMPORTANTE:
Para estudar shell script tem que ser como usuário normal. Se você está acessando o sistema como usuário administrador (root), saia e entre como um usuário normal. É muito perigoso estudar shell usando o superusuário, você pode danificar o sistema com um comando errado.
Ok, continuemos.
.
Para exibir um manual do bash ou mesmo do comando 'chmod', digite na linha de comando:
man bash
man chmod
.
É possível executar o arquivo mesmo sem modificar a permissão de execução, por exemplo, se for um arquivo escrito para ser executado pelo bash, usar:
sh ./"Nome do arquivo, sem aspas"
.
SHELL
É importante saber o que é um Shell.
Na linha de comandos de um shell, podemos utilizar diversos comandos um após o outro, ou mesmo combiná-los numa mesma linha.
Se colocarmos diversas linhas de comandos em um arquivo texto simples, teremos em mãos um Shell Script, ou um script em shell, já que Script é uma descrição geral de qualquer programa escrito em linguagem interpretada, ou seja, não compilada.
Outros exemplos de linguagens para scripts são o PHP, Perl, Python, JavaScript e muitos outros. Podemos então ter um script em php, um script perl e assim em diante.
Uma vez criado, um ShellScript pode ser reutilizado quantas vezes for necessário.
Seu uso, portanto, é indicado na automação de tarefas que serão realizadas mais de uma vez.
Todo sistema Unix e similares são repletos de scripts em shell para a realização das mais diversas atividades administrativas e de manutenção do sistema.
Os arquivos de lote (batch - arquivos *.bat) do Windows são também exemplos de ShellScripts, já que são escritos em linguagem interpretada e executados por um Shell do Windows, em geral o command.com ou hoje em dia o cmd.exe.
Os Shells do Unix, porém, são inumeras vezes mais poderosos que o interpretador de comandos do Windows, podendo executar tarefas muito mais complexas e elaboradas.
OS SCRIPTS SHELL PODEM SER AGENDADOS PARA EXECUÇÃO ATRAVÉS DA TABELA CRONTAB, ENTRE OUTRAS COISAS.
É uma ferramenta indispensável aos administradores de sistemas Unix.
O Shell mais comum e provavelmente o que possui mais scripts escritos para ele é também um dos mais antigos e simples, o sh.
Este shell está presente em todo o sistema tipo Unix, incluído o Linux, FreeBSD, AIX, HP-UX, OpenBSD, Solaris, NetBSD, Irix, etc. Por ser o shell nativo mais comum é natural que se prefira escrever scripts para ele, tornando o script mais facilmente portável para outro sistema.
Os Shells não estão diretamente associados a um ou outro tipo de Unix, embora várias empresas comerciais tenham suas próprias versões de Shell. No software livre o Shell utilizado em um sistema em geral é exatamente o mesmo utilizado em outro. Por exemplo, o bash encontrado no Linux é o mesmo shell bash encontrado no FreeBSD e pode também facilmente ser instalado no Solaris, Windows através do Cygwin [1] ou outros sistemas Unix comerciais para passar a ser utilizado como interface direta de comandos ou como interpretador de scripts. O mesmo acontece com o tcsh e vários outros shells desenvolvidos no modelo de software livre.
.
INTERAGIR COM O USUÁRIO
.
Para o script ficar mais completo, vamos colocar uma interação mínima com o usuário, pedindo uma confirmação antes de executar os comandos.
.
#!/bin/bash
clear
echo "Vou buscar os dados do sistema. Posso continuar? [S/n] "
read RESPOSTA
test "$RESPOSTA" = "n" && exit
echo ; echo "Data e Horário:" ; echo
date
echo
echo "Uso do disco:" ; echo
df -ht
echo
echo "Usuários conectados:" ; echo
w
echo ; echo "Seu nome de login é:"
whoami
echo
exit
# Fim do script
.
O comando "read" leu o que o usuário digitou e guardou na variável RESPOSTA. Logo em seguida, o comando "test" verificou se o conteúdo dessa variável era "n". Se afirmativo, o comando "exit" foi chamado e o script foi finalizado. Nessa linha há vários detalhes importantes:
O conteúdo da variável é acessado colocando-se um cifrão "$" na frente
O comando test é útil para fazer vários tipos de verificações em textos e arquivos
O operador lógico "&&", só executa o segundo comando caso o primeiro tenha sido OK. O operador inverso é o "||"
.
MELHORAR O CÓDIGO DO SCRIPT
Com o tempo, o script vai crescer, mais comandos vão ser adicionados e quanto maior, mais difícil encontrar o ponto certo onde fazer a alteração ou corrigir algum erro. Para poupar horas de estresse, e facilitar as manutenções futuras, é preciso deixar o código visualmente mais agradável e espaçado, e colocar comentários esclarecedores.
.
#!/bin/bash
# nome-do-script - script que mostra informações sobre o sistema
# Autor: Fulano da Silva
# Pede uma confirmação do usuário antes de executar
clear
echo "Vou buscar os dados do sistema. Posso continuar? [S/n]"
read RESPOSTA
# Se ele digitou 'n', vamos interromper o script
test "$RESPOSTA" = "n" && exit
# O date mostra a data e a hora correntes
sleep 3 ; echo "Data e Horário:" ; echo
date
sleep 3
echo
# O df mostra as partições e quanto cada uma ocupa no disco
echo "Uso do disco:"
sleep 3
echo
df
echo
sleep 6
# O w mostra os usuários que estão conectados nesta máquina
echo "Usuários conectados:"
sleep 3
echo
w
sleep 3
echo
# Fim do script
.
Basta iniciar a linha com um "#" e escrever o texto do comentário em seguida. Estas linhas são ignoradas pelo shell durante a execução. O cabeçalho com informações sobre o script e seu autor também é importante para ter-se uma visão geral do que o script faz, sem precisar decifrar seu código. Também é possível colocar comentários no meio da linha # como este
.
CARACTERÍSTICAS
.
OS SCRIPTS SHELL PODEM CONTER ESTRUTURAS DE PROGRAMAÇÃO TAIS COMO:
.
ESTRUTURAS DE DECISÃO (if)
Recurso utilizado para dar sequencia em fluxos de execução baseado decisões. Cuja sintaxe é:
- Condição Verificada é o teste que definirá se controle deve ser passado para dentro do bloco then, observe que esse teste é feito sobre a saída de um comando.
- Ação são comandos a serem executados em caso verdadeiro da condição verificada.
.
OPERADORES PARA NÚMEROS
-eq Verifica se é igual,
-ne Verifica se é diferente,
-lt Verifica se é menor,
-gt Verifica se é maior,
-le Verifica se é menor ou igual,
-ge Verifica se é maior ou igual.
.
OPERADORES PARA TEXTO
!= Verifica se é diferente,
= Verifica se é igual.
.
OPERADORES LÓGICOS
! Lógica NOT,
-o Lógica OU, (OR) ou ||,
-a Lógica E, (AND) ou &&.
.
OPERADOR PARA arquivos/
-d Verifica se é diretório,
-f Verifica se é arquivo,
-e Verifica se existe.
.
Ex:
# !/bin/baxh
# Uso de Estrutura de Decisão
clear
echo 'opções'
echo '======'
echo ' -> Data do Sistema'
echo ' -> Uso do Sistema'
read opcao
if [ "$opcao" -eq 1 ]
then
echo 'Data do sistema: ' && date
elif [ "$opcao" -eq 2 ]
then
echo 'Uso do disco: ' && df -Th
fi
# Fim do script
.
ESTRUTURAS DE REPETIÇÃO (FOR)(WHILE)
.
ESTRUTURA DE REPETIÇÃO FOR
Permite que ações de iteração sejam executadas sobre determinados comandos ou variáveis até que a condição seja satisfeita.
# !/bin/bash
clear
echo "DIAS DA SEMANA"
for dia in seg ter qua qui sex sab dom
do
echo "$dia"
done
# Fim do script
.
ESTRUTURA DE REPETIÇÃO WHILE
Em situações onde sabemos até onde o loop irá realizar uma contagem o ideal é usar o for entretanto em cenarios onde a iteração deve cessar somente após se satisfazer uma condição o uso do laço while é mais indicado. Ex:
# /bin/bash
clear
var=1
while [ $var -le 7 ]
do
echo "Valor de var: $var"
var=$((var+1))
done
# Fim do script
.
FUNÇÕES E ARGUMENTOS
Ex:
# !/bin/bash
# REALIZAR BACKUP DO DIR
echo -e " \033[1;33m Digite o caminho de origem.: \033[0m "
read DIR_ORIGEM
clear
echo -e " \033[1;34m Digite o caminho de destino.: \033[0m "
read DIR_DESTINO
clear
verifica_argumentos(){
if [ $# -lt 1 ];
then
echo "Faltou informar um dos argumentos (parametros) necessarios!"
exit 1
fi
}
copia_arquivos(){
verifica_argumentos
clear
echo "Realizando backup..."
#Verificando se o dir de destino existe
if ! [ -d $DIR_DESTINO ]
then
mkdir $DIR_DESTINO
echo "Diretorio de Destino Criado"
fi
#COPIANDO ARQUIVOS
for arq in `ls $DIR_ORIGEM`
do
cp /$DIR_ORIGEM/$arq $DIR_DESTINO/$arq.bak
done
}
copia_arquivos
# Fim do script
DEFINIÇÕES DE VARIÁVEIS E ESCOPO DESTAS
Variáveis são definidas pela nomenclatura NOME_VARIAVEL="Valor da Variável". O valor pode ser tanto numérico quanto texto.
Nome="Joel"
Se quisermos acessá-la, basta fazer referência a ela com o caractere $ (cifrão) antes do nome: o comando echo $Nome, por exemplo, retornará a palavra "Joel".
Se quiser sabe informações sobre os sistemas de arquivo nos quais cada ARQUIVO reside ou, por padrão, sobre todos os sistemas de arquivos posso abrir um terminal e digitar:
VarInfo="df -h"
Depois digito no terminal "$VarInfo" sem aspas.
.
VARIÁVEIS DE AMBIENTE
As variáveis de ambiente independem da definição do usuario. Elas são criadas automaticamente, no momento em que se faz o login no sistema.
Ex:
PATH: define diretórios de procura por programas executados no shell;
USER: informa o nome do usuário do shell;
HOME: informa o caminho do diretório home do usuário;
PWD: diretório atual;
.
As variáveis são a base de qualquer script. É dentro delas que os dados obtidos durante a execução do script serão armazenados. Para definir uma variável, basta usar o sinal de igual "=" e para ver seu valor, usa-se o "echo":
.
Execute estes comandos abaixo no terminal:
.
VARIAVEL="um dois tres"
echo $VARIAVEL
echo $VARIAVEL $VARIAVEL
.
Para remover a variável acima:
unset VARIAVEL
.
Teste:
echo $VARIAVEL
.
É possível armazenar a saída de um comando dentro de uma variável. Ao invés de aspas, o comando deve ser colocado entre "$(...)", execute no terminal os comandos abaixo:
HOJE=$(date)
echo "Hoje é: $HOJE"
unset HOJE
echo $HOJE
HOJE=$(ls)
echo "O conteúdo desta pasta tem: $HOJE"
unset HOJE
echo $HOJE
HOJE=$(free -hmt)
echo "Informando sobre a memória desta máquina: $HOJE"
unset HOJE
echo $HOJE
.
Exemplos de uso do shell script:
Apagar arquivos velhos - Apagar periodicamente arquivos mais velhos que 30 dias do diretório /tmp:
#!/bin/bash
cd /tmp
find . -type f -mtime +30 -delete
# Fim do script
Este seria o conteúdo de um shell script que sempre que fosse executado apagaria arquivos com data de modificação maior que 30 dias a partir do diretório /tmp do sistema de arquivos.
Notem que ele é nada mais do que uma associação de 2 comandos (cd e find) em um arquivo para facilitar a repetição da tarefa. Este poderia ser, por exemplo, o conteúdo do arquivo /bin/limpatmp.sh e poderíamos chamar este script pela linha de comandos sempre que desejássemos repetir esta ação:
$ limpatmp.sh
Onde o símbolo "$" representa o prompt de comandos. Do ponto de vista do usuário este seria mais um comando disponível para uso.
Os scripts em shell são também muito empregados junto à inicialização do sistema (para auto-iniciar tarefas) ou como mini-aplicativos, que facilitam tarefas dos usuários, tais como montagem de dispositivos, menus de ajuda, etc.
Sua primeira linha obrigatoriamente começa com um "#!" (que não se deve confundir com um comentário qualquer, pois realmente é uma exceção; este par se chama, em inglês, de shebang), informando diretamente ao núcleo (kernel) qual interpretador ele deverá usar, juntamente com seu caminho, de acordo com a necessidade de cada caso. Exemplo:
#!/bin/bash
Em seguida, são adicionados os comandos desejados, um por linha, ou separados por ponto e vírgula. Exemplo:
mount -t reiserfs /dev/hda1 /mnt/hda1
ls /mnt/hda1
cp -r /mnt/hda1/* /home/user/backup
umount /dev/hda1
Por fim, dá-se a permissão de execução a este arquivo de texto simples ("chmod +x arquivo").
.
DATA ANTERIOR
.
#!/bin/bash
# Função em Bash para retornar a data anterior, levando em conta o mês e ano.
fn_data_anterior()
{
DIA=$D
MES=$M
ANO=$A
# Dado DIA, MES e ANO numéricos, obtém a data do dia anterior
DIA=`expr $DIA - 1`
if [ $DIA -eq 0 ]; then
MES=`expr $MES - 1`
if [ $MES -eq 0 ]; then
MES=12
ANO=`expr $ANO - 1`
fi
DIA=`cal $MES $ANO`
DIA=`echo $DIA | awk '{ print $NF }'`
fi
}
ano=`date +%Y`;
mes=`date +%m`;
let dia=10\#`date +%d`;
if (( $dia". Para guardar a saída do comando anterior no arquivo "saida", basta fazer:
cat /etc/passwd | grep root | cut -c1-10 > saida
cat saida
.
O COMANDO TEST
O canivete suíço dos comandos do shell é o "test", que consegue fazer vários tipos de testes em números, textos e arquivos. Ele possui várias opções para indicar que tipo de teste será feito, algumas delas:
-lt Núm. é menor que (LessThan)
-d É um diretório
-gt Núm. é maior que (GreaterThan)
-f É um arquivo normal
-le Núm. é menor igual (LessEqual)
-r O arquivo tem permissão de leitura
-ge Núm. é maior igual (GreaterEqual)
-s O tamanho do arquivo é maior que zero
-eq Núm. é igual (EQual)
-w O arquivo tem permissão de escrita
-ne Núm. é diferente (NotEqual)
-nt O arquivo é mais recente (NewerThan)
= String é igual
-ot O arquivo é mais antigo (OlderThan)
!= String é diferente
-ef O arquivo é o mesmo (EqualFile)
-n String é não nula
-a E lógico (AND)
-z String é nula
-o OU lógico (OR)
.
SCRIPT QUE TESTA ARQUIVOS
Tente fazer um script "testa-arquivos", que pede ao usuário para digitar um arquivo e testa se este arquivo existe. Se sim, diz se é um arquivo ou um diretório.
.
CONCEITOS MAIS AVANÇADOS
.
If, for e while
.
Assim como qualquer outra linguagem de programação, o shell também tem estruturas para se fazer condicionais e loop. As mais usadas são if, for e while.
.
Então daqui por diante, sabemos o básico, o necessário para se fazer um script de funcionalidade mínima. E este mínimo pode fazer coisas incríveis.
.
Ex:
if COMANDO
then
comandos
else
comandos
fi
# Fim do script
Ex:
for VAR in LISTA
do
comandos
done
# Fim do script
Ex:
while COMANDO
do
comandos
done
# Fim do script
.
Diferente de outras linguagens, o if testa um comando e não uma condição. Porém como já conhecemos qual o comando do shell que testa condições, é só usá-lo em conjunto com o if. Por exemplo, para saber se uma variável é maior ou menor do que 10 e mostrar uma mensagem na tela informando:
.
Ex:
if test "$VARIAVEL" -gt 10
then
echo "é maior que 10"
else
echo "é menor que 10"
fi
# Fim do script
.
Há um atalho para o test , que é o comando [. Ambos são exatamente o mesmo comando, porém usar o [ deixa o if mais parecido com o formato tradicional de outras linguagens:
.
Ex:
if [ "$VARIAVEL" -gt 10 ]
then
echo "é maior que 10"
else
echo "é menor que 10"
fi
# Fim do script
.
Se usar o [, também é preciso fechá-lo com o ], e sempre devem ter espaços ao redor. É recomendado evitar esta sintaxe para diminuir suas chances de erro.
.
Já o while é um laço que é executado enquanto um comando retorna OK. Novamente o test é bom de ser usado. Por exemplo, para segurar o processamento do script enquanto um arquivo de lock não é removido:
.
Ex:
while test -f /tmp/lock
do
echo "Script travado..."
sleep 1
done
# Fim do script
.
Ex:
E por fim, o for percorre uma lista de palavras, pegando uma por vez:
for numero in um dois três quatro cinco
do
echo "Contando: $numero"
done
# Fim do script
.
Uma ferramenta muito útil para usar com o for é o seq, que gera uma seqüência numérica.
.
Para fazer o loop andar 10 passos, pode-se fazer:
for passo in $(seq 10)
.
O mesmo pode ser feito com o while, usando um contador:
i=0
while test $i -le 10
do
i=$((i+1))
echo "Contando: $i"
done
# Fim do script
.
Até Breve
.
.
🙂
.
Guia Pós Instalação Raspberrypi 3
Comandos-Raspberrypi-Stretch
.
Primeiro vou no menu do sistema > Preferências > Raspberry Pi Configuration > Localisation. Ai clico em Set Locale, depois em Set Timezone, e em Set Keyboard.
.
Atualizar e fazer upgrade:
.
sudo apt-get update && sudo apt-get dist-upgrade ; sudo apt-get clean
.
sudo sh -c "apt-get update && apt-get upgrade -y ; apt-get install -f ; apt-get
dist-upgrade -y ; apt-get install -f ; dpkg --configure -a ; apt-get clean"
.
Reinicio o sistema:
.
sudo reboot
.
Alterar a senha:
.
psswd
.
A senha original é “raspberry” sem aspas e troco ela por uma senha de minha escolha com maiúsculas, minusculas, simbolos e números. Tres de cada pelo menos.
.
Informações gerais do Raspberry PI
.
cat /proc/cpuinfo
.
O /proc é um sistema de ficheiros, muitas das vezes também designado como directório virtual, por ser mantido pelo Kernel do nosso sistema operativo e que disponibiliza diversas informações em real-time do nosso sistema. Para saber mais informações sobre o CPU basta executar o comando acima.
.
Saber a versão do Kernel:
.
more /proc/version
.
Temperatura interna do PI
.
Para saber a temperatura interna do PI basta executar o seguinte comando:
.
vcgencmd measure_temp
.
Para saber a velocidade de relógio de outros componentes como h264, isp, v3d, uart, pwm, emmc, pixel, vec, hdmi, ou dpi, podem usar o seguinte script:
.
#!/bin/bash
for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do \
echo -e "$src:\t$(vcgencmd measure_clock $src)" ; \
done
# Fim do script
.
Memória de CPU vs GPU
Sabe qual a memória que tem actualmente partilhada entre o CPU e GPU? Para saber execute o seguinte comando:
vcgencmd get_mem arm && vcgencmd get_mem gpu
.
Codecs
.
Saber quais os codecs activos no sistema? É fácil.
.
Para isso basta que use o seguinte conjunto de instruções:
.
for codec in H264 MPG2 WVC1 MPG4 MJPG WMV9 ; do \
echo -e "$codec:\t$(vcgencmd codec_enabled $codec)" ; \
done
.
Resumindo, os comandos que estou usando hoje em dia são estes abaixo:
$ sudo apt-get update
$ sudo apt-get dist-upgrade -y
$ sudo apt-get clean
$ sudo apt-get install -f
$ sudo dpkg --configure -a
.
Antes era comum usar os comandos abaixo git e certifications para acessar o github.
.
$ sudo apt-get install ca-certificates
$ sudo apt-get install git-core
$ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update
$ sudo chmod +x /usr/bin/rpi-update
update firmware
.
Hoje em dia, eu só uso estes comandos abaixo:
$ sudo apt-get update
$ sudo apt-get dist-upgrade -y
$ sudo apt-get clean
$ sudo apt-get install -f
$ sudo dpkg --configure -a
$ sudo reboot
$ sudo rpi-update
$ sudo reboot
$ sudo ldconfig
.
Todos de uma só vez:
.
sudo sh -c "apt-get update ; apt-get dist-upgrade -y ; sleep 4 ; apt-get install -f
; dpkg --configure -a ; sleep 4 ; rpi-update ; sleep 4 ; reboot"
.
E por fim:
.
sudo ldconfig
.
Instalo alguns programas:
.
sudo apt-get install -y fortune cowsay fortunes-br youtube-dl seahorse links elinks
w3m cmus firejail gufw aria2 gnome-mpv rhythmbox musique gnome-chess gnuchess ; sudo
apt-get install -f ; sudo dpkg --configure -a ; sudo apt-get clean
.
Posso editar o .bashrc do Raspberrypi
.
cd
leafpad .bashrc
.
Colo o texto abaixo no fim do .bashrc, mas antes faço um cópia do .bashrc original usando o mouse copiando e renomeando o arquivo copiado para “.bashrc.bak” para eu ver o .bashrc que é um arquivo oculto, abro o gerenciador de arquivos na pasta “pi” teclo Ctrl+H.
.
# Biscoitos da Sorte
#
fortune | cowsay
#
# ESCONDER USUÁRIO E NOME DA MÁQUINA
#
export PS1="\W \$"
#
# ATIVAR FIREWALLS
#
alias fire="sudo su -c 'apt install gufw firewalld -y ; systemctl start
firewalld.service ; firewall-cmd --state ; ufw enable ; ufw status verbose ;
systemctl enable firewalld'"
#
# LIMPAR O TERMINAL
#
alias c="clear"
#
# FECHAR O TERMINAL
#
alias e="exit"
#
# ROOT
#
alias rt="sudo su"
#
# DESLIGAR
#
alias desl="sudo shutdown -h now"
#
# REINICIAR
#
alias rbt="sudo shutdown -r now"
#
# ATIVAR ALTERAÇÃO ALIASES
#
alias sbrc="source .bashrc"
#
# ATUALIZAÇÃO DO SISTEMA
#
# Update
#
alias up="sudo apt-get update"
alias upt="sudo apt-get check ; sudo apt-get update && sudo apt-get upgrade -y ;
sudo apt install -f ; sudo apt update ; sudo apt full-upgrade -y ; sudo apt install
-f ; sudo dpkg --configure -a"
#
# ATUALIZAR DATABASE REPOSITORIOS
#
alias atu="sudo apt-get update"
#
# INSTALAR
#
alias it="sudo apt install"
#
# REMOVER
#
alias rem="sudo apt remove"
#
# BUSCAR POR ARQUIVOS
#
alias sef="apt search"
#
# BUSCAR
#
alias busc="apt-get search"
#
# BUSCAR POR PACOTES
#
alias sep="apt cache"
#
# NAVEGAR PELA HOME
#
alias ..="cd .."
alias pi="cd /home/pi"
alias at="cd Área\ de\ Trabalho/"
alias vid="cd Vídeos/"
alias mus="cd Música/"
alias docs="cd Documentos/"
alias doc="cd Documents/"
alias img="cd Imagens/"
alias dow="cd Transferências/"
#
# O QUE TEM E ONDE ESTOU
#
alias otem="ls -t ; pwd"
#
# CAMINHO PARA DOWNLOADS PARA CRIAR PASTA
#
alias dwpt="cd ; cd Downloads ; mkdir"
#
# SEMI-SCRIPT
#
alias dia="echo ; echo 'Pelo calendário hoje é:' ; cal ; sleep 4 ; echo ; echo 'O
dia e hora é:' ; date ; sleep 4 ; echo ; echo 'A máquina está ligada a:' ; uptime ;
echo ; sleep 4 ; echo ; echo 'quem está usando a máquina:' ; whoami ; sleep 4 ; echo
; echo 'os usuários da máquina são:' ; w ; sleep 4 ; echo ; echo 'Que arquivos e
pastas existem aonde estou agora?' ; ls -t ; sleep 4 ; echo ; echo 'Onde estou no
sistema' ; pwd ; sleep 4 ; echo"
#
# ALIAS PARA COMANDOS DE DATA E HORA
#
alias d='date +%F'
alias agora='date +"%T"'
alias hoje='date +"%d/%m/%Y"'
#
# ALIASES HISTÓRICO
#
alias hm="history | more"
alias hg="history | grep -i"
#
# PARA OBTER INFORMAÇÕES DO SISTEMA
#
alias df="df -Tha --total"
alias du="du -ach | sort -h"
alias free="free -mt"
alias ps="ps auxf | more"
#
# ATALHOS PARA LISTAGENS DE DIRETÓRIOS
#
alias ll='ls -l'
alias lf='ls -F'
alias l='ls -al'
alias lm="ls -al | more"
#
# ALIASES ATIVAR SCRIPT
#
alias chm="chmod +x"
#
alias chma="chmod a+x"
#
# Atualizar usando apt-get
#
alias get1="sudo apt-get check ; sudo apt-get update"
#
alias get2="sudo apt-get check ; sudo apt-get update ; sudo apt-get upgrade"
#
alias get3="sudo apt-get check ; sudo apt-get update ; sudo apt-get dist-upgrade -y"
#
alias gfix="sudo apt-get check ; sudo apt install -f ; sudo dpkg --configure -a"
#
alias gfix2="sudo apt-get check ; sudo apt-get update ; sudo apt-get upgrade ; sudo
apt-get dist-upgrade -y ; sudo apt-get install -f ; sudo dpkg --configure -a ; sudo
update-grub"
#
alias superup="sudo sh -c 'apt-get update ; apt-get dist-upgrade -y ; sleep 4 ; apt-
get install -f ; dpkg --configure -a ; sleep 4 ; apt-get clean ; rpi-update ; sleep
4 ; reboot'"
#
# Fim dos aliases
.
Para assistir videos usando o sistema operacional oficial do Raspberrypi usa “omxplayer” via terminal.
.
Navega pelo terminal até onde está o arquivo de vídeo, ou usa o gerenciador de arquivos até o video e manda abrir o terminal na pasta onde o vídeo está.
.
sudo apt-get update ; sudo apt-get -y install omxplayer
.
Para executar um video:
.
omxplayer nome_do_video.mp4
.
Se estou usando HDMI:
.
omxplayer -o hdmi nome_do_video.mp4
.
omxplayer -o hdmi -fullscreen -maximized nome_do_video.mp4
.
Comandos disponíveis:
.
Usage: omxplayer [OPTIONS] [FILE]
Options :
-h / --help print this help
-n / --aidx index audio stream index : e.g. 1
-o / --adev device audio out device : e.g. hdmi/local
-i / --info dump stream format and exit
-s / --stats pts and buffer stats
-p / --passthrough audio passthrough
-d / --deinterlace deinterlacing
-w / --hw hw audio decoding
-3 / --3d mode switch tv into 3d mode (e.g. SBS/TB)
-y / --hdmiclocksync adjust display refresh rate to match
video (default)
-z / --nohdmiclocksync do not adjust display refresh rate to
match video
-t / --sid index show subtitle with index
-r / --refresh adjust framerate/resolution to video
-l / --pos start position (in seconds)
--boost-on-downmix boost volume when downmixing
--subtitles path external subtitles in UTF-8 srt form at
--font path subtitle font
(default: /usr/share/fonts/truetype/
freefont/FreeSans.ttf)
--font-size size font size as thousandths of screen height
(default: 55)
--align left/center subtitle alignment (default: left)
--lines n number of lines to accommodate in the
subtitle buffer (default: 3)
.
Atalhos de teclado:
.
Space or p Pause/Resume
q Exit OMXPlayer
z Show Info
- Decrease Volume
+ Increase Volume
i Previous Chapter
o Next Chapter
Left Arrow Seek -30
Right Arrow Seek +30
Down Arrow Seek -600
Up Arrow Seek +600
1 Increase Speed
2 Decrease Speed
j Previous Audio stream
k Next Audio stream
n Previous Subtitle stream
m Next Subtitle stream
s Toggle subtitles
d Subtitle delay -250 ms
f Subtitle delay +250 ms
.
Comandos-treinamento-terminal-raspberrypi
.
Comando: ls > lista conteudo da pasta
.
ls -l
.
ls -t
.
ls -a
.
ls -ta
.
ls -tal
.
Comando: lsblk > lista partições, pendrives, hd externos
.
lsblk -l
.
Comando: md5sum > verifica integridade de arquivos
.
sudo md5sum nome-do-arquivo.extensão
.
Comando: dd > converte e copia arquivos
.
# dd if=/home/user/Downloads/debian.iso of=/dev/sdb1 bs=512M; sync
.
Comando: uname > informação detalhada sobre a máquina, nome, sistema operacional e kernel.
.
uname -a
.
Comando: history > longa lista de comandos executados pelo terminal.
.
history
.
Usar a teclas Ctrl+R > pesquisa reversa
.
Comando: sudo > super user do
.
Comando: touch > atualiza acesso e modificação de tempo dos arquivos.
.
touch nome_do_arquivo.mp4
.
Comando: chmod > mudo permissão de um arquivo.
.
Tem 3 tipos de permissão. Ler (r) = 4, escrever = 2, executar (x) = 1, então se quiser que um arquivo tenha permissão apenas de leitura o valor a ser usado é 4, para apenas escrever o valor é 2 e para executar o valor será 1, um arquivo pode ter todos eles o 4 o 2 e o 1 o primeiro é o dono depois grupo de usuários e por fim world
.
rwxr-x–x nome-do-arquivo.sh > a permissão de root é rwx > ler, escrever e executar. Para mudar permissões owner, group e world usa-se:
.
chmod 777 nome-do-arquivo.sh
.
Para ler e escrever todos:
.
chmod 666 nome-do-arquivo.sh
.
o owner le, escreve e executa e o resto apenas executa:
.
chmod 711 nome-do-arquivo.sh
.
Comandos para saber sobre a BIOS e placa mãe
.
sudo dmidecode -s bios-version
.
sudo dmidecode | less
.
Comandos para Gerenciar Arquivos
.
O comando:
.
pwd = Saber em que pasta está
.
ls = Listar arquivos
ls -R = Listar arquivos recursivamente
.
cd = Mudar de pasta
cd .. = Volta uma pasta
.
rm = Remove arquivos
rm nome_do_arquivo
.
rm -r = Remove pasta
rm -r nome_da_pasta
.
mv = Move arquivos
mv arquivo1 novo_arquivo1
[o arquivo1 está em Downloads]
mv arquivo1 /home/user/Documentos
.
cp = Copia arquivos
cp -r /home/user/Documentos /home/user
.
mkdir = Cria pastas
cd
cd Documentos/
mkdir pasta_teste
cd pasta_teste/
mkdir pasta1 pasta2 pasta3
ls -R
ls -t
ls -l
ls -la
ls -lah
.
ln = Cria links
.
Criar link de Downloads na Área de trabalho:
.
ln -s /home/user/Downloads /home/user/Área de trabalho
.
chmod = Muda permissões
.
chmod +x script.sh = Dá permissão
chmod -x script.sh = Remove permissão
.
chown = Muda permissões de grupo de um arquivo
chown user nome_do_arquivo = muda a permissão para o usuário user
.
touch = Cria arquivos vazios
.
touch arquivo_teste1
ls -t
.
df = Mostra espaço de disco do sistema
df -h
.
free
free -m
.
top
.
uname -a
.
lsb_release -a
.
ifconfig
.
iwconfig
.
ps
.
lscpi
.
lsusb
.
lshal
.
lshw
.
grep
.
sed
.
cat
.
nano
.
less
.
adduser
.
passwd
.
who
.
addgroup
.
sudo addgroup $nome_do_grupo
.
delgroup
.
sudo delgroup $nome_do_grupo
.
man intro
.
info info
.
man man
.
man -k foo
.
man -k caja
.
man -k nautilus
.
Usando Wildcards
.
Sometimes you need to look at or use multiple files at the same time.
For instance, you might want to delete all .rar files or move all .odt files to another directory. Thankfully, you can use a series of wildcards to accomplish such tasks.
* matches any number of characters. For example, *.rar matches any file with the ending .rar.
? matches any single character. For example, ?.rar matches a.rar but not ab.rar.
[characters] matches any of the characters within the brackets. For example, [ab].rar matches a.rar and b.rar but not c.rar.
[!characters] matches any characters that are not listed. For example, [!ab].rar matches c.rar but not a.rar or b.rar.
./configure && make && make install
.
# Trabalhando do a rede [Network] pelo terminal, testo comandos abaixo:
.
curl -O website.com/file
.
wget website.com/file
.
ping -c 4 google.com
.
tracepath exemplo.com
.
mtr exemplo.com
.
host 208.43.115.82
.
whois example.com
.
ifplugstatus
.
ifplugstatus eth0
.
ifconfig
.
ifconfig eth0
.
sudo dhclient -r
.
sudo dhclient
.
Comandos para particionar:
.
sudo fdisk /dev/sda
.
df -h
.
pydf
.
sudo parted -l
.
lsblk
.
sudo fdisk -l
.
sudo sfdisk -l -uM
.
sudo cfdisk
.
Performance do disco:
.
iostat -x 60
.
sudo smartctl -a /dev/sda1
.
Instalar apenas os programas que realmente usa e/ou precisa, minimiza vulnerabilidades.
.
Achar a fonte do manual de um comando usa “whereis nome_do_comando”
.
~ $whereis top
top: /bin/top /usr/share/man/man1/top.1
.
~ $nano /bin/top /usr/share/man/man1/top.1
.
Para abrir um programa pelo terminal começa usando o comando “which nome_do_programa”
.
~ $which rhythmbox
/usr/bin/rhythmbox
.
~ $firejail /usr/bin/rhythmbox
.
Sai do programa apertando as teclas Ctrl+C
.
usando o comando WHOIS obter informação do endereço de IP
.
Instalar a ferramenta: “whois”
.
whois 216.58.206.46
.
whois google.com
.
Ferramenta badblocks verifica setores ruins em um disco.
.
Usa primeiro o comando fdisk
.
sudo fdisk -l
.
Verifica o disco para verificar setores ruins com:
.
sudo badblocks -v /dev/sdxx > badsectors-xx.txt
.
Exemplo:
.
sudo badblocks -v /dev/sda1 > badsectors-a1.txt
sudo badblocks -v /dev/sda2 > badsectors-a2.txt
sudo badblocks -v /dev/sdb1 > badsectors-b1.txt
.
Verificar setores ruins com smartmontools
.
Instala a ferramenta smatmontools
.
man smartctl
smartctl -h
.
sudo smartctl --all /dev/sda
sudo smartctl --all /dev/sda1
sudo smartctl --all /dev/sda2
sudo smartctl --all /dev/sdb
sudo smartctl --all /dev/sdb1
.
sudo smartctl -H /dev/sda
sudo smartctl -H /dev/sda1
sudo smartctl -H /dev/sda2
sudo smartctl -H /dev/sdb
sudo smartctl -H /dev/sdb1
.
Instalar apenas os programas que realmente usa e/ou precisa, minimiza vulnerabilidades.
.
O comando “chkconfig” mostra que serviços estão correndo no nivel 3
.
sudo /sbin/chkconfig --list |grep '3:on'