Your SlideShare is downloading. ×
0
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Curso Básico/Intermediário Linux -  Colmeia 2008
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Curso Básico/Intermediário Linux - Colmeia 2008

341

Published on

Curso básico ministrado em julho de 2008 no grupo de pesquisa em software livre Colméia, na instituição UDESC de joinville. XP o hardware que o pessoal estava acessando via XDMCP era o meu legado …

Curso básico ministrado em julho de 2008 no grupo de pesquisa em software livre Colméia, na instituição UDESC de joinville. XP o hardware que o pessoal estava acessando via XDMCP era o meu legado notebook um toshiba satellita A20, pentium 4 2.6 GHZ com 512 de RAM rodando Slackware.... momentos nostálgicos .. foram mais de 20 horas de curso.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
341
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. GNU/LINUX Básico/Intermediário “Software livre não quer dizer cerveja de graça” – Richard Stallman
  • 2. Curso para o Colméia O objetivo desta apresentação e tratar sobre software livre e a comunidade, seguido de uma listagem de comandos básicas do GNU/Linux. Durante o curso serão aplicadas listas de exercícios ( vai ter nota =] ) Final do curso serão emitidos os certificados o/ de colméia, você já vai poder dizer para a sua mãe que você é uma abelhinha honorária =] Qualquer reclamação pode enviar e-mail para dev_null@colmeia.udesc.br
  • 3. Nomes Importantes● Ken Thompson e Dennis Richie ● Andrew S. Tanembaum ● Eric Raymond ● Bill Gates ● Richard Stallman ● Steve Jobs ● Jon Maddog Hall ● Kevin Mitnick ● Theo de Raadt ● Linus Torvalds ● Marcelo Tosatti ● Carlos E.Morimoto ● Sergio Amadeu ● Aurélio Marinho Jargas ● Julio Neves ● Piter Punk ● Alfredo Kengi Kojima
  • 4. Personalidades do Software Livre “Stay Hungry, Stay Foolish” - Steve Jobs
  • 5. Ken Thompson e Denis Ritchie ● Criadores da Linguagem C ● Principais criadores do UNIX ● Ganharam o prêmio Turing pela teoria de sistema operacional génerico e a sua implementação o UNIX
  • 6. Andrew S. Tanembaum ● Criador do Minix ● Autor de muitos livros de renome tendo com os mais conhecidos: ● - Computer Networks ● - Modern Operating Systems ● - Structured Computer Organization
  • 7. Eric Raymond ● Autor de Catedral e Bazar ● Autor do “How to become a hacker” ● Autor e mantenedor do The Hacker's Dictionary ● Desenvolvedor nrtools, ncurses, fecthmail, gnu emacs ● Um dos fundadores do movimento Open-Source
  • 8. Bill Gates ● Criador da empresa Microsoft e o sistemas operacionais DOS e Windows ● Início pesado do movimento de software proprietário ● Tornou o computador um produto viável para pessoas normais
  • 9. Richard Stallman ● Criador do movimento do software livre e fudador da FSF ( Free Software Foundation ) ● Fundador da GNU e da licença GNU GPL. ● Criador do emacs, gnu c, gnu debuggers entre outros projetos ... ● Não presiça de apresentação para as pessoas do mundo de software livre
  • 10. Steve Jobs ● Fundador da Apple ● Criador das fontes cifradas ● Criador da Next ● Criador da Pixel ● Inovador na parte computação gráfica ● Criador do sistema Mac OS X baseado no kernel open source do BSD e do math kernel
  • 11. Jon Hall ● Fundador do Open Source ● Diretor da Linux International ● Reconhecido por sua grande participação em eventos pelo mundo ● Também conhecido como papai Noel ● Cadê o Maddog ?
  • 12. Kevin Mitnick ● Considerado maior cracker do mundo ● Revolucionou a segurança do mundo colocando ela à teste ● Tem muitos livros e artigos publicados ● A arte de enganar ● A arte de invadir ● Hoje atua como consultor de segurança
  • 13. Theo de Raadt ● Criador do Openbsd ● Especialista em segurança ● Exímio programador ● Entidade importante do mundo BSD e do movimento Open Source ● Desenvolvedor de ferramentas como, openssh, openvpn ....
  • 14. Linus Tovarld ● Criador do kernel do Linux ● Início o movimento de desenvolvimento de software ao modelo bazar ● Criador do git ● Exímio programador de C
  • 15. Marcelo Tosatti ● Antigo mantenedor do kernel 2.4 ● Trabalha na RedHat no projeto do laptop de 100 dólares
  • 16. Carlos E. Morimoto ● Criador da distribuição brasileira Kurumin ● Programa desde os 7 anos ● Aos 17 anos publicou o seu primeiro livro sobre hardware ● Mantenedor do site guiadohardware
  • 17. Sergio Amadeu ● Um dos precursores na criação de telecentros no brasil ● Escreveu os livros, Exclusão Digital, Software Livre, Software Livre e Inclusão Digital ● Grandes influências no uso de software livre no governo brasileiro
  • 18. Aurélio Marinho Jargas ● Autor do livro guia de expressões regulares, Shell Script ● Escreveu muitos cursos para GNU/Linux ● Mantenedor das funções ZZ ● Trabalhou por muitos anos na conectiva ● Hoje é um nerd despojado
  • 19. Julio Neves ● Autor do livro Shell Script Linux ● Considera o primeiro hacker brasileiro ● Ministra vários cursos de shellscript e palestras
  • 20. Piter Punk ● Roberto Freires Batista ● Desenvolvedor do Slackware ● Mantenedor da revista técnica slackwarezine ● Possui diversos textos e palestras sobre administração de servidores seguros
  • 21. Alfredo Kengi Kojima ● Criador do Windowmaker ● Criador do Synaptic ● Trabalha no MySQL ● Exímio programador
  • 22. Exercício sobre Personalidades É hora da prova =O !!! 10 minutos e um café =]
  • 23. A cultura Hacker “Eu fiz um descoberta hoje. Eu encontrei um computador. Espere um segundo, isto está legal. Faz o que eu quero. Se comete um engano, é porque eu estraguei isto. Não porque não gosta de mim, ou sente atração por mim, ou pensa que sou inteligente, ou não gosta de ensinar e não deveria estar aqui. Criança maldita. Tudo que ele faz é jogar jogos.” - Manifesto Hacker o ultimo texto do Mentor
  • 24. O termo Hacker ● Hacker != cracker ● Contribui para a comunidade ● Escreva programas código-aberto ● Eles não são pagos para te ajudar então um mínimo de esforço se faz necessário para lhe pedir ajuda ● Ajude a testar e depurar software código-aberto ● Publique informação útil ● Sirva à cultura hacker ● Dedicação ao extremo ● The Hacker Crackdown
  • 25. Termos Hackers ● Black Hat ● White Hat ● Script Kid ● Lammer ● Newbie ● Cracker ● Geek ● Phreakers
  • 26. Glider o símbolo hacker ● Simboliza o jogo da vida ● É o símbolo hacker cunhado por Eric Raymond ● Apesar de ser um símbolo que possivelmente poderia ser deturpado o seu nicho de uso ainda se faz bem seleto
  • 27. Propriedade Inteletual ● Começa com a invenção de gunterbag ● Lei brasileira 9610/98 ● Movimento de berna ● OMPI ( Organização mundial de propriedade intelecutal ) ou WIPO ● INPI ● ABES
  • 28. A história do Software Livre ● Sempre houve trabalho em conjunto e com cooperação ● 1976 – Open Letter to Hobbyst ● 1978 – Unix Pago ● 1983 – GNU ● 1985 – FSF ● 1991 – LINUX ● 1993 – Freebsd
  • 29. Software Livre ● As 4 Liberdades do software livre: ● * A liberdade para executar o programa, para qualquer propósito (liberdade nº 0); ● * A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (liberdade nº 1). Acesso ao código-fonte é um pré-requisito para esta liberdade; ● * A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo (liberdade nº 2); ● * A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade nº 3). Acesso ao código-fonte é um pré-requisito para esta liberdade;
  • 30. Movimento do Free Software ● Criado a definição pela GNU e FSF ● Tem uma visão social ● Usa da licenças GPL ● Tem como objetivo criar uma opção gratuita aos programas já existentes
  • 31. Código Fechado ● Fortemente iniciado pelo documento “open-letter- to-hobbyists” ● EULA - End User License Agreement ● Direito do autor ● DLL e Binários
  • 32. Open Source – Código Aberto ● Goodbye, "free software"; hello, "open source" – Eric Raymond ● Criado em 98 ● Motivações ténicas ● FreeBSD, OpenBSD, Linux, Mozilla .... ● Fundador OSI ● Licença Creative Commons
  • 33. Software Livre x Open Source ● Ambos tem o mesmo princípio de base ● Um tem a visão social ● Outro tem a visão técnica
  • 34. Licenças ● BSD ● Apache ● X ● GPL ● LGPL ● Creative Commons ● GFDL
  • 35. Exercícios == Café =] Outch Leis filosofia blahhh !!! 0.o pq eu tenho que estudar isso.... ????
  • 36. Do Unix ao GNU/Linux ● Seria o GNU/Linux tudo? ● Dá onde veio isso de liberar o código fonte ● Então na década de 50 não tinha sistema operacional ● Unix ● GNU ● Minix ● Linux ● FreeBSD ● OpenBSD ● OSI
  • 37. Hardware com sistema especifico ● O hardware possuía um sistema que tinha por finalidade resolver somente um problema específico ● Exemplos de hardwares deste tipo são celulares, microondas, rádios...
  • 38. UNIX ● Criado por AT&T ● Portabilidade, multi- tarefa, multi-usuário ● Tudo é arquivo de texto ● POSIX padrão utilizado nos UNIX-Likes ● Desenvolvido em linguagem de alto nível ● Mantenedor atual do seu padrão é o The Open Group
  • 39. GNU ● Conjunto de programas criados com a licença GPL para ser uma alternativa gratuita para os software UNIX ● Composta por vários desenvolvedores hackers como o RMS e outros...
  • 40. Minix ● BSD License ● Micro Kernel ● Sistema de arquivos próprio ● Livro System Operational ● Voltado para cientistas da computação
  • 41. LINUX ● Ubuntu != Linux >.< ● Criado por Linus Towarld ● Kernel módular ● Blahh blahh =] ● Versão atual 2.6.26 ● 0.o o que mais posso falar sobre o.0? Que vocês não saibam
  • 42. FreeBSD ● Freebsd criado 1993 ● Voltado para servidor ● Grande exemplo de projeto Opensource ● Mascote daemon conhecido como beastie ● Extremamente escalável seguro ● Sistema de arquivos próprio ● Sistema de pacotes ports
  • 43. OpenBSD ● Criado por Theo de Raadt ● Fork do netbsd ● Extremamente voltado para a segurança ● Licença BSD ● Ferramenta de pacotes ports ● Ótima firewall chamada pf
  • 44. OSI ● Criado por Eric Raymond ● Tem como o intuito classificar o novo movimento de software livre ● Grande bum o Goodbye, "free software"; hello, "open source" ● Mozzila projeto da Netscap é derivado
  • 45. Exercício =] É preciso muito exercício para se conseguir alcançar bons níveis de apredizado.... ( daaar Marco )
  • 46. Palavras Chaves ● Saída padrão = stdout ● Entrada padrão = teclado ● arquivo comum = legível por humanos ● arquivo binário = arquivo em código de máquina possivelmente sendo um executável ou uma biblioteca ● bibliotecas = para linux, arquivos .so ● arquivos de dispositivo = links símbolicos para endereços de memória que apontam para algum dispositivo
  • 47. Onde encontrar ajuda ● Whatis ● Apropos ● Man ● Info ● /usr/doc/nome_programa/ ● www.tldp.org ● /usr/doc/Linux-FAQs ● /usr/doc/Linux-HOWTOs
  • 48. Comandos do bin
  • 49. Sessão dos comandos Manipulação de diretórios: cd,ls,pwd,mkdir,rmdir,tree,dirname Manipulação de arquivos: cat,tac,rm,mv,cp,touch,stat,file,ldd,basename Manipulaçào de texto: cut,head,tail,sort,tr,nl,diff,wc,grep,sed Pagers: more,less, ( especial screen ) Compactação: tar,gzip,bzip Comandos de procura: which, whereis,find,locate/updatedb
  • 50. Manipulando diretórios Comando cd – change directory, altera o diretório Forma cd [directory] Argumentos - volta um diretório ~ vai para o diretório pessoal .. sobe um diretorio .. vai para o diretório anterior ./ vai para o diretório atual Exemplos cd cd /usr/share/ cd ../ cd / cd -
  • 51. Manipulando diretórios Comando ls - lista os arquivos de um determinado diretório Forma ls [OPTION]... [FILE]... Parâmetros -a lista tudo inclusive arquivos ocultos -d lista os dados de um diretório não seu conteúdo --color=false desabilita a cor -r lista em ordem reversa -S lista em ordem de tamanho -t lista através do último acesso do arquivo -1 lista em somente uma coluna -X lista por extensão -R listagem recursiva -l listagem longa -h mostra o tamanho dos arquivos de forma humana =] Exemplos ls ls -X ls -Salhr
  • 52. Metacaracters ( extra ) Metacaracteres São símbolos especiais do bash que são subsituídos por uma sequencia ou valor Metacaracteres Shell-Script ? compara por uma letra qualquer * compara por qualquer sequencia de caracter [] compara pelos símbolos contidos [a-z] compara por qualquer sequência de caracteres entre a faixa Exemplos ls imagem*.jpg ls imagem[1].png ls image[1-9].jpg ls imagem?.png ls imagen??.png ls [fi]*.png ls [fi]*[1]?.png
  • 53. Manipulando diretórios Comando pwd – mostra o diretório corrente Forma pwd [OPTION] Exemplos pwd
  • 54. Manipulando diretórios Comando mkdir – cria um diretório Forma mkdir [OPTION] DIRECTORY... Parâmetros -p cria os diretórios pais se necessário -v modo verbose Exemplos mkdir teste mkdir ~/images/linux mkdir ../lixo mkdir /tmp/minhas/imagens/legais
  • 55. Manipulando diretórios Comando rmdir – apaga um diretório vazio Forma rmdir [PATH] Exemplos rmdir /tmp/lixo/
  • 56. Manipulando diretórios Comando tree – lista os arquivos em forma de árvore Forma tree [OPTION] DIRECTORY... Parâmetros -a lista todos os arquivos ( inclusive os ocultos ) -f imprime o campo inteiro do arquivo -d lista somente os diretórios -L NIVEL lista o diretório até o nível de profundidade passado -P PATTERNlista de acordo o padrão especificado ( similiar ao do ls ) -I PATTERN não de acordo o padrão especificado ( similiar ao do ls ) Exemplos tree -L 3 /home tree -ad -L 3 /home tree -P jpg -L 10 tree -I png -L 10
  • 57. Manipulando diretórios Comando dirname – mostra o nome do diretório do arquivo Forma dirname [FILE]... Parâmetros Exemplos dirname /usr/lib/firefox dirname `which gimp`
  • 58. Manipulando arquivos Comando cat – imprime o conteúdo de um arquivo Forma cat [OPTION] [FILE]... Parâmetros -A Exibe todos os caracteres especiais -n Númera as linhas -b Númera apenas as linhas não vazias Exemplos cat -A meu_cat.txt cat -n meu_cat.txt cat -b meu_cat.txt
  • 59. Manipulando arquivos Comando tac – imprime o conteúdo de um arquivo de forma reversa Forma tac [OPTION] [FILE]... Parâmetros Exemplos tac -A meu_cat.txt tac -n meu_cat.txt tac -b meu_cat.txt
  • 60. Manipulando arquivos Comando rm – remove um arquivo Forma rm [OPTION] [FILE]... Parâmetros -i pergunta antes de remove -v modo verbose -r apaga de forma recursiva -f força a remoção Exemplos rm /tmp/lixo rm -rfv /home/pasta_com_conteudo_dentro/
  • 61. Manipulando arquivos Comando mv – move um arquivo de um diretório para outro ou renomeia ele Forma mv [OPTION]... [-T] SOURCE DEST Parâmetros -v modo verbose Exemplos mv /tmp/lixo /tmp/meu_novo_lixo mv /tmp/lixo /tmp/outro_lugar/ mv -v /tmp/arquivo_qualquer /home/usuario/
  • 62. Manipulando arquivos Comando cp – copia um arquivo de um diretório para outro Forma cp [OPTION]... [-T] SOURCE DEST Parâmetros -r cópia recursiva -a mantém os atributos dos arquivos -v modo verbose Exemplos cp /tmp/lixo /tmp/meu_novo_lixo cp /tmp/lixo /tmp/outro_lugar/ cp -v /tmp/arquivo_qualquer /home/usuario/ cp -r /tmp/minha_pasta /tmp/outro_lugar cp -ra /tmp/minha_pasta /tmp/outro_lugar
  • 63. Manipulando arquivos Comando touch – atualiza a ultimo acesso do arquivo ou cria um arquivo caso ele não exista Forma touch [OPTION]... [FILE]... Parâmetros -a altera o última acesso ao arquivo -m altera o última modificação do arquivo -d coloca de forma literal Exemplos touch -d '1 May 2005 10:22' /tmp/teste touch -d '14 May' file9 /tmp/teste
  • 64. Manipulando arquivos Comando stat – informa status sobre o arquivo, como ultimo acesso, quando foi modificado ou alterado Forma stat [OPTION]... [FILE]... Parâmetros -f informa somente o status do sistema do arquivo Exemplos stat /etc/fstab stat -f /etc/fstab
  • 65. Manipulando arquivos Comando file – informa o tipo do arquivo Forma file [OPTION]... [FILE]... Parâmetros -b forma abreviado do tipo de arquivo Exemplos file /etc/fstab file `which vim` file /bin/egrep file -b /bin/zcat
  • 66. Manipulando arquivos Comando ldd – imprime as dependências das bibliotecas Forma ldd [OPTION]... [FILE]... Parâmetros -v modo verbose listando todos os dados das dependências -u imprime as bibliotecas linkadas não necessárias para o uso do programa Exemplos ldd /bin/ls ldd -v `which ls` ldd /etc/fstab ldd `which gimp` ldd -u `which gimp`
  • 67. Manipulando arquivos Comando basename – imprime o nome do arquivo sem lista o diretório Forma basename [FILE]... Parâmetros Exemplos basename /usr/lib/firefox
  • 68. Manipulando arquivos Comando fuser – mostra os processos que possuem determinados arquivos abertos ou portas Forma fuser [OPTIONS]... NAME... Parâmetros -u lista o usuário dono do arquivo -v lista de forma verbose -m lista todos os processos que usam do sistema de arquivos slecionado -k kila todos os processos listados Exemplos fuser -v 22/tcp fuser -u / fuser -vm /mnt/cdrom fuser -km /mnt/cdrom
  • 69. Processamento de texto Comando cut – recorta parte de um texto de um arquivo Forma cut [OPTION]... [FILE]... Parâmetros -f NUMBER informa o numero do campo a ser caçado -d DELIMITER informa o caracter delimitador -c NUMBER informa de quantos até quantos caracteres devem ser caçados Exemplos cut -f 3 -d : tesoura.txt cut -f 2 -d : tesoura.txt cut -c 1-7 quadrados.txt cut -c 1-7,9-15 quadrados.txt
  • 70. Processamento de texto Comando head – imprime uma quantidade de linhas a partir do começo do arquivo Forma head [OPTION]... [FILE]... Parâmetros -n NUMBER lista a partir do começo do arquivo até a linha especificada Exemplos head /var/log/messages head -n 10 /var/log/messages
  • 71. Processamento de texto Comando tail – imprime uma quantidade de linhas a partir do final do arquivo Forma tail [OPTION]... [FILE]... Parâmetros -n NUMBER lista a partir do começo do arquivo até a linha especificada -f fica mostrando o arquivo em tempo de execução Exemplos tail -n 5 /var/log/messages tail -f /var/log/messages
  • 72. Processamento de texto Comando sort – organiza o arquivo por uma ordem definida Forma sort [OPTION]... [FILE]... Parâmetros -f ignora o case sensitive -b ignora linhas em branco -r mostra de forma reversa Exemplos sort /etc/passwd sort -r /etc/passwd sort -fb /tmp/sequencia_nomes
  • 73. Processamento de texto Comando tr – substitui um caracter por outro em um arquivo Forma tr [OPTION]... [String1]... Parâmetros -c efetua a troca de todos caracteres que não estejam contidos em string1 -d deleta caracteres de string1 da saída -s remove caracteres repetidos Exemplos cat /etc/passwd | tr a-z A-Z | sort cat /etc/fstab | tr -s " " | cut -f 1,3 -d " " | sort tr “n” “t” /etc/fstab
  • 74. Processamento de texto Comando nl – númera as linhas Forma nl [OPTION]... [FILE]... Parâmetros -b númera corpo por padrão -h númera cabeçalho por padrão Tipos de padrão a númera todas as linhas ( -b ) t númera todas as linhas, com exceção das vazias ( -b ) n não númera as linhas Exemplos nl -b a /etc/passwd nl -b /proc/cpuinfo
  • 75. Processamento de texto Comando diff – Exibi a diferença entre dois arquivos Forma diff [OPTION]... [FILE1]... [FILE2] Parâmetros -a considera todos os arquivos como sendo do tipo texto -b ignora espacos e tabs -f saida com interpretação mais fácil -i não verifica o case sensitive -w ignora espaços e tabs na comparação Exemplos diff original.txt revisado.txt diff -f original.txt revisado.txt diff arquivo arquivo~
  • 76. Processamento de texto Comando wc – conta linhas, palavras e bytes de um arquivo Forma wc [OPTION]... [FILE]... Parâmetros -c conta os bytes -m conta os caracteres -l conta linhas -w conta palavras Exemplos wc /etc/fstab wc -w /etc/fstab wc -c /etc/fstab wc -m /etc/fstab wc -l /etc/fstab
  • 77. Comandos de paginação Comando more – Exibi o arquivo de texto de forma paginada Forma more [OPTION]... [FILE]... Parâmetros -+ Number exibe o arquivo começando na linha especificada -s reduz múltiplas linhas em branco a uma única Exemplos more /usr/doc/glib-1.2.10/README more /usr/doc/glib-1.2.10/INSTALL
  • 78. Comandos de paginação Comando less – Exibi o arquivo de texto de forma paginada Forma less [OPTION]... [FILE]... Parâmetros -? exibe a lista de comandos -p string exibi a pagina onde está a primeira ocorrência da string -s reduz múltiplas linhas em branco a uma única Teclas de atalho / procura por expressão regular n avança na procura N volta na procura Exemplos less /usr/doc/glib-1.2.10/README less /usr/doc/glib-1.2.10/INSTALL
  • 79. Comandos de compactação Comando tar – Arquiva vários arquivos em um ou extrai Forma tar [OPTION]... [FILE]... Parâmetros -c cria um arquivo do tipo tar -x extrai um arquivo do tipo tar -t lista um arquivo do tipo tar -f especifica que o próximo parametro é o nome o do arquivo -z compacta ou extrai um arquivo do tipo GunZip -j compacta ou extrai um arquivo do tipo Bzip -v exibi informações sobre os arquivos extraidos ou compactados -C PATH extrai o arquivo em no caminho especificado Exemplos tar -zcvf exemplo.tar.gz exemplo/ tar -ztvf exemplo.tar.gz exemplo/ tar -zxvf exemplo.tar.gz tar -zxvf exemplo.tar.gz -C other_folder/
  • 80. Comandos de compactação Comando gzip – Arquiva vários arquivos em um ou extrai Forma gzip [OPTION]... [FILE]... Parâmetros -c grava o arquvo compactado na saída-padrão e retém o arquivo original -d descompacta o arquivo -f sobrescreve arquivos existentes -l lista o conteúdo de arquivo compactado -t testa a integridade do arquivo compactado -r compacta de forma recursiva -v verbose modo Exemplos gzip arquivo.odt gzip -9 arquivo.odt gzip -d arquivo.gz gzip -l arquivo.gz gzip arquivo.gz -c ~/bkp.gz gzip -v arquivo.gz -c ~/bkp.gz gzip -r ~/* -c -v ./bkp.gz
  • 81. Comandos de compactação Comando bzip – Arquiva vários arquivos em um ou extrai Forma gzip [OPTION]... [FILE]... Parâmetros -c grava o arquvo compactado na saída-padrão e retém o arquivo original -d descompacta o arquivo -f sobrescreve arquivos existentes -l lista o conteúdo de arquivo compactado -t testa a integridade do arquivo compactado -r compacta de forma recursiva -v verbose modo Exemplos tar -zcvf exemplo.tar.gz exemplo/ tar -ztvf exemplo.tar.gz exemplo/ tar -zxvf exemplo.tar.gz tar -zxvf exemplo.tar.gz -C other_folder/
  • 82. Comandos de procura Comando which – Mostra onde está o arquivo executável Forma which [options] [--] programname [...] Exemplos which ls which gimp Comando whereis – Mostra todos os diretórios que contem no path o termo procurado Forma whereis [ -sbmu ] [ -SBM dir ... -f ] name... Exemplos whereis ls whereis cat
  • 83. Comandos de procura Comando find – procura arquivos no disco rígido Forma find [path...] [expression] Parâmetros -name procura por arquivos que tenham o nome -max-depth <n> procura no máximo n diretório de profundidade -user <user> procura arquivos possuídos pelo usuário -group <group> procura arquivos possuídos pelo grupo -type <x> procura por arquivos do tipo x Tipos de arquivo f arquivos d diretórios l links Exemplos find -type f -user demoncyber find /home/zago/guiaz/ -name "*.pdf" -exec echo {} ; | grep samba find / -perm +111 -type f find /home/zago -name sa* find /home/zago/guiaz/ -name "*.txt~" -exec rm {} ;
  • 84. Comandos de procura Comando locate/updatedb – locate procura na base de dados gerada pelo updatedb Forma locate [OPTION]... [String]... updatedb [OPTION]... Parâmetros Locate -U PATH procura à partir do caminho especificado -r regex procura usando expressão regular Parâmetros Updatedb -u cria uma base de dados para o usuário local Exemplos locate arquivo.pdf locate teste locate lixo
  • 85. Expressão Regular ^:{1,4}.(*$
  • 86. Expressão Regular ● método formal de especificar um padrão ● 1943 neurologia ● g/RE/p ● regex ● curingas != expr
  • 87. Grep Comando grep – imprime as linhas comparando um padrão Forma grep [OPTION]... PATTERN [File] Parâmetros Locate -m N número maximo de entradas onde N é este número -i Ignora case senstive -v inverte a comparação -n exibi o número da linha comparada -c exibi o número de vezes que apareceu Exemplos grep 192.168.0.254 /var/log/messages grep 192.168.0.1 -m 10 messages grep -v 192.168.0.254 /var/log/messages grep 192.168.0.1 -nm 10 messages grep -c 192.168.0.254 /var/log/messages
  • 88. Metacaracteres - EXPR Representantes . ponto um caracter qualquer [...] lista lista de caracteres permitidos [^...] lista ñ lista de caracteres proibidos Quantificadores ? opcional zero ou um * asterisco zero, um ou mais + mais um ou mais {n,m} chaves de n até m Âncoras ^ circunflêxo início da linha $ cifrão fim da linha b borda início ou fim de palavra Outros c escape total literal o caractere c | ou ou um ou outro (...) grupo delimita um grupo 1...9 retrovisor texto casa nos grupos 1..9
  • 89. Exemplos - EXPR Exemplos representantes ---- n.o não .eclado teclado,Teclado e.tendido estendido, estendido, entendido 12.30 12:30, 12 30, 12.30 , 12,30 <.> <B>, <i>, <p> ---- n[ãa]o não,nao [Tt]eclado Teclado,teclado e[ns]tendido estendido, entendido 12[:.,]30 12:30, 12.30 , 12,30 <[BIP]> <B> , <I> , <P> <[BbIiPp]> <B> , <I> , <P> 12:[1-4][0-9] 12:10, 12:15, 12:43 [A-Z]bacate Abacate, Cbacate, Dbacate [:upper:] caixa alta [:lower:] caixa baixa [:alpha:] caixa alta e caixa baixa [:alnum:] caixa alta e caixa baixa ou de 0 à 9 [:blank:] espaço ou tab [^] negação [^[0-9]] nega de 0 a 9
  • 90. Exemplos - EXPR Exemplos Quantificadores fala[r!]? falar, fala!, fala </?[BPbp> </B>, </b>, </P>, </p>, <B>, <b>, <P>, <p> 6*0 0, 60, 606060, .....0, 6 é um numero maior que 0 bi*p bp, bip, bppp, b123p, p [bi]*p bip, bbp, biiiiip, ^abacate todas as linhas que começa com abacate abacate$ tudas as linhas que terminam em abacate ^$ linha vazia
  • 91. Sed Comando sed – editor de fluxo de texto Forma sed [OPTION]... [Script]... [FILE] Parâmetros -n saída quieta -e script seguido entre aspas Script Pattern /expression/ expressão regular s/x/y/ substitui /expression/p imprime /expression/d deleta a linha da expressao 1d deleta a linha 1 1,10p imprime da primeira a décima linha
  • 92. Exemplos - Sed sed 's/.//' apaga o 1o caracter da frase sed 's/.//4' apaga o 4o caractere da frase sed 's/.{4}//' apaga os 4 primeiros caracteres sed 's/.{4,}//' apaga no mínimo 4 caracteres sed 's/.{2,4}//' apaga de 2 a 4 caracteres (o máx. que tiver) sed '/padrão/d' apaga as linhas que contém o padrão sed '/padrão1/,/padrão2/d" apaga um bloco de linhas sed -n 5p arquivo mostra a linha 5 do arquivo arquivo 5 maneiras de emular o head sed -n 1,10p sed 1,10!d sed 10q sed 11,$d sed -n 11,$!p # imprime somente as linhas que se encaixam na expressão regular sed -n '/regexp/p' sed '/regexp/!d' # imprime uma parte do arquivo que vai da expressão regular até o final do mesmo sed -n '/regexp/,$p'
  • 93. Treino - Sed sed -n '8,12p' sed '8,12!d' sed -n '52p' sed '52!d' sed -n '/Iowa/,/Montana/p' sed '/^$/d' sed -n '45,50p'
  • 94. Editor de texto VIM
  • 95. Editor de texto Vim ● É um vi tunado ● É um editor de texto modal ● Suporte a expressão regular ● Suporta mais de 500 linguagens ● Possui auto completar ● Criador Bram Moolenar -->
  • 96. Comando vim Comando vim – comando para chamar o editor de texto vim Forma vim [arguments]... [FILE].... Parâmetros -u parâmetro para carregar um arquivo de configuração especifico do vim + abre na linha especificada caso não possua abre no final do arquivo Exemplos vim vim vim.txt vim +10 vim.txt vim +/alinhamento vim.txt
  • 97. Vim - Teclas i Inserção de texto <ESC> Comandos de manipulação de texto : Comandos de manipulação arquivo v Seleção visual de texto / Busca de padrões no texto R Inserção sobrescrevendo u undo y cópia no modo visual x recorta no modo visual p cola
  • 98. Vim – Comandos de sobrevivência :w Salva :q Sai :wq Salva e sai :w! Salva forçado :q! Sai forçado :wq! Salva e sai forçado :help Acessa a ajuda
  • 99. Vim – Manipulação de Janelas ^Wn Nova Janela ^Wn Dividir a Janela ^Wn^^ Dividir para # ^Wv Dividir verticalmente ^Wc Fechar ^Wo Fechar outra(s) ^WR Girar para cima ^Wr Girar para baixo ^W= Mesmo Tamanho ^W_ Altura Máxima ^W1_ Altura Minima ^W| Largura Máxima ^W1| Largura Minima ^WK Mover para cima ^WJ Mover para Baixo ^WH Mover para esquerda ^WL Mover para Direita ^W+ Aumenta o tamanho da janela selecionada ^W- Diminui o tamanho da janela selecionada
  • 100. Vim – Comandos avançados :e Abrir um arquivo :sp file Abrir em outra janela :enew Novo documento :sav file Salvar como :. Serve para repetir :ggVG Seleciona tudo ;wqa Serve para salvar e sair :qa Serve para sair somente :! Comando do bash :%! Substitui jogando no arquivo atual :r! Substitui jogando no final deste arquivo :left Alinhamento à direita :right Alinhamento à esquerda :center Alinhamento centralizado :ls Lista os buffers :buffer n Seguido do número do buffer que será aberto :b nome Seguido do nome ou abreviação :so Executa um script vim
  • 101. Vim – Comandos avançados :syntax on habilita o highlight de sintaxe, praticamente a única coisa que eu utilizava para programar em outras IDEs mais completas :set tabstop=4 configura a largura visível de tabulações com t :set expandtab utiliza espaços ao invés de t para tabulação :set shiftwidth=4 configura o número de espaços na tabulação :set smarttab habilita facilidades na tabulação, útil para mim ao dar backspace para remover tabulações com espaço :set hls! Serve para Ativar / Desativar Realce de padrões :set ic! Serve para Ativar / Desativar ignorar as letras maiúsculas :set nu! Ativar a numeração de linhas :set wrap! Serve para Ativar / Desativar quebra de linhas :set ai! Ativa a auto-indenização :set number mostra o número das linhas
  • 102. Vim ● Arquivos de configuração ~/.vim/vimrc /usr/share/ vim/vim71/plugins/ ● http:/www.vim.org/scripts ● Os arquivos de script vim tem extensão .vim
  • 103. Vim – Criando um script vim cd ~ vim demoncyber.vim ~/demoncyber.vim : set number set autoindent set tabstop=2 vim ~.vimrc so ~./demoncyber.vim cp demoncyber.vim ~/.vim/plugins/ vim Agora o próximo passo e personalizar o seu arquivo de vim quando tiver algum tempo ( hehe enquanto vcs brincam com isso vou tomar café =] )
  • 104. Vim – Instalando Plugin - Onde procurar o seus plugins http://www.vim.org/scripts/ - Depois de encontrado o script a instalação em geral se procede colocando o arquivo de scrpt.vim dentro da pasta $HOME/.vim/plugin ou /usr/share/vim/vim71/plugins/ Exemplo instalando o tabbar wget http://www.vim.org/scripts/download_script.php?src_id=4976 mv download_script.php?src_id=4976 tabbar.vim mkdir -p .vim/plugins mv tabbar.vim .vim/plugins/ plugin instalado =] ( agora brinquem de ficar instalando plugins outro café =] )
  • 105. Vim Exercício sobre vim, nada de colar >.<
  • 106. Man RFM please!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  • 107. Histórico de man ● - Criado em novembro de 1971, por Ken Thompson e Denis Ritchie ● - Utiliza as macros e o padrão troff ● - São arquivos do tipo ASCII ● - E para todos eu digo RTFM ● - Existem duas vertentes do man ● - O man 1.6f que o mantenedor é o Federico Lucifredi ( BSD man ) ● - O man-db-version que é mantido pela gnu ● - Arquivos ficam localizados em /usr/man/ ● - Nomes dos arquivos.sessão.gz ou não ● - MANPATH
  • 108. Sessões do man ● 1 comandos de usuário ● 2 chamadas do sistema ● 3 chamadas de bibliotecas ● 4 dispositivos ● 5 formatos de arquivo ● 6 jogos ● 7 diversos ● 8 comandos de administração do sistema
  • 109. Estrutura do man ● NAME Nome do programa - seguido de uma linha de descrição ● SYNOPSIS Estrutura do comando listado no man ● DESCRIPTION Texto de descrição do comando ● EXAMPLES Sessão de exemplo ● SEE ALSO Lista de comandos relacionados ● Outras opções ● OPTIONS, EXIT STATUS, ENVIRONMENT, KNOWN BUGS, FILES, AUTHOR, REPORTING BUGS, HISTORY and COPYRIGHT.
  • 110. Chaves do man ● Chaves utilizadsa ● ." linha com comentário ● .TH - linha inicial do manual ● .SH - começa sessão ● .B - ? ● .I - sublinhado ● .IP - uma tabulação ● .IP Negrito ● .RS - descrição do arquivo de configuração
  • 111. Mais chaves do man ● .B negrito ● .BI Negrito com italico ● .BR negrito com fonte alternativa ● .I Itálico ● .IB Itálico com negrito ● .IR Romano alternativo com itálico ● .RB Romano alternativo com negrito ● .RI Romano alternativo com itálico ● .SM Fonte pequena ● .SB Fonte pequena com negrito
  • 112. Ferramentas para trabalhar com man ● c2man ● help2man ● pod2man ● txt2man ● whichman ● txt2tags ● rman ● man2html ● db2man ● docbook
  • 113. Exemplo criado com o pod2man vim blog.8 blog.8: =head1 NAME blog - Teste pod2man =head1 SYNOPSIS blog [te] ... blog -h =head1 DESCRIPTION Como criar um man, usando Perl::Man através do pod2man.
  • 114. Exemplo criado com o pod2man blog.8: =head1 OPTIONS B<-t> tenha calma B<-e> está acabando =head1 EXAMPLES Agora ... realmente esta no fim: =head1 AUTHOR Marco Carvalho de Oliviera demoncyber@gmail.com =head1 SEE ALSO pod2man(<F4>)
  • 115. Exemplo criado com o pod2man pod2man --section=8 --release="27 Setembro 2006" --center="FreeBSD System Manager's Manual" --date="27 Setembro 2006" blog.pod > blog.8 less blog.8

×