LPI-Aula2
Transcript of LPI-Aula2
![Page 1: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/1.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 1/38
Formação de Administradores
de Redes LinuxLPI – level 1
Aula 2SENAC TI
Fernando Costa
![Page 2: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/2.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 2/38
Agenda• Introdução ao Shell
• Variáveis do shell• Usando símbolos
coringa
• Síntese• Exercícios
![Page 3: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/3.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 3/38
O shell• Como todo computador necessidade de
uma interface uma humana, no linux amais simples delas é o shell
• Em termos técnicos o shell é uminterpretador de comandos que analisa
o texto digitado na linha de comandos eos executa produzindo algum resultado
![Page 4: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/4.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 4/38
Contexto do shell
HARDWAREHARDWARE
KERNELKERNEL – – Cérebro/CoraçãoCérebro/Coração do sistema operacionaldo sistema operacional
SHELL – Interpreta comandos Bibliotecas
Usuários / Programas $ ls
“ls” é um comando
![Page 5: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/5.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 5/38
Contexto do shell
HARDWAREHARDWARE
KERNELKERNEL – – Cérebro/CoraçãoCérebro/Coração do sistema operacionaldo sistema operacional
SHELL – Interpreta comandos Bibliotecas
Usuários / Programas $ ls
Está na biblioteca?
![Page 6: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/6.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 6/38
Contexto do shell
HARDWAREHARDWARE
KERNELKERNEL – – Cérebro/CoraçãoCérebro/Coração do sistema operacionaldo sistema operacional
SHELL – Interpreta comandos Bibliotecas
Usuários / Programas $ ls
Preciso ler o disco...
![Page 7: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/7.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 7/38
Contexto do shell
HARDWAREHARDWARE
KERNELKERNEL – – Cérebro/CoraçãoCérebro/Coração do sistema operacionaldo sistema operacional
SHELL – Interpreta comandos Bibliotecas
Usuários / Programas $ ls
Ler o disco na trilha X,setor Y, do disco Z
![Page 8: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/8.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 8/38
Contexto do shell
HARDWAREHARDWARE
KERNELKERNEL – – Cérebro/CoraçãoCérebro/Coração do sistema operacionaldo sistema operacional
SHELL – Interpreta comandos Bibliotecas
Usuários / Programas $ ls
Carregar a informaçãono endereço H damemória
![Page 9: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/9.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 9/38
Contexto do shell
HARDWAREHARDWARE
KERNELKERNEL – – Cérebro/CoraçãoCérebro/Coração do sistema operacionaldo sistema operacional
SHELL – Interpreta comandos Bibliotecas
Usuários / Programas $ ls
![Page 10: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/10.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 10/38
Prompt do shell• Você já deve ter visto este símbolo no terminal
Linux:
$
• Ele é o prompt de comandos do shell.
• Algumas variações deste símbolo sãopermitidas como nome do computador, diretóriocorrente, etc.
![Page 11: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/11.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 11/38
Prompt do shell• O prompt do shell pode variar
dependendo do usuário que estáutilizando o sistema no momento.
• O sinal "$" significa que um usuáriocomum é que está usando a máquina
• O sisnal "#" significa que o super-usuárioestá usando o sistema.
![Page 12: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/12.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 12/38
Super-Usuário• O super-usuário é o administrador do
sistema Linux. Ele é especial porque tempoderes para fazer absolutamente tudo nosistema.
• Ele é conhecido como usuário "root" ou
"raiz" traduzindo do inglês
![Page 13: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/13.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 13/38
Tipos de shell• Existem várias shells, cada uma com suas
configurações e funcionalidades específicas. Amaior parte das diferenças existentes envolvefacilidade de operação e tipos de configuração.
• Exemplos: – C-SHELL
– BASH (bourne again shell) – KSH (korn shell)
![Page 14: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/14.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 14/38
Mais funcionalidades• Além de ser um interpretador, o shell
também é um poderoso ambiente deprogramação capaz de automatizarpraticamente tudo em um sistema linux.
SHELL SCRIPT
![Page 15: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/15.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 15/38
Variáveis de ambiente• Durante a execução do bash são
mantidas algumas variáveis especiais quecontém alguma informação importantepara a execução do shell.
• Estas variáveis são carregadas no inícioda execução do bash e também podem
ser configuradas manualmente emqualquer momento.
![Page 16: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/16.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 16/38
Variáveis do prompt• A primeira variável que iremos abordar é a
PS1 ou simplesmente Prompt String 1.
• Esta variável guarda o conteúdo doprompt de comandos do bash quando eleestá pronto para receber comandos
![Page 17: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/17.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 17/38
Variável PS2• Existe também a variável PS2 que guarda
o conteúdo do prompt de comandosquando é necessário múltiplas linhas paracompletar um comando
![Page 18: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/18.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 18/38
Variáveis do prompt• Estas duas variáveis do shell não afetam
como o interpretador irá processar oscomandos recebidos, mas podem ser degrande ajuda quando carregaminformações extras como nome dousuário, diretório corrente, etc.
Vamos testar, abram um terminal
![Page 19: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/19.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 19/38
Variável PATH• Outra variável importante do shell é o
PATH. O path guarda uma lista dosdiretórios que contém programas quevocê poderá executar sem passar a linha
de comandos completa do caminho doprograma
Testem: $ echo $PATH /usr/local/bin:/sbin:/bin:/usr/sbin
![Page 20: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/20.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 20/38
Diretório HOME• Repositório do usuário, diretório similar ao
“Document And Settings” do windows.• Para acessar o home de qualquer usuário
utilize o “~”• Exemplos:
# cd ~
$ cd ~# cd ~fernando
![Page 21: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/21.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 21/38
Ordem de execução• É importante que você saiba que o
interpretador de comandos do bash segue aseguinte ordem para achar e executar oscomandos digitados:
1. O comando digitado é um comando interno dointerpretador de comandos?(veremos mais em shell script)
2. Se não for, o comando é um programa executávellocalizado em algum diretório listado na variávelPATH?
3. A localização do comando foi explicitamentedeclarada
![Page 22: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/22.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 22/38
Visualizar as variáveis• Uma lista completa das variáveis do shell
poderá ser obtida com o comando:
set
![Page 23: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/23.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 23/38
Criar variável• Para criar uma variável siga os passos abaixo.
variáveis locais (somente para o shell):TREINAMENTO=“Linux SENAC TI”
variáveis globais (visível por todos os filhos):export TREINAMENTO
Visualizar a árvore de execução dos programas:pstree
![Page 24: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/24.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 24/38
Palavras reservadas• Algumas palavras não podem ser
utilizadas como variáveis, pois são o quechamamos de palavras reservadas doshell.
• São elas: case, do, done, elif, else, esac,fi, for, function, if, in, select, then, until,
while e time.
![Page 25: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/25.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 25/38
Entrando com comandos• Entrar com comandos no shell é mais do que
simplesmente digitá-los.
• Primeiro o comando precisa ser válido e estar nosdiretórios listados na variável PATH ou com sualocalização explícita.
• O comando também pode requerer opções, geralmenteprecedidos pelo símbolo "-" ou "--" e por os argumentos.
• O importante é que cada comando tem sua sintaxecada comando tem sua sintaxeúnicaúnica e pode haver variações dependendo dadistribuição do linux
![Page 26: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/26.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 26/38
Exemplo• Chamada simples: “ls”• A opção ‘-l’ (menos-ele) pode ser acrescentada para
gerar uma lista de arquivos detalhada:Execute:ls -l
• Podemos ainda colocar mais opções: Execute:ls -l -a -t ou ls -lat
![Page 27: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/27.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 27/38
Argumentos de programas• Alguns comandos podem aceitar
argumentos. Para outros comandos sãonecessário. Os argumentos sãoparâmetros que os comandos aceitam ou
necessitam. Vejamos o comando ls:
ls -l *.txt
![Page 28: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/28.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 28/38
Opções obrigatórias• Outra variação possível são os comandos que
precisam obrigatoriamente de uma opção paraexecutar uma tarefa que geralmente não sãoprecedidas pelo traço.
• É comum para esse tipo de comando que suasopções sejam sucedidas por argumentos. Vejacomo exemplo o comando dd:
dd if=bootdisk.img of=/dev/fd0
![Page 29: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/29.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 29/38
Dica quente• Quase todos os comandos aceitam a opção
--help que mostra uma ajuda simples da opçõese argumentos aceitos pelo comando.
• É importante que você tenha em mente que oLinux somente vai executar os comandos quesejam internos do interpretador, ou comandos
cuja localização esteja na variável PATH oucomandos chamados com seu caminho explícito
![Page 30: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/30.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 30/38
Mais de um comando• O bash permite também que você entre
com uma sequência de comandos emuma mesma linha. Para isso você deveseparar os comandos com o símbolo ;
(ponto-e-vírgula)
Exemplo:echo $PS1; echo $PS2
![Page 31: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/31.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 31/38
Histórico: .bash_history• O bash escreve em um arquivo chamado
.bash_history localizado no diretório homede cada usuário o histórico de todos oscomandos digitados.
• Útil para fins de auditoria, relembrar amemória ou simplesmente economizar osdedos
Experimente:history e cat ~/.bash_history
![Page 32: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/32.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 32/38
Atalhos do histórico• !! Executa o último comando digitado
• !n executa o comando na linha n do.bash_history
• !texto executa o comando mais recenteiniciado por “texto”• !texto executa o comando mais recente
que contenha “texto”
![Page 33: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/33.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 33/38
Descobrir o SHELL• Para descobrir o shell que você está
usando:
echo $SHELL
![Page 34: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/34.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 34/38
Navegando pela árvore• O comando "cd" é utilizado para navegar pela árvore de
direórios. Observe que "cd" do linux é um comando, e
portanto seus argumentos devem ser separados dasletras "cd".Exemplo: $ cd /
• O comando acima diz ao bash para ir ao diretório raiz. A
"/" é o símbolo que significa "raiz do sistema dearquivos".
• O comando "cd" sem nenhum argumento diz ao bashpara ir ao diretório home do usuário
• O comando “cd” seguido o “~” tem a mesma função,porém pode ir a diretórios homes de outros usuários
![Page 35: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/35.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 35/38
Onde estou?• o comando pwd mostra o diretório
corrente, conforme o exemplo:
pwd
![Page 36: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/36.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 36/38
Caminhos• Caminho absoluto
– se estou em qualquer diretório e quero acessar odiretório ~fernandocd /home/fernando
• Caminho relativo – acessando partindo do ponto atual, por exemplo:
pwd /usr/bincd ../../home/fernando
![Page 37: LPI-Aula2](https://reader031.fdocuments.pl/reader031/viewer/2022021218/577c7af81a28abe05496bcd8/html5/thumbnails/37.jpg)
8/15/2019 LPI-Aula2
http://slidepdf.com/reader/full/lpi-aula2 37/38
Símbolos “.” e “..”• O símbolo ".." é utilizado para fazer referência a
um diretório imediatamente acima do corrente.ls ../../
• O símbolo "." é utilizado para fazer referência aodiretório corrente. É utilizado para executar umcomando em um diretório que não esteja listado
na PATH../imprime