SlideShare uma empresa Scribd logo
1 de 116
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Linux para-iniciantes-explorando
Linux para-iniciantes-explorandoLinux para-iniciantes-explorando
Linux para-iniciantes-explorandogastaovalle
 
Afinal de contas, O que é Software Livre? - Allythy Rennan Medeiros de Souza
Afinal de contas, O que é Software Livre? - Allythy Rennan Medeiros de SouzaAfinal de contas, O que é Software Livre? - Allythy Rennan Medeiros de Souza
Afinal de contas, O que é Software Livre? - Allythy Rennan Medeiros de SouzaPotiLivre Sobrenome
 
Distribuições Linux
Distribuições LinuxDistribuições Linux
Distribuições LinuxAlmir Mendes
 
Palestra Software Livre - Socialmente Justo, Economicamente Viável e Tecnolog...
Palestra Software Livre - Socialmente Justo, Economicamente Viável e Tecnolog...Palestra Software Livre - Socialmente Justo, Economicamente Viável e Tecnolog...
Palestra Software Livre - Socialmente Justo, Economicamente Viável e Tecnolog...Clayton Dausacker
 
Linux - So por Prazer
Linux - So por PrazerLinux - So por Prazer
Linux - So por Prazers4nx
 
Fascículo Sistema Operacional Linux
Fascículo Sistema Operacional LinuxFascículo Sistema Operacional Linux
Fascículo Sistema Operacional LinuxEduardo Santana
 
POR QUE SOFTWARE LIVRE?
POR QUE SOFTWARE LIVRE?POR QUE SOFTWARE LIVRE?
POR QUE SOFTWARE LIVRE?Pedro Fonseca
 
Palestra software livre socialmente justo, economicamente viável e tecnolog...
Palestra software livre   socialmente justo, economicamente viável e tecnolog...Palestra software livre   socialmente justo, economicamente viável e tecnolog...
Palestra software livre socialmente justo, economicamente viável e tecnolog...Clayton Dausacker
 
Games Open Source: experiências na comunidade KDE
Games Open Source: experiências na comunidade KDEGames Open Source: experiências na comunidade KDE
Games Open Source: experiências na comunidade KDEJogos Digitais, PUC - SP
 
Trisquel GNU/Linux: Uma Distribuição 100% Livre!
Trisquel GNU/Linux: Uma Distribuição 100% Livre!Trisquel GNU/Linux: Uma Distribuição 100% Livre!
Trisquel GNU/Linux: Uma Distribuição 100% Livre!Clayton Dausacker
 
Curso de Introdução ao Software Livre - Aula de 23/09/2009
Curso de Introdução ao Software Livre - Aula de 23/09/2009Curso de Introdução ao Software Livre - Aula de 23/09/2009
Curso de Introdução ao Software Livre - Aula de 23/09/2009Antônio Arapiraca
 
Palestra software livre socialmente justo, economicamente viável e tecnologic...
Palestra software livre socialmente justo, economicamente viável e tecnologic...Palestra software livre socialmente justo, economicamente viável e tecnologic...
Palestra software livre socialmente justo, economicamente viável e tecnologic...Clayton Dausacker
 

Mais procurados (18)

Open Hardware
Open HardwareOpen Hardware
Open Hardware
 
Linux para-iniciantes-explorando
Linux para-iniciantes-explorandoLinux para-iniciantes-explorando
Linux para-iniciantes-explorando
 
Afinal de contas, O que é Software Livre? - Allythy Rennan Medeiros de Souza
Afinal de contas, O que é Software Livre? - Allythy Rennan Medeiros de SouzaAfinal de contas, O que é Software Livre? - Allythy Rennan Medeiros de Souza
Afinal de contas, O que é Software Livre? - Allythy Rennan Medeiros de Souza
 
Distribuições Linux
Distribuições LinuxDistribuições Linux
Distribuições Linux
 
Open source e Gnu/Linux
Open source e Gnu/LinuxOpen source e Gnu/Linux
Open source e Gnu/Linux
 
Apresentação Software Livre
Apresentação Software LivreApresentação Software Livre
Apresentação Software Livre
 
Palestra Software Livre - Socialmente Justo, Economicamente Viável e Tecnolog...
Palestra Software Livre - Socialmente Justo, Economicamente Viável e Tecnolog...Palestra Software Livre - Socialmente Justo, Economicamente Viável e Tecnolog...
Palestra Software Livre - Socialmente Justo, Economicamente Viável e Tecnolog...
 
Linux - So por Prazer
Linux - So por PrazerLinux - So por Prazer
Linux - So por Prazer
 
Fascículo Sistema Operacional Linux
Fascículo Sistema Operacional LinuxFascículo Sistema Operacional Linux
Fascículo Sistema Operacional Linux
 
POR QUE SOFTWARE LIVRE?
POR QUE SOFTWARE LIVRE?POR QUE SOFTWARE LIVRE?
POR QUE SOFTWARE LIVRE?
 
Palestra software livre socialmente justo, economicamente viável e tecnolog...
Palestra software livre   socialmente justo, economicamente viável e tecnolog...Palestra software livre   socialmente justo, economicamente viável e tecnolog...
Palestra software livre socialmente justo, economicamente viável e tecnolog...
 
Kde comunidade
Kde comunidadeKde comunidade
Kde comunidade
 
Hackers open source
Hackers open sourceHackers open source
Hackers open source
 
Games Open Source: experiências na comunidade KDE
Games Open Source: experiências na comunidade KDEGames Open Source: experiências na comunidade KDE
Games Open Source: experiências na comunidade KDE
 
Software livre
Software livreSoftware livre
Software livre
 
Trisquel GNU/Linux: Uma Distribuição 100% Livre!
Trisquel GNU/Linux: Uma Distribuição 100% Livre!Trisquel GNU/Linux: Uma Distribuição 100% Livre!
Trisquel GNU/Linux: Uma Distribuição 100% Livre!
 
Curso de Introdução ao Software Livre - Aula de 23/09/2009
Curso de Introdução ao Software Livre - Aula de 23/09/2009Curso de Introdução ao Software Livre - Aula de 23/09/2009
Curso de Introdução ao Software Livre - Aula de 23/09/2009
 
Palestra software livre socialmente justo, economicamente viável e tecnologic...
Palestra software livre socialmente justo, economicamente viável e tecnologic...Palestra software livre socialmente justo, economicamente viável e tecnologic...
Palestra software livre socialmente justo, economicamente viável e tecnologic...
 

Destaque

Destaque (10)

Historia Sistema Operacional Linux
Historia Sistema Operacional LinuxHistoria Sistema Operacional Linux
Historia Sistema Operacional Linux
 
Apresentação Reserva Real
Apresentação Reserva RealApresentação Reserva Real
Apresentação Reserva Real
 
Reserva real
Reserva realReserva real
Reserva real
 
Memorial descriptivo golf resort reserva real
Memorial descriptivo golf resort   reserva real Memorial descriptivo golf resort   reserva real
Memorial descriptivo golf resort reserva real
 
Brochure golf resort reserva real
Brochure golf resort   reserva realBrochure golf resort   reserva real
Brochure golf resort reserva real
 
Reserva Real - Condomínio Exclusivo.
Reserva Real - Condomínio Exclusivo.Reserva Real - Condomínio Exclusivo.
Reserva Real - Condomínio Exclusivo.
 
Reserva Real Lagoa santa
Reserva Real  Lagoa santaReserva Real  Lagoa santa
Reserva Real Lagoa santa
 
Pirataria e hacker
Pirataria e hackerPirataria e hacker
Pirataria e hacker
 
25 Frases de Steve Jobs
25 Frases de Steve Jobs25 Frases de Steve Jobs
25 Frases de Steve Jobs
 
Revista hidroponia apresentação 04
Revista hidroponia   apresentação 04Revista hidroponia   apresentação 04
Revista hidroponia apresentação 04
 

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

Uso de Software Livre e alternativas open source
Uso de Software Livre e alternativas open sourceUso de Software Livre e alternativas open source
Uso de Software Livre e alternativas open sourceVinícius Hax
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linuxguest82cc1d
 
O que é Linux - FLISOL Campinas 28-04-2012
O que é Linux - FLISOL Campinas 28-04-2012O que é Linux - FLISOL Campinas 28-04-2012
O que é Linux - FLISOL Campinas 28-04-2012André Déo
 
Linux para-iniciantes-explorando
Linux para-iniciantes-explorandoLinux para-iniciantes-explorando
Linux para-iniciantes-explorandogastaovalle
 
Vale a pena usar o Linux!?
Vale a pena usar o Linux!?Vale a pena usar o Linux!?
Vale a pena usar o Linux!?bardo
 
03 Sistemas Operacionais Linux
03   Sistemas Operacionais Linux03   Sistemas Operacionais Linux
03 Sistemas Operacionais LinuxMauro Duarte
 
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...Jerônimo Medina Madruga
 
Software livre, simples assim.
Software livre, simples assim.Software livre, simples assim.
Software livre, simples assim.guilhermemar
 
Software Livre, Open Source e Linux!
Software Livre, Open Source e Linux!Software Livre, Open Source e Linux!
Software Livre, Open Source e Linux!Lucas Vieira May
 
Como adentrar em um mundo livre flisol 2012
Como adentrar em um mundo livre   flisol 2012Como adentrar em um mundo livre   flisol 2012
Como adentrar em um mundo livre flisol 2012Rogerio J. Gentil
 
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...Sérgio Souza Costa
 

Semelhante a Curso Básico/Intermediário Linux - Colmeia 2008 (20)

Software livre
Software livreSoftware livre
Software livre
 
CEFET - Linux Day 2011 - GNU/Linux
CEFET - Linux Day 2011 - GNU/LinuxCEFET - Linux Day 2011 - GNU/Linux
CEFET - Linux Day 2011 - GNU/Linux
 
Uso de Software Livre e alternativas open source
Uso de Software Livre e alternativas open sourceUso de Software Livre e alternativas open source
Uso de Software Livre e alternativas open source
 
Linux básico
Linux básicoLinux básico
Linux básico
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
 
O que é Linux - FLISOL Campinas 28-04-2012
O que é Linux - FLISOL Campinas 28-04-2012O que é Linux - FLISOL Campinas 28-04-2012
O que é Linux - FLISOL Campinas 28-04-2012
 
GNU/Linux - uma alternativa
GNU/Linux - uma alternativaGNU/Linux - uma alternativa
GNU/Linux - uma alternativa
 
Linux para-iniciantes-explorando
Linux para-iniciantes-explorandoLinux para-iniciantes-explorando
Linux para-iniciantes-explorando
 
Vale a pena usar o Linux!?
Vale a pena usar o Linux!?Vale a pena usar o Linux!?
Vale a pena usar o Linux!?
 
03 Sistemas Operacionais Linux
03   Sistemas Operacionais Linux03   Sistemas Operacionais Linux
03 Sistemas Operacionais Linux
 
Linux mint apostila
Linux mint apostilaLinux mint apostila
Linux mint apostila
 
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
 
Intercato
IntercatoIntercato
Intercato
 
Linux
LinuxLinux
Linux
 
O Mundo Open Source
O Mundo Open SourceO Mundo Open Source
O Mundo Open Source
 
Software livre, simples assim.
Software livre, simples assim.Software livre, simples assim.
Software livre, simples assim.
 
Software Livre, Open Source e Linux!
Software Livre, Open Source e Linux!Software Livre, Open Source e Linux!
Software Livre, Open Source e Linux!
 
Como adentrar em um mundo livre flisol 2012
Como adentrar em um mundo livre   flisol 2012Como adentrar em um mundo livre   flisol 2012
Como adentrar em um mundo livre flisol 2012
 
Aula03 - Informática Básica
Aula03 - Informática BásicaAula03 - Informática Básica
Aula03 - Informática Básica
 
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
 

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

  • 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.
  • 40. 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...
  • 41. Minix ● BSD License ● Micro Kernel ● Sistema de arquivos próprio ● Livro System Operational ● Voltado para cientistas da computação
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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
  • 46. Exercício =] É preciso muito exercício para se conseguir alcançar bons níveis de apredizado.... ( daaar Marco )
  • 47. 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
  • 48. Onde encontrar ajuda ● Whatis ● Apropos ● Man ● Info ● /usr/doc/nome_programa/ ● www.tldp.org ● /usr/doc/Linux-FAQs ● /usr/doc/Linux-HOWTOs
  • 50. 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
  • 51. 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 -
  • 52. 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
  • 53. 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
  • 54. Manipulando diretórios Comando pwd – mostra o diretório corrente Forma pwd [OPTION] Exemplos pwd
  • 55. 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
  • 56. Manipulando diretórios Comando rmdir – apaga um diretório vazio Forma rmdir [PATH] Exemplos rmdir /tmp/lixo/
  • 57. 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
  • 58. 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`
  • 59. 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
  • 60. 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
  • 61. 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/
  • 62. 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/
  • 63. 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
  • 64. 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
  • 65. 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
  • 66. 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
  • 67. 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`
  • 68. Manipulando arquivos Comando basename – imprime o nome do arquivo sem lista o diretório Forma basename [FILE]... Parâmetros Exemplos basename /usr/lib/firefox
  • 69. 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
  • 70. 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
  • 71. 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
  • 72. 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
  • 73. 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
  • 74. 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
  • 75. 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
  • 76. 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~
  • 77. 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
  • 78. 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
  • 79. 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
  • 80. 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/
  • 81. 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
  • 82. 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/
  • 83. 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
  • 84. 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 {} ;
  • 85. 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
  • 87. Expressão Regular ● método formal de especificar um padrão ● 1943 neurologia ● g/RE/p ● regex ● curingas != expr
  • 88. 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
  • 89. 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
  • 90. 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
  • 91. 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
  • 92. 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
  • 93. 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'
  • 94. 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'
  • 96. 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 -->
  • 97. 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
  • 98. 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
  • 99. 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
  • 100. 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
  • 101. 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
  • 102. 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
  • 103. 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
  • 104. 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é =] )
  • 105. 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é =] )
  • 106. Vim Exercício sobre vim, nada de colar >.<
  • 108. 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
  • 109. 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
  • 110. 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.
  • 111. 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
  • 112. 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
  • 113. Ferramentas para trabalhar com man ● c2man ● help2man ● pod2man ● txt2man ● whichman ● txt2tags ● rman ● man2html ● db2man ● docbook
  • 114. 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.
  • 115. 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>)
  • 116. 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