curso básico/intermediário linux - colmeia 2008

116
GNU/LINUX Básico/Intermediário “Software livre não quer dizer cerveja de graça” – Richard Stallman

Upload: marco-oliveira

Post on 18-Dec-2014

186 views

Category:

Technology


7 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Curso Básico/Intermediário Linux -  Colmeia 2008

GNU/LINUX Básico/Intermediário

“Software livre não quer dizer cerveja de graça” – Richard Stallman

Page 2: Curso Básico/Intermediário Linux -  Colmeia 2008

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 [email protected]

Page 3: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 4: Curso Básico/Intermediário Linux -  Colmeia 2008

Personalidades do Software Livre

“Stay Hungry, Stay Foolish” - Steve Jobs

Page 5: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 6: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 7: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 8: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 9: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 10: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 11: Curso Básico/Intermediário Linux -  Colmeia 2008

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 ?

Page 12: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 13: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 14: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 15: Curso Básico/Intermediário Linux -  Colmeia 2008

Marcelo Tosatti

● Antigo mantenedor do kernel 2.4

● Trabalha na RedHat no projeto do laptop de 100 dólares

Page 16: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 17: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 18: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 19: Curso Básico/Intermediário Linux -  Colmeia 2008

Julio Neves

● Autor do livro Shell Script Linux

● Considera o primeiro hacker brasileiro

● Ministra vários cursos de shellscript e palestras

Page 20: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 21: Curso Básico/Intermediário Linux -  Colmeia 2008

Alfredo Kengi Kojima

● Criador do Windowmaker

● Criador do Synaptic● Trabalha no MySQL● Exímio programador

Page 22: Curso Básico/Intermediário Linux -  Colmeia 2008

Exercício sobre Personalidades

É hora da prova =O !!! 10 minutos e um café =]

Page 23: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 24: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 25: Curso Básico/Intermediário Linux -  Colmeia 2008

Termos Hackers

● Black Hat● White Hat● Script Kid● Lammer● Newbie● Cracker● Geek● Phreakers

Page 26: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 27: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 28: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 29: Curso Básico/Intermediário Linux -  Colmeia 2008

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;

Page 30: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 31: Curso Básico/Intermediário Linux -  Colmeia 2008

Código Fechado

● Fortemente iniciado pelo documento “open-letter-to-hobbyists”

● EULA - End User License Agreement

● Direito do autor● DLL e Binários

Page 32: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 33: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 34: Curso Básico/Intermediário Linux -  Colmeia 2008

Licenças

● BSD● Apache● X● GPL● LGPL● Creative Commons● GFDL

Page 35: Curso Básico/Intermediário Linux -  Colmeia 2008

Exercícios == Café =]

Outch Leis filosofia blahhh !!! 0.o pq eu tenho que estudar isso.... ????

Page 36: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 37: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 38: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 39: Curso Básico/Intermediário Linux -  Colmeia 2008
Page 40: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 41: Curso Básico/Intermediário Linux -  Colmeia 2008

Minix

● BSD License● Micro Kernel● Sistema de arquivos

próprio● Livro System

Operational● Voltado para cientistas

da computação

Page 42: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 43: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 44: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 45: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 46: Curso Básico/Intermediário Linux -  Colmeia 2008

Exercício =]

É preciso muito exercício para se conseguir alcançar bons níveis de

apredizado.... ( daaar Marco )

Page 47: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 48: Curso Básico/Intermediário Linux -  Colmeia 2008

Onde encontrar ajuda

● Whatis● Apropos● Man● Info● /usr/doc/nome_programa/● www.tldp.org● /usr/doc/Linux-FAQs● /usr/doc/Linux-HOWTOs

Page 49: Curso Básico/Intermediário Linux -  Colmeia 2008

Comandos do bin

Page 50: Curso Básico/Intermediário Linux -  Colmeia 2008

Sessão dos comandosManipulação de diretórios: cd,ls,pwd,mkdir,rmdir,tree,dirnameManipulação de arquivos: cat,tac,rm,mv,cp,touch,stat,file,ldd,basenameManipulaçào de texto: cut,head,tail,sort,tr,nl,diff,wc,grep,sedPagers: more,less, ( especial screen )Compactação: tar,gzip,bzipComandos de procura: which, whereis,find,locate/updatedb

Page 51: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando diretóriosComando

cd – change directory, altera o diretório

Formacd [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

Exemploscdcd /usr/share/cd ../cd /cd -

Page 52: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando diretóriosComando

ls - lista os arquivos de um determinado diretório

Formals [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 =]

Exemplosls ls -Xls -Salhr

Page 53: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Exemplosls imagem*.jpgls imagem[1].pngls image[1-9].jpgls imagem?.pngls imagen??.pngls [fi]*.pngls [fi]*[1]?.png

Page 54: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando diretóriosComando

pwd – mostra o diretório corrente

Formapwd [OPTION]

Exemplospwd

Page 55: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando diretóriosComando

mkdir – cria um diretório

Formamkdir [OPTION] DIRECTORY...

Parâmetros-p cria os diretórios pais se necessário-v modo verbose

Exemplosmkdir testemkdir ~/images/linuxmkdir ../lixomkdir /tmp/minhas/imagens/legais

Page 56: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando diretóriosComando

rmdir – apaga um diretório vazio

Formarmdir [PATH]

Exemplosrmdir /tmp/lixo/

Page 57: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando diretóriosComando

tree – lista os arquivos em forma de árvore

Formatree [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 )

Exemplostree -L 3 /hometree -ad -L 3 /hometree -P jpg -L 10tree -I png -L 10

Page 58: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando diretóriosComando

dirname – mostra o nome do diretório do arquivo

Formadirname [FILE]...

Parâmetros

Exemplosdirname /usr/lib/firefoxdirname `which gimp`

Page 59: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando arquivosComando

cat – imprime o conteúdo de um arquivo

Formacat [OPTION] [FILE]...

Parâmetros-A Exibe todos os caracteres especiais-n Númera as linhas-b Númera apenas as linhas não vazias

Exemploscat -A meu_cat.txtcat -n meu_cat.txtcat -b meu_cat.txt

Page 60: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando arquivosComando

tac – imprime o conteúdo de um arquivo de forma reversa

Formatac [OPTION] [FILE]...

Parâmetros

Exemplostac -A meu_cat.txttac -n meu_cat.txttac -b meu_cat.txt

Page 61: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando arquivosComando

rm – remove um arquivo

Formarm [OPTION] [FILE]...

Parâmetros-i pergunta antes de remove-v modo verbose-r apaga de forma recursiva-f força a remoção

Exemplosrm /tmp/lixorm -rfv /home/pasta_com_conteudo_dentro/

Page 62: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando arquivosComando

mv – move um arquivo de um diretório para outro ou renomeia ele

Formamv [OPTION]... [-T] SOURCE DEST

Parâmetros-v modo verbose

Exemplosmv /tmp/lixo /tmp/meu_novo_lixomv /tmp/lixo /tmp/outro_lugar/mv -v /tmp/arquivo_qualquer /home/usuario/

Page 63: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando arquivosComando

cp – copia um arquivo de um diretório para outro

Formacp [OPTION]... [-T] SOURCE DEST

Parâmetros-r cópia recursiva-a mantém os atributos dos arquivos-v modo verbose

Exemploscp /tmp/lixo /tmp/meu_novo_lixocp /tmp/lixo /tmp/outro_lugar/cp -v /tmp/arquivo_qualquer /home/usuario/cp -r /tmp/minha_pasta /tmp/outro_lugarcp -ra /tmp/minha_pasta /tmp/outro_lugar

Page 64: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando arquivosComando

touch – atualiza a ultimo acesso do arquivo ou cria um arquivo caso ele não exista

Formatouch [OPTION]... [FILE]...

Parâmetros-a altera o última acesso ao arquivo-m altera o última modificação do arquivo-d coloca de forma literal

Exemplostouch -d '1 May 2005 10:22' /tmp/testetouch -d '14 May' file9 /tmp/teste

Page 65: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando arquivosComando

stat – informa status sobre o arquivo, como ultimo acesso, quando foi modificado ou alterado

Formastat [OPTION]... [FILE]...

Parâmetros-f informa somente o status do sistema do arquivo

Exemplosstat /etc/fstabstat -f /etc/fstab

Page 66: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando arquivosComando

file – informa o tipo do arquivo

Formafile [OPTION]... [FILE]...

Parâmetros-b forma abreviado do tipo de arquivo

Exemplosfile /etc/fstabfile `which vim`file /bin/egrepfile -b /bin/zcat

Page 67: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando arquivosComando

ldd – imprime as dependências das bibliotecas

Formaldd [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

Exemplosldd /bin/lsldd -v `which ls`ldd /etc/fstabldd `which gimp`ldd -u `which gimp`

Page 68: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando arquivosComando

basename – imprime o nome do arquivo sem lista o diretório

Formabasename [FILE]...

Parâmetros

Exemplosbasename /usr/lib/firefox

Page 69: Curso Básico/Intermediário Linux -  Colmeia 2008

Manipulando arquivosComando

fuser – mostra os processos que possuem determinados arquivos abertos ou portas

Formafuser [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

Exemplosfuser -v 22/tcpfuser -u /fuser -vm /mnt/cdromfuser -km /mnt/cdrom

Page 70: Curso Básico/Intermediário Linux -  Colmeia 2008

Processamento de textoComando

cut – recorta parte de um texto de um arquivo

Formacut [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.txtcut -f 2 -d : tesoura.txtcut -c 1-7 quadrados.txtcut -c 1-7,9-15 quadrados.txt

Page 71: Curso Básico/Intermediário Linux -  Colmeia 2008

Processamento de textoComando

head – imprime uma quantidade de linhas a partir do começo do arquivo

Formahead [OPTION]... [FILE]...

Parâmetros-n NUMBER lista a partir do começo do arquivo até a linha especificada

Exemplos

head /var/log/messageshead -n 10 /var/log/messages

Page 72: Curso Básico/Intermediário Linux -  Colmeia 2008

Processamento de textoComando

tail – imprime uma quantidade de linhas a partir do final do arquivo

Formatail [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/messagestail -f /var/log/messages

Page 73: Curso Básico/Intermediário Linux -  Colmeia 2008

Processamento de textoComando

sort – organiza o arquivo por uma ordem definida

Formasort [OPTION]... [FILE]...

Parâmetros-f ignora o case sensitive-b ignora linhas em branco-r mostra de forma reversa

Exemplos

sort /etc/passwdsort -r /etc/passwdsort -fb /tmp/sequencia_nomes

Page 74: Curso Básico/Intermediário Linux -  Colmeia 2008

Processamento de textoComando

tr – substitui um caracter por outro em um arquivo

Formatr [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 | sortcat /etc/fstab | tr -s " " | cut -f 1,3 -d " " | sort tr “\n” “\t” /etc/fstab

Page 75: Curso Básico/Intermediário Linux -  Colmeia 2008

Processamento de textoComando

nl – númera as linhas

Formanl [OPTION]... [FILE]...

Parâmetros-b númera corpo por padrão-h númera cabeçalho por padrão

Tipos de padrãoa 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

Exemplosnl -b a /etc/passwdnl -b /proc/cpuinfo

Page 76: Curso Básico/Intermediário Linux -  Colmeia 2008

Processamento de textoComando

diff – Exibi a diferença entre dois arquivos

Formadiff [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

Exemplosdiff original.txt revisado.txtdiff -f original.txt revisado.txtdiff arquivo arquivo~

Page 77: Curso Básico/Intermediário Linux -  Colmeia 2008

Processamento de textoComando

wc – conta linhas, palavras e bytes de um arquivo

Formawc [OPTION]... [FILE]...

Parâmetros-c conta os bytes-m conta os caracteres-l conta linhas-w conta palavras

Exemploswc /etc/fstabwc -w /etc/fstabwc -c /etc/fstabwc -m /etc/fstabwc -l /etc/fstab

Page 78: Curso Básico/Intermediário Linux -  Colmeia 2008

Comandos de paginaçãoComando

more – Exibi o arquivo de texto de forma paginada

Formamore [OPTION]... [FILE]...

Parâmetros-+ Number exibe o arquivo começando na linha especificada-s reduz múltiplas linhas em branco a uma única

Exemplosmore /usr/doc/glib-1.2.10/READMEmore /usr/doc/glib-1.2.10/INSTALL

Page 79: Curso Básico/Intermediário Linux -  Colmeia 2008

Comandos de paginaçãoComando

less – Exibi o arquivo de texto de forma paginada

Formaless [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 regularn avança na procuraN volta na procura

Exemplosless /usr/doc/glib-1.2.10/READMEless /usr/doc/glib-1.2.10/INSTALL

Page 80: Curso Básico/Intermediário Linux -  Colmeia 2008

Comandos de compactaçãoComando

tar – Arquiva vários arquivos em um ou extrai

Formatar [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

Exemplostar -zcvf exemplo.tar.gz exemplo/tar -ztvf exemplo.tar.gz exemplo/tar -zxvf exemplo.tar.gz tar -zxvf exemplo.tar.gz -C other_folder/

Page 81: Curso Básico/Intermediário Linux -  Colmeia 2008

Comandos de compactaçãoComando

gzip – Arquiva vários arquivos em um ou extrai

Formagzip [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

Exemplosgzip arquivo.odtgzip -9 arquivo.odtgzip -d arquivo.gzgzip -l arquivo.gzgzip arquivo.gz -c ~/bkp.gzgzip -v arquivo.gz -c ~/bkp.gzgzip -r ~/* -c -v ./bkp.gz

Page 82: Curso Básico/Intermediário Linux -  Colmeia 2008

Comandos de compactaçãoComando

bzip – Arquiva vários arquivos em um ou extrai

Formagzip [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

Exemplostar -zcvf exemplo.tar.gz exemplo/tar -ztvf exemplo.tar.gz exemplo/tar -zxvf exemplo.tar.gz tar -zxvf exemplo.tar.gz -C other_folder/

Page 83: Curso Básico/Intermediário Linux -  Colmeia 2008

Comandos de procuraComando

which – Mostra onde está o arquivo executável

Forma which [options] [--] programname [...]

Exemploswhich lswhich gimp

Comandowhereis – Mostra todos os diretórios que contem no path o termo procurado

Formawhereis [ -sbmu ] [ -SBM dir ... -f ] name...

Exemploswhereis lswhereis cat

Page 84: Curso Básico/Intermediário Linux -  Colmeia 2008

Comandos de procuraComando

find – procura arquivos no disco rígido

Formafind [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 arquivof arquivosd diretóriosl links

Exemplosfind -type f -user demoncyberfind /home/zago/guiaz/ -name "*.pdf" -exec echo {} \; | grep sambafind / -perm +111 -type ffind /home/zago -name sa*find /home/zago/guiaz/ -name "*.txt~" -exec rm {} \;

Page 85: Curso Básico/Intermediário Linux -  Colmeia 2008

Comandos de procuraComando

locate/updatedb – locate procura na base de dados gerada pelo updatedb

Formalocate [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

Exemploslocate arquivo.pdflocate testelocate lixo

Page 86: Curso Básico/Intermediário Linux -  Colmeia 2008

Expressão Regular

^:{1,4}.\(*$

Page 87: Curso Básico/Intermediário Linux -  Colmeia 2008

Expressão Regular

● método formal de especificar um padrão

● 1943 neurologia ● g/RE/p● regex● curingas != expr

Page 88: Curso Básico/Intermediário Linux -  Colmeia 2008

GrepComando

grep – imprime as linhas comparando um padrão

Formagrep [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

Exemplosgrep 192.168.0.254 /var/log/messages grep 192.168.0.1 -m 10 messagesgrep -v 192.168.0.254 /var/log/messages grep 192.168.0.1 -nm 10 messagesgrep -c 192.168.0.254 /var/log/messages

Page 89: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 90: Curso Básico/Intermediário Linux -  Colmeia 2008

Exemplos - EXPRExemplos representantes----n.o não.eclado teclado,Tecladoe.tendido estendido, estendido, entendido12.30 12:30, 12 30, 12.30 , 12,30<.> <B>, <i>, <p>----n[ãa]o não,nao[Tt]eclado Teclado,tecladoe[ns]tendido estendido, entendido12[:.,]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

Page 91: Curso Básico/Intermediário Linux -  Colmeia 2008

Exemplos - EXPRExemplos Quantificadoresfala[r!]? falar, fala!, fala</?[BPbp> </B>, </b>, </P>, </p>, <B>, <b>, <P>, <p>6*0 0, 60, 606060, .....0, 6 é um numero maior que 0bi*p bp, bip, bppp, b123p, p[bi]*p bip, bbp, biiiiip, ^abacate todas as linhas que começa com abacateabacate$ tudas as linhas que terminam em abacate^$ linha vazia

Page 92: Curso Básico/Intermediário Linux -  Colmeia 2008

SedComando

sed – editor de fluxo de texto

Formased [OPTION]... [Script]... [FILE]

Parâmetros-n saída quieta-e script seguido entre aspas

Script Pattern/expression/ expressão regulars/x/y/ substitui /expression/p imprime/expression/d deleta a linha da expressao1d deleta a linha 11,10p imprime da primeira a décima linha

Page 93: Curso Básico/Intermediário Linux -  Colmeia 2008

Exemplos - Sedsed 's/.//' apaga o 1o caracter da frasesed 's/.//4' apaga o 4o caractere da frasesed 's/.\{4\}//' apaga os 4 primeiros caracteressed 's/.\{4,\}//' apaga no mínimo 4 caracteressed '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ãosed '/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 headsed -n 1,10psed 1,10!dsed 10qsed 11,$dsed -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'

Page 94: Curso Básico/Intermediário Linux -  Colmeia 2008

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'

Page 95: Curso Básico/Intermediário Linux -  Colmeia 2008

Editor de texto VIM

Page 96: Curso Básico/Intermediário Linux -  Colmeia 2008

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

-->

Page 97: Curso Básico/Intermediário Linux -  Colmeia 2008

Comando vimComando

vim – comando para chamar o editor de texto vim

Formavim [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

Exemplosvim vim vim.txtvim +10 vim.txtvim +/alinhamento vim.txt

Page 98: Curso Básico/Intermediário Linux -  Colmeia 2008

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 textoR Inserção sobrescrevendou undoy cópia no modo visualx recorta no modo visualp cola

Page 99: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 100: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 101: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 102: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 103: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 104: Curso Básico/Intermediário Linux -  Colmeia 2008

Vim – Criando um script vimcd ~vim demoncyber.vim

~/demoncyber.vim :set numberset autoindentset 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é =] )

Page 105: Curso Básico/Intermediário Linux -  Colmeia 2008

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=4976mv download_script.php\?src_id\=4976 tabbar.vimmkdir -p .vim/pluginsmv tabbar.vim .vim/plugins/

plugin instalado =]

( agora brinquem de ficar instalando plugins outro café =] )

Page 106: Curso Básico/Intermediário Linux -  Colmeia 2008

Vim

Exercício sobre vim, nada de colar >.<

Page 107: Curso Básico/Intermediário Linux -  Colmeia 2008

Man

RFM please!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Page 108: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 109: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 110: Curso Básico/Intermediário Linux -  Colmeia 2008

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.

Page 111: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 112: Curso Básico/Intermediário Linux -  Colmeia 2008

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

Page 113: Curso Básico/Intermediário Linux -  Colmeia 2008

Ferramentas para trabalhar com man

● c2man● help2man● pod2man● txt2man● whichman● txt2tags● rman● man2html● db2man● docbook

Page 114: Curso Básico/Intermediário Linux -  Colmeia 2008

Exemplo criado com o pod2manvim 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.

Page 115: Curso Básico/Intermediário Linux -  Colmeia 2008

Exemplo criado com o pod2manblog.8:

=head1 OPTIONS

B<-t> tenha calmaB<-e> está acabando

=head1 EXAMPLES

Agora ... realmente esta no fim:

=head1 AUTHOR

Marco Carvalho de Oliviera [email protected]

=head1 SEE ALSO

pod2man(<F4>)

Page 116: Curso Básico/Intermediário Linux -  Colmeia 2008

Exemplo criado com o pod2manpod2man --section=8 --release="27 Setembro 2006" --center="FreeBSD System Manager's Manual" --date="27 Setembro 2006" blog.pod > blog.8

less blog.8