• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Curso Básico/Intermediário Linux -  Colmeia 2008
 

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

on

  • 147 views

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.

Statistics

Views

Total Views
147
Views on SlideShare
147
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • GNU/LINUX Básico/Intermediário “Software livre não quer dizer cerveja de graça” – Richard Stallman
    • 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
    • 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
    • Personalidades do Software Livre “Stay Hungry, Stay Foolish” - Steve Jobs
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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 ?
    • 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
    • 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 ....
    • 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
    • Marcelo Tosatti ● Antigo mantenedor do kernel 2.4 ● Trabalha na RedHat no projeto do laptop de 100 dólares
    • 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
    • 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
    • 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
    • Julio Neves ● Autor do livro Shell Script Linux ● Considera o primeiro hacker brasileiro ● Ministra vários cursos de shellscript e palestras
    • 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
    • Alfredo Kengi Kojima ● Criador do Windowmaker ● Criador do Synaptic ● Trabalha no MySQL ● Exímio programador
    • Exercício sobre Personalidades É hora da prova =O !!! 10 minutos e um café =]
    • 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
    • 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
    • Termos Hackers ● Black Hat ● White Hat ● Script Kid ● Lammer ● Newbie ● Cracker ● Geek ● Phreakers
    • 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
    • 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
    • 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
    • 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;
    • 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
    • Código Fechado ● Fortemente iniciado pelo documento “open-letter- to-hobbyists” ● EULA - End User License Agreement ● Direito do autor ● DLL e Binários
    • 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
    • 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
    • Licenças ● BSD ● Apache ● X ● GPL ● LGPL ● Creative Commons ● GFDL
    • Exercícios == Café =] Outch Leis filosofia blahhh !!! 0.o pq eu tenho que estudar isso.... ????
    • 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
    • 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...
    • 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
    • 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...
    • Minix ● BSD License ● Micro Kernel ● Sistema de arquivos próprio ● Livro System Operational ● Voltado para cientistas da computação
    • 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
    • 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
    • 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
    • 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
    • Exercício =] É preciso muito exercício para se conseguir alcançar bons níveis de apredizado.... ( daaar Marco )
    • 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
    • Onde encontrar ajuda ● Whatis ● Apropos ● Man ● Info ● /usr/doc/nome_programa/ ● www.tldp.org ● /usr/doc/Linux-FAQs ● /usr/doc/Linux-HOWTOs
    • Comandos do bin
    • 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
    • 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 -
    • 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
    • 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
    • Manipulando diretórios Comando pwd – mostra o diretório corrente Forma pwd [OPTION] Exemplos pwd
    • 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
    • Manipulando diretórios Comando rmdir – apaga um diretório vazio Forma rmdir [PATH] Exemplos rmdir /tmp/lixo/
    • 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
    • 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`
    • 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
    • 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
    • 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/
    • 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/
    • 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
    • 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
    • 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
    • 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
    • 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`
    • Manipulando arquivos Comando basename – imprime o nome do arquivo sem lista o diretório Forma basename [FILE]... Parâmetros Exemplos basename /usr/lib/firefox
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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~
    • 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
    • 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
    • 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
    • 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/
    • 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
    • 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/
    • 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
    • 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 {} ;
    • 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
    • Expressão Regular ^:{1,4}.(*$
    • Expressão Regular ● método formal de especificar um padrão ● 1943 neurologia ● g/RE/p ● regex ● curingas != expr
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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'
    • 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'
    • Editor de texto VIM
    • 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 -->
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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é =] )
    • 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é =] )
    • Vim Exercício sobre vim, nada de colar >.<
    • Man RFM please!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    • 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
    • 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
    • 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.
    • 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
    • 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
    • Ferramentas para trabalhar com man ● c2man ● help2man ● pod2man ● txt2man ● whichman ● txt2tags ● rman ● man2html ● db2man ● docbook
    • 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.
    • 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>)
    • 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