Linux shell

2,849 views

Published on

Aula sobre Linux Shell

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,849
On SlideShare
0
From Embeds
0
Number of Embeds
185
Actions
Shares
0
Downloads
141
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Linux shell

  1. 1. Fundamentos de Programação Aplicada a Redes ­ Shell ScriptLinux Shell Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br
  2. 2. ShellShell“É qualquer interface de usuário para o SO Unix. que recebado usuário um input e a converta em instrução para que o SOentenda.”Shell Script“É um arquivo que contém uma série de comandos, funções,rotinas que são executadas quando o shell script é executado.Se digitarmos comando a comando diretamente no shell, oresultado será o mesmo”
  3. 3. ShellExemplos de ShellBourne(sh), C shell (csh), Korn (ksh) - comercial, bash (free) Fonte: Linux Magazine, vol 01. Por Julio Cezar NevesQual Shell estou usando ?[root@localhost fred_m]# echo $SHELL/bin/bash
  4. 4. Comandos– Definem como o programa será executado.– Consiste em uma ou mais palavras, que são separadas por espaços ou TABs.– A primeira palavra é o comando– As palavras restantes são os argumentos/parâmetros Ex: • [root@localhost fred_m]# vi teste.txt • [root@localhost fred_m]# ls /tmp • [root@localhost fred_m]# ls
  5. 5. Argumento – Informação extra passada para a execução do comando – Podem ser nome de objetos ou definir como o comando irá funcionar – Ex: [root@localhost fred_m]# cat /proc/cpuinfo – Opções • Argumentos especiais que dá ao comando instruções específicas de como se comportar • Usualmente consiste em um – seguido de uma letra EX: – [root@localhost fred_m]# uname -s – [root@localhost fred_m]# uname -m – [root@localhost fred_m]# uname -p – [root@localhost fred_m]# uname -a • Podem conter seus próprios argumentos EX: – [root@localhost fred_m]# lp -d lp1 -h myfileOnde: -d define a impressora lp1 | -h imprimir banner | myfile arquivo a ser impress
  6. 6. Arquivos- Arquivos Regulares – Arquivos de texto- Arquivos Executáveis – Também chamados de programas – São executados como comandos – Podem ser: • Compilados • Shell Scripts- Diretórios
  7. 7. Atribuições• Identificada quando o Shell encontra um sinal de igualdade (=)• Separa dois campos sem espaços em branco, entre o (=).• Criam variáveis• Variáveis podem ser lidas pelo comando echoEx:Errado:[root@madeira ~]# $VAR=abash: =a: command not found...Certo:[root@madeira ~]# VAR=ab
  8. 8. VariáveisArmazenam informações durante execução do script ou sistema – Atribuindo valor VARIAVEL=“Teste Linux” – Exibindo o valor echo $VARIAVEL – Atribuindo a saída de um comando VARIAVEL=$(date) VARIAVEL=`date` – Limpando uma variável unset VARIAVEL – Listando todas as variáveis env ou set
  9. 9. PráticaAspas “ ”Ex.: echo “Sou o usuario $USER”Apóstrofos Ex.: echo Sou o usuario $USEREx.: echo Linha com espaços :Barra invertida Ex.: echo Craseex.: echo “Este host chama-se `uname -n`”Parêtesesex.: echo “Este host chama-se $(uname -n)”
  10. 10. Prática– Atribuindo valor NOME=”Frederico Madeira”– Exibindo o valor echo $VARIAVEL– Atribuindo a saída de um comando HOJE=$(date +"%Y%m%d") echo $HOJE AGORA=`+"%H:%M"` echo $AGORA– Visualizando todas as variáveis set env– Limpando uma variável unset NOME unset HOJE AGORA
  11. 11. Características de um Shell- MetacaracteresCaracteres com significado especialEx: &, >, <, |- Caracteres Coringas (wildcards)Caracteres especiais usados junto com os argumentosEx: *, ?, [abc], [a-c],[!0-9]
  12. 12. Conceitos- Entrada Padrão (stdin)Entrada padrão de comandos para o shellEx: teclado, pipe- Saída Padrão (stdout)Saída padrão do do comandoEx: tela, arquivo- Saída de Erro (stderr)Saída padrão para erros de execução do comandoEx: tela, arquivo
  13. 13. ConceitosÉ Case Sensitive.. - Indica o diretório anterior. - Indica o diretório atual~ - Indica o diretório home do usuário# - Comentário[fred_m@localhost teste]$ - Indica conexão sem privilégios de root[root@localhost teste]# - Indica conexão com privilégios de root
  14. 14. Conceitos$ - Definição de variáveis.xxxx - arquivos ocultos| - pipe& (como bg) - Envia aplicativo para background--help – Obtém ajuda sobre utilização do comando
  15. 15. Redirecionamento> : Redireciona a saída padrão do comando a esquerda para o arquivo a direita,sobrescrevendo todo o conteúdo.>> : Redireciona a saída padrão do comando a esquerda para o arquivo a direita,adicionando o conteúdo ao final do arquivo.| : Pipe, redireciona a saída padrão do primeiro comando para a entrada padrão dosegundo comando.Ex:$ cat /etc/passwd | grep root > /tmp/root$ ping -c 1 www.madeira.eng.br > /dev/nullOBS: /dev/null , representa lugar nenhum
  16. 16. Redirecionamento Saída Padrão/Errostderr (2): Saída de Erro.Para redirecionar a saída de erro, usamos: 2>stdout(1): Saída do comandoPara redirecionar a saída do comando, usamos: 1>Para redirecionar ambas usamos: &>Ex:Saída do comando[fred@localhost Linux]$ ping www.madeira.eng.brPING www.madeira.eng.br (69.16.250.4) 56(84) bytes of data.64 bytes from noc88.noc88.com (69.16.250.4): icmp_seq=1 ttl=45 time=300 msSaída de erro[fred@localhost Linux]$ ping www.madeira.eng.br1ping: unknown host www.madeira.eng.br1
  17. 17. Redirecionamento Saída Padrão/ErroComando ok, redir saída de erro[fred@localhost Linux]$ ping -c 1 www.madeira.eng.br 2> /dev/nullPING www.madeira.eng.br (69.16.250.4) 56(84) bytes of data.64 bytes from noc88.noc88.com (69.16.250.4): icmp_seq=1 ttl=45 time=250 msComando errado, redir saída de erro[fred@localhost Linux]$ ping -c 1 www.madeira.eng.br1 2> /dev/nullComando ok, redir saída do comando[fred@localhost Linux]$ ping -c 1 www.madeira.eng.br 1> /dev/nullComando errado, redir saída do comando[fred@localhost Linux]$ ping -c 1 www.madeira.eng.br1 1> /dev/nullping: unknown host www.madeira.eng.br1Comando ok, redir saída do comando e saída de erro[fred@localhost Linux]$ ping -c 1 www.madeira.eng.br &> /dev/nullComando errado, redir saída do comando e saída de erro[fred@localhost Linux]$ ping -c 1 www.madeira.eng.br1 &> /dev/null
  18. 18. Lógica&& - equivalente ao E. O próximo comando só será executado se o anteriortiver sido bem sucedido.|| - equivalente ao OU. Se o comando anterior não for bem sucedido, seráexecutado o próximo comando. OU um OU outro.Ex:$ ping -c 1 www.madeira.eng.br && echo “Site está ok” || echo “Site fora do ar”Forma mais elegante:$ ping -c 1 www.madeira.eng.br &> /dev/null && echo “Site está ok” || echo“Site fora do ar”$ mkfs.ext3 /dev/sda1 && echo “Formatação OK” || echo “Erro na formatação”
  19. 19. Redirecionamento Saída Padrão/ErroPrática1. Redirecione a saída de erro dos comandos abaixo para o arquivo /tmp/error.logtar xvfz teste.tar.gzifconfig ppp0ifconfig eth02. Repita a questão anterior, redirecionando também a saída padrão para /tmp/saida.log (Nãosobrescreva os arquivos)3. Execute os comandos abaixo e retorne as seguintes mensagens (Execute o com ando com umusuário normal): Comando Mensagem Mensagem em caso de NOK OKcat /etc/passwd Listagem OK Falha na listagemcat /etc/audit Listagem OK Falha na listagem
  20. 20. Fundamentos de Programação Aplicada a Redes ­ Shell ScriptLinux Shell Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br

×