LPI-Aula2

38
Formação de Administradores de Redes Linux LPI – level 1 Aula 2 SENAC TI Fernando Costa

Transcript of LPI-Aula2

Page 1: LPI-Aula2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Page 38: LPI-Aula2

8/15/2019 LPI-Aula2

http://slidepdf.com/reader/full/lpi-aula2 38/38

Fernando [email protected]