SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
para Administradores Linux
        Jeronimo Zucco
        jczucco@ucs.br


                          Python Brasil [5]
                         Setembro de 2009
Quem sou eu ?


●   Analista de Suporte da UCS
●   Bacharel em Ciência da Computação - UCS
●   Especialista em Gerência e Segurança de
     Redes – UCS
●   Atua com Linux e servidores web desde 1998
●   Entusiasta de software de código aberto


                                               Python Brasil [5]
                                              Setembro de 2009
Python Brasil [5]
Setembro de 2009
Mas eu sou um SYSADMIN,
  não um Programador !



                     Python Brasil [5]
                    Setembro de 2009
Sysadmins criam programas
para realizar tarefas repetitivas
  (e tediosas) com precisão –
   Todas as linguagens são
          ferramentas !

                               Python Brasil [5]
                              Setembro de 2009
Filosofia UNIX




“Do one thing and do it well”



                           Python Brasil [5]
                          Setembro de 2009
KISS Principle

 “Keep it Simple, Stupid”

           ou

“Keep it Short and Simple”
                        Python Brasil [5]
                       Setembro de 2009
Python é melhor que Bash,
     Perl, Ruby, ... ?
 (coloque sua linguagem
      preferida aqui)

                        Python Brasil [5]
                       Setembro de 2009
OK, OK... Então porque
Python para o Sysadmin?


                      Python Brasil [5]
                     Setembro de 2009
1


Python é fácil de aprender

     sintaxe simples

                        Python Brasil [5]
                       Setembro de 2009
2

 Python é mais descritivo
para estruturas de dados
    complexas: listas,
dicionários, tuplas (leitura
   + simples do código)
                          Python Brasil [5]
                         Setembro de 2009
3


Python é fácil de manter

(alterar e expandir o código)


                            Python Brasil [5]
                           Setembro de 2009
4


 Python é simples mas pode
resolver problemas complexos

 (parser,xml,sockets,etc)

                          Python Brasil [5]
                         Setembro de 2009
5



Python é mais "legível" que
 Perl - mais fácil de manter


                          Python Brasil [5]
                         Setembro de 2009
6

  Python tem mais
bibliotecas que Ruby
   "batteries included:
Python Standard Library"
                       Python Brasil [5]
                      Setembro de 2009
7



Python = + performance
   que shell scripts

                    Python Brasil [5]
                   Setembro de 2009
Talk is cheap,
show me the code !

                 Python Brasil [5]
                Setembro de 2009
Código em Bash

#!/bin/bash               SAIDA:
                               1A
                               1B
for A in 1 2; do
                               2A
 for B in A B; do              2B
  echo "$A $B"
 done
done
                            Python Brasil [5]
                           Setembro de 2009
Código em Perl

#!/usr/bin/perl

foreach $a ('1', '2') {
  foreach $b ('a', 'b') {
    print "$a $bn";
  }
}                            Python Brasil [5]
                            Setembro de 2009
Código em Python

#!/usr/bin/env python

for a in [1, 2]:
 for b in ['a', 'b']:
  print a, b

                            Python Brasil [5]
                           Setembro de 2009
Código em Bash

#!/bin/bash

if [ -d "/tmp" ] ; then
  echo "/tmp is a directory"
else
  echo "/tmp is not a directory"
fi                              Python Brasil [5]
                               Setembro de 2009
Código em Perl

#!/usr/bin/perl

if (-d "/tmp") {
  print "/tmp is a directoryn";
} else {
  print "/tmp is not a directoryn";
}
                                        Python Brasil [5]
                                       Setembro de 2009
Código em Python

#!/usr/bin/env python

import os
if os.path.isdir("/tmp"):
  print "/tmp is a directory"
else:
  print "/tmp is not a directory"
                                     Python Brasil [5]
                                    Setembro de 2009
Alguns Exemplos Python
>>> import os
>>> os.mkdir("/tmp/teste")


>>> import os
>>> dir(os)
'abort', 'access', 'altsep', 'chdir',
'chmod', 'chown', 'chroot',
'close','getcwd', 'getenv', 'geteuid',
'getgid', 'getgroups', 'getlogin', 'getpid',
'getppid', 'getsid', 'getuid', 'isatty', 'kill'
                                             Python Brasil [5]
                                            Setembro de 2009
Expressões Regulares




                        Python Brasil [5]
                       Setembro de 2009
Lendo E-mails




                 Python Brasil [5]
                Setembro de 2009
Usando SSH




              Python Brasil [5]
             Setembro de 2009
Gerando Gráficos




                    Python Brasil [5]
                   Setembro de 2009
Gerando Gráficos




                    Python Brasil [5]
                   Setembro de 2009
Usando o tar




                Python Brasil [5]
               Setembro de 2009
Projetos/Bibliotecas

●   Twisted (Framework for network app)
●   Scapy (Packet Manipulation Program)
●   SQLMap (Automatic SQL Injection Tool)
●   Pcapy (interface with libpcap)
●   Bacula Python Scripts
●   ...



                                             Python Brasil [5]
                                            Setembro de 2009
IPYTHON

           Python Brasil [5]
          Setembro de 2009
?
Perguntas

             Python Brasil [5]
            Setembro de 2009
OBRIGADO

jczucco@gmail.com


                     Python Brasil [5]
                    Setembro de 2009

Mais conteúdo relacionado

Mais procurados

O Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonO Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com Python
Marinho Brandão
 
Python-purple: Desenvolvendo bindings para Python usando o Cython
Python-purple: Desenvolvendo bindings para Python usando o CythonPython-purple: Desenvolvendo bindings para Python usando o Cython
Python-purple: Desenvolvendo bindings para Python usando o Cython
Bruno Abinader
 

Mais procurados (20)

Raspberry Pi + Python
Raspberry Pi + PythonRaspberry Pi + Python
Raspberry Pi + Python
 
Python Poli 2010
Python Poli 2010Python Poli 2010
Python Poli 2010
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Python
 
Desvendando o python
Desvendando o pythonDesvendando o python
Desvendando o python
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o Python
 
O Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonO Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com Python
 
Ruby on Rails e o Mercado
Ruby on Rails e o MercadoRuby on Rails e o Mercado
Ruby on Rails e o Mercado
 
Python e Dispositivos Móveis
Python e Dispositivos MóveisPython e Dispositivos Móveis
Python e Dispositivos Móveis
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Python-purple: Desenvolvendo bindings para Python usando o Cython
Python-purple: Desenvolvendo bindings para Python usando o CythonPython-purple: Desenvolvendo bindings para Python usando o Cython
Python-purple: Desenvolvendo bindings para Python usando o Cython
 
Viagem pelas VMs do python
Viagem pelas VMs do pythonViagem pelas VMs do python
Viagem pelas VMs do python
 
Outpost
OutpostOutpost
Outpost
 
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
 
Python 3k
Python 3kPython 3k
Python 3k
 
Introdução ao Python
Introdução ao PythonIntrodução ao Python
Introdução ao Python
 
Python Brasil 12 - Overlapping Subproblems
Python Brasil 12 - Overlapping SubproblemsPython Brasil 12 - Overlapping Subproblems
Python Brasil 12 - Overlapping Subproblems
 
Por que python? fisl 14 - 2013
Por que python?   fisl 14 - 2013Por que python?   fisl 14 - 2013
Por que python? fisl 14 - 2013
 
Porque python é legal! d
Porque python é legal!  dPorque python é legal!  d
Porque python é legal! d
 
Python para Programadores
Python para ProgramadoresPython para Programadores
Python para Programadores
 

Destaque

What's in the Mix: Felecia Alexander Visual Profile
What's in the Mix: Felecia Alexander Visual ProfileWhat's in the Mix: Felecia Alexander Visual Profile
What's in the Mix: Felecia Alexander Visual Profile
Felecia Alexander
 
Aula formularios 2
Aula formularios 2Aula formularios 2
Aula formularios 2
Denise Lima
 
Making The Contents
Making The ContentsMaking The Contents
Making The Contents
stevenpwells
 

Destaque (20)

Case Studies
Case StudiesCase Studies
Case Studies
 
7 Ideas To Fight Recession
7 Ideas To Fight Recession7 Ideas To Fight Recession
7 Ideas To Fight Recession
 
Governments Powerpoint
Governments PowerpointGovernments Powerpoint
Governments Powerpoint
 
Communicative Competence Patricia
Communicative Competence PatriciaCommunicative Competence Patricia
Communicative Competence Patricia
 
Energy Conservation And Going Green Class 3
Energy Conservation And Going Green Class 3Energy Conservation And Going Green Class 3
Energy Conservation And Going Green Class 3
 
What's in the Mix: Felecia Alexander Visual Profile
What's in the Mix: Felecia Alexander Visual ProfileWhat's in the Mix: Felecia Alexander Visual Profile
What's in the Mix: Felecia Alexander Visual Profile
 
Digital Photography Presentation2 Jan 2010
Digital Photography Presentation2 Jan 2010Digital Photography Presentation2 Jan 2010
Digital Photography Presentation2 Jan 2010
 
Ancient egypt year 5 class 6 - roman
Ancient egypt year 5   class 6 - romanAncient egypt year 5   class 6 - roman
Ancient egypt year 5 class 6 - roman
 
Jesse Marquez: Default Prevention
Jesse Marquez: Default PreventionJesse Marquez: Default Prevention
Jesse Marquez: Default Prevention
 
Aula formularios 2
Aula formularios 2Aula formularios 2
Aula formularios 2
 
Embedding a Slideshow into Wordpress
Embedding a Slideshow into WordpressEmbedding a Slideshow into Wordpress
Embedding a Slideshow into Wordpress
 
Aging with Grace Eldercare Assistance ProgramPpt Final
Aging with Grace Eldercare Assistance ProgramPpt FinalAging with Grace Eldercare Assistance ProgramPpt Final
Aging with Grace Eldercare Assistance ProgramPpt Final
 
2.10 Example Presentation
2.10 Example Presentation2.10 Example Presentation
2.10 Example Presentation
 
Making The Contents
Making The ContentsMaking The Contents
Making The Contents
 
Предприниматель и банк
Предприниматель и банкПредприниматель и банк
Предприниматель и банк
 
Radikal Ungdom twitter oplæg
Radikal Ungdom twitter oplægRadikal Ungdom twitter oplæg
Radikal Ungdom twitter oplæg
 
ulearn presentation
ulearn presentationulearn presentation
ulearn presentation
 
Laurenscalendar
LaurenscalendarLaurenscalendar
Laurenscalendar
 
Conserving Energy And Going Green Class 6 Fall 09
Conserving Energy And Going Green Class 6 Fall 09Conserving Energy And Going Green Class 6 Fall 09
Conserving Energy And Going Green Class 6 Fall 09
 
Frenchic
FrenchicFrenchic
Frenchic
 

Semelhante a Python Para Administradores Linux

Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
gsroma
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
Grupython Ufla
 
Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011
Marco Mendes
 
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Sidney Roberto
 

Semelhante a Python Para Administradores Linux (20)

Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
 
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Bt4 H2HC6th
Bt4 H2HC6thBt4 H2HC6th
Bt4 H2HC6th
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e Tk
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
Apresentacao sfd-poa
Apresentacao sfd-poaApresentacao sfd-poa
Apresentacao sfd-poa
 
Raspberry Pi: o hardware para Python
Raspberry Pi: o hardware para PythonRaspberry Pi: o hardware para Python
Raspberry Pi: o hardware para Python
 
Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4
 
Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014
 
Aprenda a programar python
Aprenda a programar pythonAprenda a programar python
Aprenda a programar python
 
Python Zope Plone - Ftec
Python Zope Plone - FtecPython Zope Plone - Ftec
Python Zope Plone - Ftec
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores Ruby
 
Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011Porque Python? Semana Acadêmica UTFPR 2011
Porque Python? Semana Acadêmica UTFPR 2011
 
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
 
Python Zope Plone - Fiocruz
Python Zope Plone - FiocruzPython Zope Plone - Fiocruz
Python Zope Plone - Fiocruz
 
Python, CPython, Pythonico, Cython
Python, CPython, Pythonico, CythonPython, CPython, Pythonico, Cython
Python, CPython, Pythonico, Cython
 

Último

Último (6)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Python Para Administradores Linux

  • 1. para Administradores Linux Jeronimo Zucco jczucco@ucs.br Python Brasil [5] Setembro de 2009
  • 2. Quem sou eu ? ● Analista de Suporte da UCS ● Bacharel em Ciência da Computação - UCS ● Especialista em Gerência e Segurança de Redes – UCS ● Atua com Linux e servidores web desde 1998 ● Entusiasta de software de código aberto Python Brasil [5] Setembro de 2009
  • 4. Mas eu sou um SYSADMIN, não um Programador ! Python Brasil [5] Setembro de 2009
  • 5. Sysadmins criam programas para realizar tarefas repetitivas (e tediosas) com precisão – Todas as linguagens são ferramentas ! Python Brasil [5] Setembro de 2009
  • 6. Filosofia UNIX “Do one thing and do it well” Python Brasil [5] Setembro de 2009
  • 7. KISS Principle “Keep it Simple, Stupid” ou “Keep it Short and Simple” Python Brasil [5] Setembro de 2009
  • 8. Python é melhor que Bash, Perl, Ruby, ... ? (coloque sua linguagem preferida aqui) Python Brasil [5] Setembro de 2009
  • 9. OK, OK... Então porque Python para o Sysadmin? Python Brasil [5] Setembro de 2009
  • 10. 1 Python é fácil de aprender sintaxe simples Python Brasil [5] Setembro de 2009
  • 11. 2 Python é mais descritivo para estruturas de dados complexas: listas, dicionários, tuplas (leitura + simples do código) Python Brasil [5] Setembro de 2009
  • 12. 3 Python é fácil de manter (alterar e expandir o código) Python Brasil [5] Setembro de 2009
  • 13. 4 Python é simples mas pode resolver problemas complexos (parser,xml,sockets,etc) Python Brasil [5] Setembro de 2009
  • 14. 5 Python é mais "legível" que Perl - mais fácil de manter Python Brasil [5] Setembro de 2009
  • 15. 6 Python tem mais bibliotecas que Ruby "batteries included: Python Standard Library" Python Brasil [5] Setembro de 2009
  • 16. 7 Python = + performance que shell scripts Python Brasil [5] Setembro de 2009
  • 17. Talk is cheap, show me the code ! Python Brasil [5] Setembro de 2009
  • 18. Código em Bash #!/bin/bash SAIDA: 1A 1B for A in 1 2; do 2A for B in A B; do 2B echo "$A $B" done done Python Brasil [5] Setembro de 2009
  • 19. Código em Perl #!/usr/bin/perl foreach $a ('1', '2') { foreach $b ('a', 'b') { print "$a $bn"; } } Python Brasil [5] Setembro de 2009
  • 20. Código em Python #!/usr/bin/env python for a in [1, 2]: for b in ['a', 'b']: print a, b Python Brasil [5] Setembro de 2009
  • 21. Código em Bash #!/bin/bash if [ -d "/tmp" ] ; then echo "/tmp is a directory" else echo "/tmp is not a directory" fi Python Brasil [5] Setembro de 2009
  • 22. Código em Perl #!/usr/bin/perl if (-d "/tmp") { print "/tmp is a directoryn"; } else { print "/tmp is not a directoryn"; } Python Brasil [5] Setembro de 2009
  • 23. Código em Python #!/usr/bin/env python import os if os.path.isdir("/tmp"): print "/tmp is a directory" else: print "/tmp is not a directory" Python Brasil [5] Setembro de 2009
  • 24. Alguns Exemplos Python >>> import os >>> os.mkdir("/tmp/teste") >>> import os >>> dir(os) 'abort', 'access', 'altsep', 'chdir', 'chmod', 'chown', 'chroot', 'close','getcwd', 'getenv', 'geteuid', 'getgid', 'getgroups', 'getlogin', 'getpid', 'getppid', 'getsid', 'getuid', 'isatty', 'kill' Python Brasil [5] Setembro de 2009
  • 25. Expressões Regulares Python Brasil [5] Setembro de 2009
  • 26. Lendo E-mails Python Brasil [5] Setembro de 2009
  • 27. Usando SSH Python Brasil [5] Setembro de 2009
  • 28. Gerando Gráficos Python Brasil [5] Setembro de 2009
  • 29. Gerando Gráficos Python Brasil [5] Setembro de 2009
  • 30. Usando o tar Python Brasil [5] Setembro de 2009
  • 31. Projetos/Bibliotecas ● Twisted (Framework for network app) ● Scapy (Packet Manipulation Program) ● SQLMap (Automatic SQL Injection Tool) ● Pcapy (interface with libpcap) ● Bacula Python Scripts ● ... Python Brasil [5] Setembro de 2009
  • 32. IPYTHON Python Brasil [5] Setembro de 2009
  • 33. ? Perguntas Python Brasil [5] Setembro de 2009
  • 34. OBRIGADO jczucco@gmail.com Python Brasil [5] Setembro de 2009