LPI-Aula2

Post on 05-Jul-2018

216 views 0 download

Transcript of 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

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

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

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

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?

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...

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

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

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

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.

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.

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

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)

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

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.

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

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

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

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

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

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

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

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

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.

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

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 

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

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

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

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

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

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”

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

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

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

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

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

8/15/2019 LPI-Aula2

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

Fernando Costawww.fernandocosta.com.brfernandocosta@gmail.com