Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à...
Transcript of Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à...
![Page 2: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/2.jpg)
revisÃO
![Page 3: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/3.jpg)
revisãomaNUTENÇÃO DO SISTEMA
◆ $ fsck <opções> <dispositivo>● FileSystem Check ● Existe uma para cara sistema de arquivo diferente:
○ fsck.ext2○ fsck.ext3
◆ $ badblocks <opções> <dispositivo>● Marca blocos defeituosos no HD
○ Ajuda na hora de gravar informações○ O sistema já sabe onde está defeituoso
![Page 4: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/4.jpg)
revisãoAtividades programadas
◆ cron● Daemon que permite agendar execução de comando ou programa● Edição no arquivo /etc/crontab
○ cron.daily, ...
◆ $ at● Agendar tarefa:
○ echo ls | at 19:54● Visualizar tarefas:
○ $ atq● Remover tarefas:
○ $ atrm <NÚMERO DA TAREFA>
![Page 5: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/5.jpg)
revisãoKernel e módulos
◆ Peça central do sistema operacional◆ Controla os dispositivos e periféricos do sistema
Linux não é um Sistema Operacional, é um Kernel
◆ Windows 10 é um sistema operacional● Kernel = Windows NT
https://en.wikipedia.org/wiki/Comparison_of_operating_system_kernels
![Page 6: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/6.jpg)
revisãoKernel e módulos
◆ Kernel (Formado por módulos)
![Page 7: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/7.jpg)
revisãoDaemons e logs
◆ Logs● Arquivos de registro de operações do sistema.
◆ Daemons● Controlam serviços providos pelo sistema, quando necessário. ● Guarda de trânsito
![Page 8: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/8.jpg)
revisãoExecução de programas
◆ $ <comando> ; <comando>: ...● Executa comandos em sequência.
◆ $ ps <opções>● Apresenta processos em execução no terminal que foram iniciados.
◆ $ top <opções> ● Apresenta todos os processos.
◆ $ fg <numero>● Passa um processo para o primeiro plano.
◆ $ bg <numero>● Passa um processo para o segundo plano.
![Page 9: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/9.jpg)
revisãoControle de execução
◆ $ CTRL + C ● Cancela a execução de um processo em primeiro plano.
◆ $ CTRL + z ● Para a execução de um processo em primeiro plano.
◆ $ jobs● Apresenta processos parados ou em segundo plano.
◆ $ kill <opções> <sinal> <número> ● Permite que você envie um sinal a um programa.
![Page 10: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/10.jpg)
redes e internet
![Page 11: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/11.jpg)
Redes e internet➔ Rede é a conexão de duas ou mais máquinas com o objetivo de
compartilhar recursos entre uma máquina e outra:◆ Mensagens◆ Uso de impressoras◆ Compartilhamento de dados◆ Internet◆ Acesso sites
![Page 12: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/12.jpg)
Redes e internet➔ Como a gente se localiza nessa rede de dados então?
◆ Endereço IP● IPV4● IPV6
![Page 13: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/13.jpg)
Redes e internet➔ Endereço de IP:
![Page 14: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/14.jpg)
Redes e internet➔ Tipos de Redes:
◆ LAN - Local Area Network - Conecta computadores em um mesmo espaço físico, normalmente que utilizam o MESMO servidor de internet.
◆ MAN - Metropolitan Area Network - Redes compartilhadas em cidades ou grandes localidades.
◆ WAN - Wide Area Network - Redes que compartilham arquivos entre localidades maiores do que uma cidade (Estados e países)
![Page 15: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/15.jpg)
Redes e internet➔ Tipos de Redes:
![Page 16: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/16.jpg)
cOMANDOS de rede➔ $ wget <url>
◆ Esse comando é utilizado para baixar arquivos diretamente pelo terminal● wget http://website.com/files/file.zip
➔ $ curl◆ Manipula acessos e dados em “sites” da internet (URL)
● Acesso à informações disponíveis na rede:○ curl http://wttr.in/Curitiba
● Verificação de disponibilidade de sites:○ curl -Is https://www.twitter.com -L | grep HTTP/
➔ $ Ssh◆ Comando para gerenciar acesso à servidores
➔ $ git◆ Comando para gerenciar acesso à repositórios
![Page 17: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/17.jpg)
cOMANDOS de rede➔ $ ping <host>
◆ Testa a velocidade da conexão entre você e um servidor◆ Útil para joguinhos multiplayer
● Envia apenas um pacote para testes:○ ping <host> -c 1
➔ $ telnet ◆ Possibilita o acesso remoto à um computador
➔ $ ftp◆ Possibilita a troca de arquivos entre um computador e um outro remoto.
![Page 18: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/18.jpg)
cOMANDOS de rede➔ $ Netcat
◆ Possibilita a troca de mensagens entre dois computadores, via rede LAN.◆ IP não pode ser Privado (10.10.xx.xx)◆ Manual ensina corretamente como deve ser feito o uso
● Cuidado! Você pode dar comandos via netcat, ou seja, alguém pode executar “$ rm - rf /” no seu computador
Extras:
➔ $ PV◆ Monitora o progresso de transferências de arquivos
➔ $ wall◆ Manda mensagens para o usuário que está em outro tty (Terminal)
![Page 19: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/19.jpg)
shell scriptbásico do básico
![Page 20: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/20.jpg)
introdução à shell script➔ Shell Script é utilizado principalmente para tornar nossa vida,
dentro do linux, mais fácil, prática e simples. Muitas de nossas tarefas temos que repetir todos os dias, como abrir os mesmos programas ou esvaziar sempre e lixeira, etc....
➔ Pode ser usado para rodar programas executados a partir do terminal.
➔ Um script nada mais é que uma lista de passos que o seu computador lê e executa para você.
![Page 21: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/21.jpg)
Shell Scriptbásico, relembrando:
➔ $ echo <mensagem> ◆ Imprime a mensagem na tela
➔ $ sleep <número>◆ Espera <número> segundos
➔ $ read <variável>◆ Coleta valor do teclado e coloca na variável
➔ $ >◆ Redirecionamento para arquivo
➔ $ exit◆ Sai do script
![Page 22: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/22.jpg)
shell script
![Page 23: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/23.jpg)
shell scriptcomeçando:
➔ Um Shell Script pode ser escrito em qualquer editor de texto.
➔ Para começar crie um arquivo de texto no diretório que você preferir:◆ Abra o terminal◆ Vá ao diretório onde deseja-se armazenar o arquivo◆ Execute “gedit <nome_do_arquivo>.sh” ◆ Lembre-se que para executar precisamos dar permissões de execução
use “chmod 711 <nome_do_arquivo>.sh”
![Page 24: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/24.jpg)
escrevendo:
➔ Um Shell Script pode ter definido qual interpretador de comandos será usado...
➔ Você poderá usar outros, mas para a aula de hoje usaremos o bash:◆ Na primeira linha digite “#!/bin/bash”◆ É necessário usar o path completo onde se encontra o shell, nesse caso ele
está no diretório /bin/
shell script
![Page 25: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/25.jpg)
exercício:
➔ Escreva seu primeiro script e salve-o:
#!/bin/bash # este é um comentário echo "Seu nome de usuário é:" whoami
shell script
![Page 26: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/26.jpg)
exercício:
➔ Escreva seu primeiro script e salve-o:
#!/bin/bash # este é um comentário echo "Seu nome de usuário é:" whoami
shell script
![Page 27: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/27.jpg)
executando:
➔ Para executar o script basta digitar no terminal◆ ./<nome_do_script>.sh◆ se ele estiver salvo em outro diretorio que não seja o seu atual, é necessário
usarmos o PATH
shell script
![Page 28: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/28.jpg)
Variáveis:
➔ dentro do shell é possivel criar variáveis, assim:◆ nome_da_variavel=<alguma_coisa>◆ nome_da_variavel : sequência de caracteres que deve começar por qualquer
letra maiúcula ou minúscila ou underscore(_)◆ <alguma_coisa>: qualquer dado que deva ser valorado à variável◆ para acessar o valor das variáveis usamos o $ (cifrão) na frente do seu nome
● ex: jamelao=”fruta” echo $jamelao
NOTA: Observe que não pode haver espaços entre o sinal de igual e o nome da variável.( Pois é,o shell apesar de ser lindo tem umas regrinhas bem chatinhas)
shell script
![Page 29: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/29.jpg)
variáveis:
➔ É possível colocar saídas de comandos nas variáveis:◆ nome_da_variavel=$(comando)◆ nome_da_variavel=`comando`
➔ É possível pegar dados do teclado◆ read nome_da_variavel_pra_colocar_o_dado
➔ É possível pegar dados de arquivos◆ nome_da_variavel < hacker.txt
shell script
![Page 30: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/30.jpg)
exercício:
➔ Escreva um comando em uma variável e digite $<variável>. ➔ O que acontece ?➔ Onde podemos usar isso?
Sim, em scripts!
shell script
![Page 31: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/31.jpg)
➔ if [ CONDIÇÃO ];then
AÇÕESfi
◆ Nota: lembre-se sempre de colocar um FI no final de cada if que você abrir◆ Nota: lembre-se de quando utilizar o ‘[ ]’ sempre deixar um espaço ao redor
deles
tomada de decisão - IF
![Page 32: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/32.jpg)
➔ if [ CONDICAO 1 ];then
AÇÕES 1elif [ CONDIÇÃO 2 ];then
AÇÕES 2else
AÇÕES 3fi
tomada de decisão - ELIF E ELSE
![Page 33: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/33.jpg)
➔ Para as condições dentro do podemos usar parâmetros comuns:
◆ [ n string1 ]: o comprimento de string1 é diferente de 0;
◆ [ z string1 ]: o comprimento de string1 é zero;
◆ [ string1 = string2 ]: string1 e string2 são idênticas;
◆ [ string1 != string2 ]: string1 e string2 são diferentes;
CONDIÇÕES DO IF
![Page 34: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/34.jpg)
➔ Para as condições dentro do podemos usar parâmetros comuns:
◆ [ inteiro1 -eq inteiro2 ]: inteiro1 possui o mesmo valor que inteiro2;
◆ [ inteiro1 -ne inteiro2 ]: inteiro1 não possui o mesmo valor que inteiro2;
◆ [ inteiro1 -gt inteiro2 ]: inteiro1 é maior que inteiro2;
◆ [ inteiro1 -ge inteiro2 ]: inteiro1 é maior ou igual a inteiro2;
◆ [ inteiro1 -lt inteiro2 ]: inteiro1 é menor que inteiro2;
◆ [ inteiro1 -le inteiro2 ]: inteiro1 é menor ou igual a inteiro2;
CONDIÇÕES DO IF
![Page 35: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/35.jpg)
➔ Para as condições dentro do podemos usar parâmetros comuns:
◆ [ e nome_do_arquivo ]: verifica se nome_do_arquivo existe;
◆ [ d nome_do_arquivo ]: verifica se nome_do_arquivo é um diretório;
◆ [ f nome_do_arquivo ]: verifica se nome_do_arquivo é um arquivo regular (texto, imagem, programa, docs, planilhas).
CONDIÇÕES DO IF
![Page 36: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/36.jpg)
➔ Normalmente um programa recebe argumentos como entrada, igual aos comandos.
➔ Em shell script não poderia ser diferente:● $0 - contém o nome do script que foi executado● $1 até $n - contém os argumentos na ordem em que foram passados● $# - contém o número de argumentos que foi passado● $* - retorna todos os argimentos
Argumentos
![Page 37: Curso de Linux - petcocelinux.files.wordpress.com€¦ · $ git Comando para gerenciar acesso à repositórios. cOMANDOS de rede $ ping Testa a velocidade da conexão](https://reader033.fdocumentos.tips/reader033/viewer/2022051815/603bb39e522a7a37d8197185/html5/thumbnails/37.jpg)
Esta foi a aula 3!Aula 4 nesta mesma sala, no
mesmo horário.Dúvidas? Perguntas?
Comentários? Presentes?
Guenta ae! Tem chamada!