Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
br
DlteC do Brasil
www.dltec.com.br
info@dltec.com.br | 41 3045.7810
DLTEC DO
BRASIL
Pgina 1
Sobre o E-book/Apostila
O contedo desse documento uma adaptao
da matria online de leitura do curso.
O presente material traz contedo terico do
curso online, porm temos que deixar claro que
no um curso e sim uma adaptao do
nosso material online para e-book/apostila.
Portanto recursos como exerccios, simulados,
tutoria (tira dvidas com professores) e vdeo
aulas no fazem parte desse e-book, pois so
exclusivos para alunos devidamente matriculados
em nosso site oficial.
Pgina 2
Direitos Autorais
Aviso Importante!
Esse material de propriedade da DlteC do Brasil Ltda e protegido pela lei
de direitos autorais 9610/98.
expressamente proibida cpia fsica ou em meio digital, reproduo parcial,
reprografia, fotocpia ou qualquer forma de extrao de informaes deste sem
prvia autorizao da DlteC do Brasil conforme legislao vigente.
Seu uso pessoal e intransfervel somente para o cliente que adquiriu o
referido e-book/apostila.
A cpia e distribuio so expressamente proibidas e seu descumprimento
implica em processo cvel de danos morais e materiais previstos na legislao
contra quem copia e para quem distribui, sejam cpias fsicas e/ou digitais.
Copyright 2016.
Pgina 3
Indice
Introduo .................................................................................................................................. 5
Captulo 01 A Comunidade Linux e uma Carreira em Opensource .............................................. 6
Captulo 02 Encontrando seu Caminho em Sistemas Linux ....................................................... 23
Captulo 03 O Poder da Linha de Comandos ............................................................................ 53
Captulo 04 - O sistema operacional Linux.................................................................................. 76
Captulo 05 - Segurana e Permisses de Arquivos ................................................................... 102
Pgina 4
Introduo
Ol,
Essa apostila que voc recebendo uma
adaptao do material de leitura Online do
curso Linux Essentials da DlteC do Brasil.
Aqui nessa apostila colocamos uma
adaptao em texto do nosso material
online de estudo (matria online do curso
Linux Essentials).
Esperamos que voc aproveite o material e
bons estudos.
Pgina 5
Captulo 01 - A Comunidade
Linux e uma Carreira em
Opensource
Objetivos do Captulo
Ao longo desse captulo voc dever:
Obter
conhecimentos
sobre
o
desenvolvimento do linux e suas
principais distribuies
Ter noes sobres as principais
aplicaes
no
Linux
e
suas
utilizaes
Obter
conhecimentos
sobre
comunidades
abertas
e
licenciamento
de
softwares
opensource para os negcios
Obter conhecimentos bsicos sobre o
ICT e formas de se trabalhar com o
Linux
Pgina 6
Sumrio do Captulo
1 Evoluo do Linux como um Sistema
Operacional Popular __________________ 8
1.1
1.2
1.3
2.2
2.3
2.4
Linguagens de Desenvolvimento____ 15
Licenciamento __________________ 18
3.2
3.3
Desktops_______________________ 20
4.2
4.3
Pgina 7
Peso: 2
Descrio: Conhecimentos sobre o desenvolvimento do linux e suas principais distribuies.
Tpicos Importantes:
Filosofia OpenSource
Distribuies
Sistemas Embarcados
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
Android
Debian
CentOS
Pgina 8
A grande questo que fica o porque montar uma distribuio? J no existem muitas?
Como citamos no inicio, uma distribuio feita por um grupo de voluntrios ou uma empresa
analisando necessidades que eles acham necessrias. Para exemplificar imagine o seguinte
cenrio: voc trabalha em uma empresa que utiliza um Linux RedHat e em cada desktop,
depois de instalado o linux, voc precisa instalar uma srie de softwares e aplicativos.
No seria muito mais fcil, j que trata-se de um processo repetitivo, que voc monte um CD
com todos os aplicativos dentro e um processo automtico de instalao j no seu perfil? Assim
nasce uma nova distribuio Linux que pode ou no chegar a conhecimento publico.
Pgina 9
Pgina 10
Peso: 2
Descrio: Conhecimentos das principais aplicaes e suas utilizaes.
Tpicos Importantes:
Aplicaes para Desktop
Aplicaes de Servidores
Aplicaes Mveis
Linguagens de Desenvolvimento
Ferramentas para Gerenciamento de Pacotes e Repositrios
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
OpenOffice.org, LibreOffice, Thunderbird, Firefox
Blender, Gimp, Audacity, ImageMagick
Apache, MySQL, PostgreSQL
NFS, Samba, OpenLDAP, Postfix, DNS, DHCP
C, Perl, shell, Python, PHP
Pgina 11
Gnome ( http://www.gnome.org/ )
KDE ( http://www.kde.org/ )
Pgina 12
Estes dois so os mais completos e amplamente utilizados, mas existem vrios outros , alguns
levssimos com alguns recursos interessantes, outros praticamente sem recurso algum,
variando conforme sua finalidade, segue abaixo uma pequena lista com alguns exemplos.
LXDE ( http://www.lxde.org/ )
Fluxbox ( http://www.fluxbox.org/ )
XFCE ( http://www.xfce.org/ )
FVWM ( http://www.fvwm/ )
Icewm ( http://www.icewm.org/ )
WindowMaker ( http://www.windowmaker.org/ )
Alm destes existem muitos outros, mas vamos deixar isso para voc mesmo descobrir e fazer
a escolha da melhor opo para o seu perfil.
Aplicativos de Desktop
Como quase tudo no Linux, temos muitas variaes de vrios de tipos de softwares. Existem
diversas opes de gerenciadores de arquivos, sutes de escritrio, gravadores de cd, players
de udio, mas existem algumas que se destacam em meio a multido. Veja abaixo apenas
alguns exemplos.
Sute de Escritrio
OpenOffice/LibreOffice ( http://www.openoffice.org/ / http://www.libreoffice.org/ )
Gravador de CDs/DVD
K3b ( http://www.k3b.org/)
Gravao / Manipulao de udio
Audacity (http://www.audacity.sourceforge.net/)
Grficos 3D
Blender ( http://www.blender.org/ )
Editor de vdeo
Cinelerra ( http://www.cinelerra.org/ )
Pgina 13
Pgina 14
Informao Adcional:
O que significa Jailbreak?
Em uma traduo livre e literal, "Jailbreak" significa "fugir da priso", e representa uma
metfora para o ato de burlar as restries impostas por uma empresa em seus dispositvos,
adicionando funcionalidades no oficiais a eles.
O mtodo, desenvolvido por grupos hackers, tem sido comumente relacionado aos
dispositivos da Apple e ao seu sistema operacional mvel, o iOS, devido grande
popularidade que o processo ganhou entre esses usurios. Entretanto, possvel realizar o
Jailbreak para "desbloquear" outros aparelhos, como no Playstation 3, da Sony, ou o Xbox
360, da Microsoft, por exemplo.
2.4 Linguagens de Desenvolvimento
O Linux em si, que na verdade apenas o Kernel, desenvolvido utilizando as linguagens C e
C++, j as aplicaes que voc utiliza so construdas nas mais variadas linguagens passando
por C, C++, Earlang, Python, Perl, PHP, assembly e muitas outras, na maior parte utilizando
compiladores 100% livres que foram escritos em C e C++.
Informao Adcional:
O que o Kernel do Linux?
O kernel responsvel pelas funes vitais do sistema, como gerenciamento de memria,
gerenciamento de dispositivos e controle de processos em execuo. A cada ms so
lanadas novas verses de Kernel, que podem ser obtidas gratuitamente pela internet,
trazendo suporte a novos dispositivos, trazendo caractersticas inovadoras, ou simplesmente
aperfeioando o que j existe.
No confuda Kernel com distribuies linux, o Kernel faz parte de uma distribuio. Toda
distribuio tem a sua verso de Kernel.
Pgina 15
Pgina 16
Peso: 1
Descrio: Conhecimentos sobre
opensource para os negcios.
comunidades
abertas
licenciamento
de
softwares
Tpicos Importantes:
Licenciamento
Free Software Foundation (FSF), Open Source Initiative (OSI)
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
GPL, BSD, Creative Commons
Free Software, Open Source Software, FOSS, FLOSS
Open Source business models
Pgina 17
3.1 Licenciamento
O Linux foi inicialmente lanado sob uma licena de software que proibia qualquer uso
comercial.
Isso foi rapidamente alterado pela GPL (Gnu Public
Licence), atravs desta licena foi permitida a venda,
distribuio, alterao de novas verses que poderiam ser
ou no modificadas garantindo que estas verses fossem
lanadas dentro da mesma licena permanecendo assim os
mesmos direitos e os crditos aos autores.
Infomao adcional:
http://pt.wikipedia.org/wiki/GNU_General_Public_License
Informao adcional:
http://www.fsf.org
Pgina 18
Peso: 2
Descrio: Conhecimentos bsicos sobre o ICT e formas de se trabalhar com o Linux.
Tpicos Importantes:
Conhecimentos em Desktop
Linha de Comando no Linux
Uso do Linux na Indstria, Computaes nas Nuvens e Virtualizao
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
Using a browser, privacy concerns, configuration options, searching the web and saving content
Terminal and Console
Password issues
Privacy issues and tools
Use of common open source applications in presentations and projects
Pgina 19
4.1 Desktops
Antes de mais nada vamos entender o que ICT (Information and Communication
Technology). ICT basicamente tecnologia da informao, seja ela a utilizao de softwares
para pesquisa, comunicao, contedo multimdia ou qualquer outro modelo, basicamente aqui
estamos falando de navegao na web, conceitos de privacidade e outras questes que
envolvem comunicao usando o computador.
Atualmente o desktop do Linux extremamente completo, as solues so muito bem
acabadas e voc possui algumas variaes de desktop com focos diferentes permitindo que
voc escolha a melhor opo para voc. Conforme j comentamos, alguns dos desktops mais
conhecidos so o GNOME (figura 1) o KDE (figura 2).
Figura 1
Figura 2
Graas a estes desktops, voc tem uma experincia muito mais simples atualmente durante a
utilizao de sistemas Linux. Desde o surgimento dos primeiros desktops para Linux muito se
evoluiu, inclusive suporte a placas de vdeo e tudo mais, ganhando-se em performance e
qualidade.
Os softwares desktops para Linux incluem atualmente excelentes aplicaes, como por
exemplo, os navegadores Firefox, Google Chrome e Opera (alm de outros), sute de escritrio
OpenOffice/LibreOffice e o Calligra que faz parte da sute do KDE e tambm alguns
aplicativos do Gnome para determinadas funes como o Abiword (editor de texto), gnumeric
(planilhas), Inkscape (editorao) e outras aplicaes.
Em termos de sute de escritrio o OpenOffice/LibreOffice o mais completo e tambm o que
mais se assemelha aos recursos oferecidos pelo Office da Microsoft ou da Apple.
Pgina 20
Conforme falado existem muitas aplicaes para Linux, para vrias finalidades. Basta procurar
um pouco e normalmente voc acha tudo que precisa com uma verso open source de tima
qualidade.
4.2 Utilizando a Linha de Comando no Linux
A utilizao de desktops que falamos anteriormente mais utilizada por usurios finais, que
utilizam o Linux em seus micros e laptops. Quando falamos em Linux, principalmente para
funes de servidor muito comum utilizarmos apenas linha de comando para
manipulao do sistema, desta forma imprescindvel que conheamos algumas questes
bsicas sobre isso.
A linha de comando do Linux permite a voc realizar praticamente todas as atividades
necessrias do sistema. Tenha em mente que tudo em si comando, ao dar um clique em
um cone voc est utilizando de forma transparente um comando para executar o programa
em questo.
No Linux atravs da linha de comando possvel verificar status de rede, configurar a rede,
configurar um compartilhamento de rede, alterar informaes de data e hora, alterar
configuraes de funcionamento do equipamento, executar programas, instalar atualizaes e
por ai vai.
A Linha de Comando:
A navegao via linha de comando similar ao utilizado no Windows por exemplo, digamos que
voc tenha no Windows sua partio C: com uma pasta chamada teste dentro dela, no
Windows o comando para acesso seria:
C:\> cd teste
No Linux no seria to diferente:
root@localhost ~/ # cd /teste
A /" que informarmos no caso do Linux porque no exemplo a pasta no est no mesmo
diretrio que o usurio se encontra, isso no Windows tambm possvel com o comando cd
\teste
Alm destes voc tem vrios outros comandos para, por exemplo:
limpar a tela: clear
listar arquivo: cat ARQUIVO
listar diretrio: ls DIRETORIO
editar arquivo: nano ARQUIVO
Como j comentamos, basicamente no Linux tudo possvel de ser feito na linha de comando,
entraremos mais a fundo nestas questes no prximo tpico desse mdulo.
Pgina 21
Enfim, como podemos perceber existem muitos usos de Linux, em diferentes ambientes para
diferentes finalidades
Pgina 22
Captulo 02 - Encontrando
seu Caminho em Sistemas
Linux
Objetivos do Captulo
Ao longo desse captulo voc dever:
Pgina 23
Sumrio do Captulo
1
4.7
1.2
1.3
1.4
PATH __________________________ 28
1.5
1.6
Variveis _______________________ 31
1.7
1.8
2.2
info
2.3
2.5.1
2.5.2
3.2
3.3
4.3
4.4
4.5
4.5.1
4.5.2
4.6
Touch _________________________ 51
Criando Arquivos de Outras Formas _ 51
Pgina 24
Peso: 2
Descrio: Utilizao bsica da linha de comandos no Linux.
Tpicos Importantes:
Shell bsico
Comandos de formatao
Trabalhando com opes
Variveis
Globbing
Quoting
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
echo
history
PATH env variable
which
Substitutions
||, && and ; control operators
Pgina 25
O shell padro do Linux o bash (bourne again shell), mas existem outras opes como o csh,
tcsh , ksh , zsh . Quando estamos em um prompt do Linux com o shell bash carregado
comum que o prompt de comando tenha um formato similar ao mostrado no comando
abaixo.
usurio@nome_da_maquina:/caminho/onde/voce/esta $
Pgina 26
Nessa rvore o primeiro diretrio chamado de root. Root a raiz do sistema, representado
pelo caractere / (barra para direita), tudo est abaixo da raiz, ela nosso top-level, nossa
ponta da pirmide. Vamos exemplificar uma pequena rvore de diretrios abaixo.
/ ---> raiz
|---home -> diretrio de usurios
|---me -> diretrio do usurio me
Pgina 27
Veja que no mesmo temos informaes referente ao SHELL utilizado, o diretrio de e-mail do
usurio (MAIL), quais so os diretrios de executveis do usurio (PATH), o diretrio ao qual o
mesmo se encontra (PWD) alm de outras variveis possveis de acordo com o a finalidade do
sistema.
Informao adcional: Como definir uma varivel?
Para definir uma varivel durante sua sesso basta digitar:
export JAVA_HOME=/usr/local/java/bin/
No exemplo mostrado est sendo exportado a varivel JAVA_HOME, que utilizada para
localizar onde ficam os binrios do java e normalmente utilizado quando voc roda alguma
aplicao ou servio java no sistema.
Porm no se torna muito prtico ter de executar esse comando cada vez que voc entra no
sistema, alm do mais algumas vezes podem ser necessrias vrias variveis.
Nestes casos a soluo padro colocar o comando dentro do arquivo .bash_profile no
diretrio do usurio, este diretrio lido logo aps o login e executa os comandos que voc
definiu, no caso, define as variveis que voc precisa.
1.4 PATH
Vimos no tpico anterior a sada do comando env. Uma das linhas importantes do comando
env a que mostra o PATH (figura 1). Vamos agora entender o que seria o PATH atravs de
um exemplo bem simples.
dltec@dltec:~$ env
TERM=xterm
SHELL=/bin/bash
SSH_CLIENT=10.0.2.2 47905 22
LC_NUMERIC=pt_BR.UTF-8
SSH_TTY=/dev/pts/2
USER=dltec
LC_TELEPHONE=pt_BR.UTF-8
MAIL=/var/mail/dltec
PATH=/home/dltec/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
:/usr/games
LC_IDENTIFICATION=pt_BR.UTF-8
Quando queremos que o sistema execute um comando ns no precisamos digitar o caminho
completo do comando. Por exemplo, quando queremos listar o contedo do diretrio em que
estamos simplesmente digitamos o comando ls.
dltec@dltec:~$ ls
Desktop
Music
Documents Pictures
Downloads Public
Templates
Videos
bin
essentials
examples.desktop
lpi102
php.versoes
O comando ls est localizado na pasta /bin, mas ento por que no precisamos digitar o
caminho completo do comando, como por exemplo, /bin/ls ? Por que simplesmente digitando ls
o sistema entende que deve executar o comando ls que est localizado no diretrio /bin ?
Pgina 28
A resposta a essa pergunta a varivel PATH. Essa varivel lista os diretrios do sistema
onde os arquivos executveis podem ser encontrados. Para visualizar o contedo da varivel
PATH entre com o comando mostrado abaixo.
dltec@dltec:~$ echo $PATH
/home/dltec/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr
/games
Em nosso exemplo a varivel est listando os diretrios abaixo:
/home/dltec/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
Isso faz com que o sistema faa um busca, do primeiro ao ltimo diretrio listado, quando
tentamos executar algum comando. Assim que uma correspondncia encontrado a procura
encerrada, mesmo que no tenha sido verificado todos os diretrios listados.
Ou seja, em nosso exemplo do ls, quando digitamos ls o sistema ir buscar por uma
correspondncia nos diretrios listados na varivel PATH, to logo a correspondncia seja
encontrado (no caso, no diretrio /bin) a busca interrompida e o comando executado.
Curiosidade: Para voc verificar o caminho completo de um comando ou arquivo utilize o
comando which -a filename. Esse comando pode ser til nos casos onde mais de uma
correspondncia for encontrada. Vamos supor que, por algum motivo, existam dois
comandos com o nome wc no seu sistema:
um na pasta /usr/bin e
outro na pasta /home/aluno/bin/WC
E vamos supor tambm que voc queira utilizar o comando o wc (word count) padro, ou
seja, o que est na pasta /usr/bin e que sua varivel PATH est definida como mostrado
abaixo.
aluno:~> echo $PATH
/home/aluno/bin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:\
/usr/bin:/usr/sbin:/bin:/sbin
Ento se voc simplesmente digitar o comando wc -l arquivo1.txt o sistema ir tentar
executar o comando wc que est na pasta /home/aluno/bin/wc e voc no vai obter a
sada desejada. Isso porque na sua varivel PATH est sendo informado para procurar
primeiro na pasta /home/aluno/bin.
Uma das solues para resolver esse problema seria informar o caminho completo do
comando desejado. Para tal, voc utilizaria o comando which -a wc para exibir todas as
correspondncias para o comando wc. Em seguida entraria com o caminho completo do
comando wc desejado, ou seja, /usr/bin/wc -l arquivo1.txt.
Pgina 29
Pgina 30
1.6 Variveis
No shell do Linux ns podemos utilizar os comandos e criar variveis para serem usadas por
estes comandos.
Para declarar uma varivel voc utiliza nome_da_variavel=valor_da_variavel, ou seja,
vamos dizer que eu quero colocar o nome de um arquivo em uma varivel e depois executar
algum comando, eu poderia fazer conforme mostrado abaixo.
MYFILE=/tmp/teste.txt
cat .bash_profile > $MYFILE
Neste caso estamos definindo a varivel MYFILE com o caminho para o arquivo que queremos,
depois exibimos o contedo do .bash_profile direcionando a sada do comando para a varivel
$MYFILE que no caso o arquivo /tmp/teste.txt
A ttulo de ilustrao vamos ver um exemplo real do uso de variveis no linux. Imagine que
em um diretrio existam diversos arquivos de imagem com a extenso .JPG (em maiscula) e
que voc queira renomear esses arquivos de forma que fique .jpg (em minscula). Vamos ver
como possvel fazer isso com uso de variveis? Acompanhe o cdigo abaixo.
cd /tmp/teste
for i in *; do NEWNAME=$(echo $i | sed e s/JPG/jpg/g); mv $i $NEWNAME; done
O comando utilizado bem complexo mas um exemplo vlido para exemplificar um uso real
para este tipo de utilizao (variveis), acompanhe a descrio dos passos:
O que acha, isso muito mais prtico do que selecionar um a um e ento fazer a troca do
nome no acha?
Um exemplo habitual de uso de variveis em arquivos de configurao ou scripts para alguma
finalidade especfica, por exemplo, imagine que voc esta criando um script de firewall, o
binrio do iptables (aplicao de firewall nativa do Linux) fica em /sbin/iptables, voc em seu
arquivo ao invs de colocar este comando linha por linha define uma varivel (ex:
FW=/sbin/iptables ) e no lugar de chamar o arquivo completo, chama apenas FW, define
arquivos de configurao em variveis e assim por diante.
Pgina 31
Tambm podemos utilizar alguns outros tipos de glob, vamos ver abaixo:
Classes de caracteres:
Classes de caractere, seria por exemplo alguns caracteres dentro de um [ ], no
necessariamente sequenciais, podendo ser algo como [ac3t], qualquer um destes caracteres
que casarem a regra sero aceitos.
Range de caracteres:
Este possui uma conveno especial, dois caracteres separados por um trao - denotam um
range, desta forma [a-cA-C0-3] equivalente a [abcABC0123]
1.8 Quotting (Escape de caracteres)
Quotting significa aspas, no caso em especifico no bem isso que ele quer dizer, a questo
aqui escape de caracteres. Voc deve pensar da seguinte forma, se no shell o cifro $
inicio de varivel, como voc ir manipular um arquivo que possui este caractere em seu nome,
ou mesmo um arquivo ou diretrio que contenha uma barra / em seu nome ?
A questo bastante simples, ns fazemos o escape do caractere, vamos fazer alguns
exemplos para tentarmos entender. Acompanhe o comando abaixo.
$ echo $date
$
No comando acima foi executado o comando echo $date que ir mostrar o valor da varivel
$date, porm ele aparece em branco j que a varivel no possui nenhuma valor.
J neste comando ao pressionarmos o "enter" foi exibido a string $date
$ echo \$date
$date
$
O mesmo processo tambm pode ser executado digitando aspas simples ( ) que neste caso
faz a interpretao literal do que est dentro, acompanhe o comando ao lado.
Neste caso importante lembrar que no deve haver uma aspas simples dentro de um outro
par, ou seja, no pode usar:
testea
Pgina 32
A aspas dentro do contexto ir cancelar a ltima. Nesses casos podemos utilizar uma barra
invertida \ para cancelar a funcionalidade do caractere, no caso a expresso ficaria:
teste\a
Ou seja, a \ cancela a funcionalidade da '.
As aspas duplas tambm fazem a preservao dos caracteres, exceto pelo cifro, mas o mesmo
tambm pode ser utilizando se houver uma barra invertida antes.
No caso da existncia de uma barra invertida como parte da string importante que voc
adicione outra para realizar o escape da mesma, no caso pensemos no seguinte exemplo
abaixo.
$ cd /teste\2
-bash: cd: teste2: No such file or directory
$ cd /teste\\2
:~/teste\2 $
Perceba que o diretrio foi criado com o nome de teste\2, ao tentar entrar no diretrio com o
comando puro cd teste\2 ele no entende e tenta entrar em teste2, ao digitarmos com
barra de escape ns conseguimos entrar no diretrio, dessa forma o comando ficou cd
teste\\2 , no caso com a utilizao de aspas simples ou duplas no se torna necessria a
barra de escape.
Uma coisa importante nesta questo que no Linux um espao um caractere, ento voc tem
dois modos de entrar, por exemplo, no diretrio teste 2, sendo elas
cd teste 2
cd teste\ 2
Pgina 33
Peso: 2
Descrio: Utilizando os comandos de ajuda e navegao nos vrios sistemas de ajuda do
Linux.
Tpicos Importantes:
Man
Info
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
man
info
Man pages
/usr/share/doc
locate
apropos, whatis, whereis
Pgina 34
Obs: para sair da pgina do manual e voltar para a linha de comandos basta pressionar a tecla
q.
Veja a figura a seguir que mostra uma outra pagina do mesmo manual .
Pgina 35
Como voc pode perceber a sada do comando lhe fornece explicaes a respeito de cada um
dos parmetros que o comando aceita, infelizmente necessrio dar uma boa treinada no
ingls para conseguir ter mais domnio, mas com certeza isso far toda a diferena para voc.
Existem alguns casos onde os comandos possuem documentaes diferentes em diferentes
sees, para estes casos voc utiliza o comando man SEO comando , estas sees so
divididas da seguinte forma.
1.
2.
3.
4.
5.
6.
7.
8.
9.
Pgina 36
tech_report.tex.gz
Perceba que dentro do diretrio alm dos arquivos de licena (copyright), temos o README,
changelog e alguns outros dependendo de que diretrio estamos listando. No caso do rsync
temos um diretrio examples e outro scripts, no diretrio examples so alguns exemplos de
configurao para o rsync e no diretrio scripts alguns scripts que podem ser utilizados para
algumas operaes como log, verificao de status e outros.
2.4 Encontrando um Manual a Partir de uma Referncia
Algumas vezes ns sabemos o nome de um arquivo ou comando e queremos saber onde tem
informaes sobre ele, para este caso ns utilizamos o comando apropos. A ideia deste
comando simplesmente localizar em que manual contm a informao que voc solicitou,
veja o exemplo abaixo.
web:~# apropos rsyncd.conf
rsyncd.conf (5) - configuration file for rsync in daemon mode
Veja que perguntei sobre o arquivo rsyncd.conf, este arquivo em especifico possui um manual
prprio explicando suas configuraes, no caso a resposta dele foi:
rsyncd.conf
(5)
Qual Manual
Pgina 37
Informao adcional:
Outra forma de encontrar uma pgina de um manual atravs do comando whatis, este
comando assim como o apropos traz a informao do manual referente a string que voc
buscou, com uma diferena, o apropos busca em todo o manual e o whatis busca apenas na
descrio do manual.
Comando Locate
Vamos imaginar que voc est acessando pela primeira vez um servidor de email que possui o
software dovecot instalado, voc j verificou e viu que ele no est no /etc (o arquivo de
configurao), ento como podemos localizar? Veja a abaixo.
$ locate dovecot.conf
/usr/local/etc/dovecot/dovecot.conf
/usr/local/share/doc/dovecot/example-config/dovecot.conf
/usr/local/var/run/dovecot/dovecot.conf
/usr/src/dovecot.conf.tar.gz
O comando que utilizamos foi o locate, o nome bem sugestivo e trata-se de um comando
para localizao de arquivos. Um ponto importante que ele no ir procurar o arquivo no
momento em que voc o acionou, pois ele possui um banco de dados que roda uma ou mais
vezes por dia e atualiza as informaes.
Voc pode executar o update atravs do comando updatedb e com esta tabela devidamente
atualizada voc consegue encontrar qualquer arquivo no sistema, veja que no nosso exemplo
ele trouxe vrias linhas de resultado contendo a string dovecot.conf.
2.5.2
Comando whereis
O comando whereis utilizado para procurar arquivos binrios, cdigos fontes e/ou pginas
de manuais. Se digitarmos o comando whereis passwd, por exemplo, o retorno ser a linha
mostrada abaixo.
whereis passwd
passwd:/usr/src/apr-1.4.6/passwd /usr/bin/passwd /etc/passwd
/usr/share/man/man1/passwd.
1ssl.gz /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.
5.gz
Pgina 38
Veja que ele trouxe a string passwd: seguida de tudo que ele achou, o primeiro passwd tratase de um fonte, o segundo o binrio de troca de senhas, o terceiro o arquivo de senhas do
Linux, depois os manuais.
Voc pode por exemplo no comando whereis especificar que tipo de resultado voc quer, como
por exemplo apenas binrio:
whereis b passwd
Existem outras opes de uso do comando que voc pode verificar no man whereis.
Pgina 39
Peso: 2
Descrio: Navegar por entre os diretrios home e system e listando arquivos em vrias
localizaes.
Tpicos Importantes:
Arquivos e diretrios
Ocultando arquivos e diretrios
Home
Caminhos relativos e absolutos
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
Common options for ls
Recursive listings
cd
. and ..
home and ~
Pgina 40
media
mnt
opt
proc
root
run
sbin
selinux
srv
sys
tmp
usr
var
vmlinuz
ls -p
initrd.img
lib/
lost+found/
media/
mnt/
opt/
proc/
root/
run/
sbin/
selinux/
srv/
sys/
tmp/
usr/
var/
vmlinuz
Veja que agora utilizamos o comando ls p o qual acrescentou uma / aps cada diretrio e
no fez o mesmo nos arquivos. Muito mais fcil assim no acha?
Outro parmetro interessante o color. Normalmente o color j vem habilitado como padro
na maioria das distribuies. Caso esse no seja o caso, basta acrescentarmos o parmetro -color=auto. Este comando produz uma sada colorida, onde cada cor tem seu significado.
Vamos listar algumas delas.
Existem algumas outras cores que voc ver depois, mas basicamente esta uma das formas
mais praticas para identificar os tipos de arquivos e diretrios, pois trata-se do modo mais
diferenciado.
Pgina 41
Podemos ainda exibir a sada do comando como uma listagem com as propriedades, veja a
abaixo.
dltec@dltec:/$ ls -l --color=auto -p
total 88
drwxr-xr-x
2 root root 4096 Jul 23 12:41 bin/
drwxr-xr-x
3 root root 4096 Jul 23 12:41 boot/
drwxr-xr-x
2 root root 4096 Jul 23 12:34 cdrom/
drwxr-xr-x 14 root root 4000 Sep 17 11:52 dev/
drwxr-xr-x 129 root root 12288 Sep 17 11:52 etc/
drwxr-xr-x
4 root root 4096 Sep 13 20:48 home/
lrwxrwxrwx
1 root root
36 Jul 23 12:40 initrd.img -> boot/initrd.img-3.2.023-generic-pae
drwxr-xr-x 21 root root 4096 Jul 23 12:41 lib/
drwx-----2 root root 16384 Jul 23 12:28 lost+found/
drwxr-xr-x
2 root root 4096 Apr 23 2012 media/
drwxr-xr-x
2 root root 4096 Apr 19 2012 mnt/
drwxr-xr-x
2 root root 4096 Apr 23 2012 opt/
dr-xr-xr-x 112 root root
0 Sep 17 11:51 proc/
drwx-----3 root root 4096 Jul 23 12:47 root/
drwxr-xr-x 22 root root
820 Sep 17 11:52 run/
drwxr-xr-x
2 root root 4096 Jul 23 12:41 sbin/
drwxr-xr-x
2 root root 4096 Mar 5 2012 selinux/
drwxr-xr-x
2 root root 4096 Apr 23 2012 srv/
drwxr-xr-x 13 root root
0 Sep 17 11:51 sys/
drwxrwxrwt
7 root root 4096 Sep 17 12:21 tmp/
drwxr-xr-x 10 root root 4096 Apr 23 2012 usr/
drwxr-xr-x 14 root root 4096 Sep 16 20:10 var/
lrwxrwxrwx
1 root root
33 Jul 23 12:40 vmlinuz -> boot/vmlinuz-3.2.0-23generic-pae
dltec@dltec:/$
Perceba que para gerar esta sada utilizamos todas as opes que vimos anteriormente. O
comando ficou ls l color=auto p , o l significa lista longa, que o que ele mostra, vamos
analisar uma sada. Acompanhe tambm na figura abaixo um exemplo.
Pgina 42
drwxrwxrwt
O
O
O
O
O
O
O
Com estas informaes voc j pode identificar arquivos e diretrios sem maiores dificuldades.
Obs: Mais para frente nesse curso entraremos em mais detalhes sobre como interpretar o
campo de permisses do arquivo. No se preocupe com isso nesse momento, tudo ficar
mais claro mais para frente.
Uma outra utilizao que vale apena ressaltar no comando ls a listagem recursiva, esta
opo utilizada com o parmetro R.
A listagem recursiva ir executar um ls para cada diretrio que for encontrado. Por exemplo, se
tiramos um ls -R do diretrio teste, a sada ir mostrar o contedo do diretrio teste e para
cada diretrio que for encontrado ele ir executar um ls desse diretrio e assim
sucessivamente. Veja abaixo.
Perceba que no primeiro nvel temos os diretrios teste2, teste3, teste4 e teste5, dentro de
teste2 temos outro diretrio teste2, dentro de teste5 temos outro diretrio teste2, dentro deste
teste2, temos um diretrio teste6, onde temos um diretrio de nmero 8.
Se voc reparar para cada diretrio ele executou uma listagem tambm, em nosso caso no
havia nenhum arquivo dentro ento nada foi exibido.
Pgina 43
No Linux temos uma facilidade que so os diretrios ou arquivos ocultos. Normalmente estes
arquivos/diretrios ocultos so utilizados para no gerar volume desnecessrio quando estamos
visualizando um determinado diretrio. Vamos exemplificar esta questo, acompanhe na sada
seguinte.
dltec@dltec:~$ ls
Desktop
Music
Documents Pictures
Downloads Public
dltec@dltec:~$
Templates
Videos
bin
essentials
examples.desktop
lpi102
php.versoes
Veja que a listagem da imagem traz apenas alguns diretrios, nada muito poludo salvo alguns
arquivos e diretrios.
Agora vamos usar o comando ls a para listar todos os arquivos, inclusive os ocultos.
dltec@dltec:~$
.
..
.ICEauthority
.Xauthority
.bash_history
.bash_logout
.bashrc
.bashrc.swp
.cache
.config
dltec@dltec:~$
ls -a
.dbus
.dmrc
.gconf
.gnome2
.goutputstream-2NA22W
.gtk-bookmarks
.gvfs
.lesshst
.local
.mission-control
.mozilla
.mysql_history
.profile
.pulse
.pulse-cookie
.xsession-errors
.xsession-errors.old
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos
bin
essentials
examples.desktop
lpi102
php.versoes
Perceba que agora vemos muitos outros diretrios que no estavam l antes, estes so
diretrios ocultos. A maior parte alguma configurao ou diretrio de configuraes de algum
aplicativo. Por exemplo, voc poder ver o diretrio .mozilla que contm os dados do Firefox
ou o diretrio .local onde ficam as configuraes do KDE.
Uma questo muito importante a se saber sobre o Linux, que o caractere . aparece em
todos os arquivos e diretrios ocultos.
Pgina 44
Pgina 45
Estamos no diretrio /usr/bin e desejamos mudar para o diretrio pai do /usr/bin, ou seja,
para o diretrio /usr. Podemos fazer isso de duas formas:
aluno@dltec-VirtualBox:/usr/bin$ pwd
/usr/bin
aluno@dltec-VirtualBox:/usr/bin$ cd /usr
aluno@dltec-VirtualBox:/usr$ pwd
/usr
ou
aluno@dltec-VirtualBox:/usr/bin$ pwd
/usr/bin
aluno@dltec-VirtualBox:/usr/bin$ cd ..
aluno@dltec-VirtualBox:/usr$ pwd
/usr
Da mesma forma uma vez dentro do diretrio /usr podemos ir para o diretrio /usr/bin de
duas formas. Acompanhe abaixo.
Primeiro utilizando o caminho absoluto:
aluno@dltec-VirtualBox:/usr$ pwd
/usr
aluno@dltec-VirtualBox:/usr$ cd /usr/bin
aluno@dltec-VirtualBox:/usr/bin$ pwd
/usr/bin
Ou utilizando o caminho relativo:
aluno@dltec-VirtualBox:/usr$ pwd
/usr
aluno@dltec-VirtualBox:/usr$ cd ./bin
aluno@dltec-VirtualBox:/usr/bin$ pwd
/usr/bin
Importante:
Na maioria dos casos voc pode omitir o "./", pois ele est implcito. Ou seja, no exemplo
anterior, a partir do /usr para se chegar no /usr/bin basta digitar:
aluno@dltec-VirtualBox:/usr$ pwd
/usr
aluno@dltec-VirtualBox:/usr$ cd bin
aluno@dltec-VirtualBox:/usr/bin$ pwd
/usr/bin
Pgina 46
Peso: 2
Descrio: Criar, mover e apagar arquivos e diretrios.
Tpicos Importantes:
Arquivos e diretrios
Case sensitive (maisculas e minsculas)
Globbing e quoting simples
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
mv, cp, rm, touch
mkdir, rmdir
Pgina 47
claro que existem maneiras mais simples de se fazer essas coisas atravs das interfaces
grficas, no entanto, a utilizao da linha de comando nos d uma flexibilidade que no
encontrada nas interfaces grficas.
Antes de prosseguirmos para a explicao dos comandos vamos voltar a um tpico muito
importantes - os caracteres curingas (wildcards). Os caracteres curinga nos permitem fazer
a seleo de nomes de arquivos baseada em padres de caracteres. J vimos no tpico sobre
"Globbing" a utilizao do * e ?. Agora veremos mais detalhes sobre os caracteres curinga.
Acompanhe na tabela abaixo.
WildCard
Significado
[characters]
Corresponde qualquer caractere que seja membro do
grupo especificado. A especificao do grupo pode ser feita
atravs de:
[:alnum:]
[:alpha:]
[:digit:]
[:upper:]
[:lower:]
[!characters]
Caracteres alfanumricos
Caracteres alfabticos
Numerais
Caracteres alfabticos maisculos
Caracteres alfabticos minsculos
Pgina 48
Matches
Todos os arquivos
g*
b*.txt
Data???
[abc]*
[[:upper:]]*
BACKUP.[[:digit:]][[:digit:]]
*[![:lower:]]
Dica: Voc pode utilizar os caracteres curinga (wildcard) com qualquer comando que
aceite nome de arquivos como argumento.
Pgina 49
para
Pgina 50
Touch
O comando touch (toque em ingls) utilizado para gerar um arquivo vazio, ele apenas o cria
da forma que voc solicitou. Ou seja, para criarmos um arquivo com o nome arquivo.txt
utilizamos da forma mostrada abaixo.
touch arquivo.txt
Vamos lembrar que no Linux a extenso no to importante, mas bom utilizarmos alguma
referencia para que ao olhar para o arquivo j tenhamos em mente qual a finalidade do mesmo.
4.5.2
Temos algumas maneiras alternativas para gerar arquivos no Linux, vamos exemplificar
algumas abaixo.
>arquivo.txt
No caso acima, geramos um arquivo vazio, pegamos o nada, e jogamos para dentro dele.
Agora no prximo exemplo, utilizamos o comando echo gerando a palavra teste e direcionando
para dentro de arquivo.txt.
echo teste > arquivo.txt
para exibir o contedo do arquivo:
cat arquivo.txt
teste
Se em seguida voc exibir o contedo do arquivo arquivo.txt ver que ser exibido o contedo
"teste".
Obs: Podemos tambm abrir um editor de texto e salvar a sada do mesmo em um arquivo
que no existe, como comum de fazermos em ambiente grfico (abro o editor de texto,
coloco o contedo e salvo gerando assim meu arquivo). Veremos mais sobre editores de
texto em linha de comando no Linux mais para frente nesse curso.
Pgina 51
Pgina 52
Captulo 03 - O Poder da
Linha de Comandos
Objetivo do captulo:
Ao longo desse captulo voc dever
adquirir conhecimentos sobre:
Pgina 53
Sumrio do Captulo
1 Arquivando Arquivos na Linha de
Comando __________________________ 55
1.1
Arquivamento __________________ 56
1.2
2.2
2.3
2.4
2.5
2.6
Expresses Regulares_____________ 68
2.6.1
2.6.2
3.2
Pgina 54
Peso: 2
Descrio: Arquivando arquivos no diretrio de usurio.
Tpicos Importantes:
Arquivos e diretrios
Arquivos e compresso
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
tar
Opes comuns do tar
gzip, bzip2
zip, unzip
Extraindo arquivos individuais dos arquivos
Pgina 55
1.1 Arquivamento
muito comum querermos realizar o arquivamento de um diretrio ou mesmo um arquivo,
normalmente para titulo de backup ou transferncia de arquivo. Tenha em mente que
muito mais fcil voc transferir um arquivo grande do que centenas de arquivos pequenos.
Um dos usos mais comuns para arquivamento quando voc vai pegar um cdigo fonte de
algum aplicativo, ele vem arquivado normalmente com a ferramenta tar, ao desarquivar o
mesmo voc tem um diretrio e todos os arquivos fontes dentro.
Para exemplificar vamos criar dois arquivos de texto de nome teste.txt e teste2.txt e realizar o
arquivamento deles.
$ tar cvf teste.tar *.txt
Veja abaixo o processo todo.
Primeiro criamos os dois arquivos teste.txt e teste2.txt utilizando o comando "touch" que j
estudamos anteriormente. Depois executamos o comando tar, ele nos mostrou o que foi
executado e ento listamos os arquivos no diretrio e constatamos que foi gerado um terceiro
arquivo de nome teste.tar.
Agora vamos ver como podemos visualizar o contedo deste arquivo via linha de comando,
ou seja, como podemos ver o que est dentro desse arquivo teste.tar. Acompanhe a seguir.
Veja que agora podemos ver o contedo do arquivo num formato similar ao do ls, vamos
explicar os parmetros que vimos at aqui.
-v: verbose.
-c: Realiza a criao de um novo arquivo.
-f: executar sobre ou para o nome de arquivo informado, no caso o arquivo de onde ele ir
ler ou onde vai gravar.
-t: realiza apenas a listagem do contedo sem realizar a extrao.
Pgina 56
Existem outras opes que tambm podem ser utilizadas, como por exemplo a funo r que
para acrescentar (append) um novo arquivo ao fim do arquivo tar, veja abaixo como
funciona.
Primeiro realizamos a listagem do arquivo teste.tar mostrando que o mesmo continha dois
arquivos dentro dele.
tar -tvf teste.tar
Depois listamos o diretrio onde voc pode ver que ali existia o arquivo teste3.txt.
ls
E finalmente realizamos o comando tar rvf teste.tar teste3.txt que inseriu o
arquivo teste.tar
dentro do
Veja que ele traz o nome do diretrio principal que teste e traz o nome de cada arquivo
contido dentro do mesmo e de cada diretrio .
O procedimento de desarquivamento realizado atravs da opo x (extract), ou seja,
para desarquivar este arquivo utilizaramos o comando:
$ tar xvf teste.dir.tar
E se ns quisermos extrair apenas um dos arquivos que est dentro do arquivo .tar, isso
possvel? A resposta claro que sim.
Pgina 57
Observe que primeiro listamos o diretrio atual onde estvamos (comando ls), havia apenas o
arquivo teste-dir.tar dentro do mesmo. Depois listamos o contedo do arquivo (tar -vtf testedir.tar). Deste contedo solicitamos a extrao do arquivo teste/teste3.txt (tar -xvf testedir.tar teste/test3.txt) e ao realizarmos a listagem do diretrio novamente l estava o
diretrio teste e ao listar o diretrio vemos o arquivo que solicitamos que o teste3.txt
1.2 Compactao e Arquivamento
A
diferena
entre
compactao
e
arquivamento
bastante
simples,
o
arquivamento junta vrios arquivos ou
diretrio em um nico arquivo, j na
compactao ele transforma este arquivo
ou
diretrio
utilizando
algoritmos
de
compresso.
Normalmente os arquivos so compactados e
arquivados, por exemplo, quando voc abre
um arquivo .zip com vrios diretrios dentro
isso caracteriza um arquivamento e a
extenso .zip indica que o mesmo passou por
um processo de compresso tambm.
O comando tar permite que durante sua utilizao ns possamos realizar tambm a
compresso (muito comum este uso inclusive) atravs de dois parmetros bsicos que so:
Obviamente para utilizar estes parmetros necessrio que voc tenha estas ferramentas (gzip
e bzip2) instaladas em seu sistema, normalmente o gzip j vem por padro mas o bzip2 precisa
ser instalado.
Pgina 58
Um arquivo tar comprimido leva o nome de .tar.gz ou .tar.bz2 para simbolizar que o arquivo
inicialmente um bzip ou gzip e aps realizar a compresso voc deve desempacotar o arquivo
tar, por isso o nome .tar.gz. Para exemplificar vamos fazer um teste onde vamos criar um
arquivo utilizando cada um dos formatos e ver a diferena entre os arquivos finais. Acompanhe
a seguir.
Veja que no inicio da tela realizamos a compresso nos dois formatos, o formato .tar sem
compresso ns j havamos gerado, ento depois realizamos a listagem dos arquivos, veja a
rea que est selecionada na tela, voc tem os trs formatos, observe a diferena do tamanho
deles em bytes:
Como voc pode ver a diferena realmente considervel, se voc pensar em grandes arquivos
de log por exemplo voc chega a ter 2 GB diminudo em cerca de 20 MB, isso quando falamos
em backup muito importante pois significa economia de espao.
Informao adcional:
Outros compactadores:
Tambm temos disponveis alguns outros compactadores como o caso do zip, rar, 7zip e
muitos outros que existem disponveis no Linux.
Nada impede voc de gerar o arquivo tar e depois compactar com um compactador de sua
preferncia, mas importante lembrar que o gzip e o bzip2 esto disponveis em todas as
distribuies.
Pgina 59
Peso: 4
Descrio: Procurando e extraindo dados de arquivos no diretrio de usurio.
Tpicos Importantes:
Pipes de linha de comando
I/O re-direction
Partial POSIX Regular Expressions (., [ ], *, ?)
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
find, grep
less
head, tail
sort, cut, wc
Partial POSIX Basic Regular Expressions ([^ ], ^, $)
Partial POSIX Extended Regular Expressions (+, ( ), |)
Xargs
Pgina 60
Pgina 61
Entrada Padro
Muitos comandos utilizam como entrada padro os dados vindo do teclado. No entanto, isso
tambm pode ser redirecionado, ou seja, podemos redirecionar a entrada padro de um
comando para que ele utilize os dados vindo de outro arquivo e no do nosso teclado.
Acompanhe um exemplo a seguir.
aluno:~$ grep sys < /etc/passwd
sys:x:3:3:sys:/dev:/bin/sh
syslog:x:101:103::/home/syslog:/bin/false
hplip:x:113:7:HPLIP system user,,,:/var/run/hplip:/bin/false
aluno:~$
O que fizemos foi informar ao comando grep sys para que ele utilize como entrada os dados
que esto no arquivo /etc/passwd. Ou seja, esse comando ir no arquivo /etc/passwd e ir
exibir na tela todas as ocorrncias dos caracteres "sys" que ele encontrar.
Perceba que o comando anterior ir exibir na tela, pois no redirecionamos a sada padro. Mas
poderamos fazer esse redirecionamento tambm, acompanhe o exemplo abaixo.
aluno:~$ grep sys < /etc/passwd > sys.txt
aluno:~$ cat sys.txt
sys:x:3:3:sys:/dev:/bin/sh
syslog:x:101:103::/home/syslog:/bin/false
hplip:x:113:7:HPLIP system user,,,:/var/run/hplip:/bin/false
aluno:~$
Agora o que fizemos foi redirecionar a sada para que fosse enviada para o arquivo sys.txt
e no para a tela.
Este tipo de redirecionamento pode tambm ser feito de outras formas, no necessariamente
para utilizao em arquivos de texto.
Muitas vezes vemos usurios descompactarem arquivos .tar.gz da seguinte forma.
$ gunzip < spandsp-0.0.6pre20.tgz | tar -xvf
Na prtica o que o comando faz inicialmente descompactar o arquivo tar (gunzip) e depois
desarquivar o resultado com o comando tar
Pgina 62
Pgina 63
Pgina 64
usbmux
kernoops
pulse
rtkit
speech-dispatcher
hplip
saned
dltec
sshd
mysql
dltec1
Entendeu?
Vamos a uma explicao mais detalhada:
Voc conseguiu entender o que o cut fez? Perceba que a sada do comando cat /etc/passwd
algo do tipo:
root:x:0:0:root:/root:/bin/bash
mike:x:1001:1001::/home/mike:/bin/bash
Ao utilizarmos o cut -d ":" -f1 estamos solicitando apenas o primeiro campo da seleo.
root:x:0:0:root:/root:/bin/bash
mike:x:1001:1001::/home/mike:/bin/bash
Podemos ainda fazer um pipe de um pipe, ou seja, pegar um resultado filtrado e filtrar
novamente.
Vamos supor que queiramos contar a quantidade de resultados que este comando gerou, para
isso podemos acrescentar o comando wc com o parmetro l que utiliza a linha como base
de contagem. Vamos ver como fica, acompanhe o exemplo abaixo.
$ cat /etc/passwd | cut d : f1 | wc -l
A sada do comando ser o nmero 25 que quantidade de resultados na execuo do
comando que eu fiz.
O comando wc possui vrios parmetros possveis, vamos colocar alguns abaixo para a escolha
do que queremos contar.
-c: bytes
-m: caracteres
-w: palavras
-l: linhas
Ainda possvel acrescentar outros parmetros no comando, por exemplo ordenao com o
comando sort.
Pgina 65
Como voc pode ver ele mostrou as ltimas linhas do arquivo, mais especificamente as ltimas
10 linhas que o padro dele.
Voc pode utilizar o parmetro n para especificar a quantidade de linhas que deseja que ele
exiba e claro, dentro desta quantidade de linhas voc por exemplo aplicar um grep para
procurar algo especifico dentro das linhas que ele vai exibir.
Pgina 66
Tambm possvel utilizar o parmetro k para exibir uma quantidade X de bytes na sada
O comando head funciona da mesma forma mas a contagem dele a partir do inicio do
arquivo e no do fim.
Uma utilizao bastante comum do comando tail com o parmetro f que abre as ultimas
linhas e continua carregando as demais linhas que forem inseridas no arquivo, isso til e
usado normalmente para leitura de arquivos de log em tempo real.
Com o comando tail f, por exemplo, voc pode acompanhar os logs do apache ou do squid
enquanto os acessos esto acontecendo.
2.4 Paginadores more e less
Quando abrimos arquivos grandes para serem analisados ou mesmo lidos muito comum ao
invs de abrirmos com um editor de texto abrirmos com um paginador.
Os mais comuns de serem utilizados so o more e o less, nas definies dos dois no manual
diz o seguinte:
As diferenas bsicas entre os dois so que o less permite que voc volte o arquivo, enquanto
o more permite que voc apenas avance no arquivo.
Outra questo base que o less no precisa carregar o arquivo inteiro para exibir, se voc abrir
um arquivo muito grande isso de grande ajuda.
Outra diferena grande que o less permite que voc utilize alguns comandos similares aos do
editor vi para fazer procura no arquivo e outras coisas mais.
2.5 Procurando Arquivos
Como todo usurio ns temos muitas vezes que manipular arquivos de texto, procurar
contedos, configuraes e coisas do tipo. No Linux possvel fazer tudo isso de forma muito
simples utilizando a linha de comando.
Falamos anteriormente sobre o comando locate, uma outra opo para pesquisa de arquivos
a utilizao do comando find, o nome j diz tudo (find = encontrar).
Digamos que estamos em qualquer lugar do sistema e queremos localizar o arquivo de nome
apache2.conf (lembrando que no caso em questo o arquivo existe no mesmo pois o servidor
apache est funcionando). Veja o comando a seguir.
$ find / -name apache2.conf
Se ele encontrar o arquivo ele ir retornar o caminho completo para o mesmo.
O comando find permite tambm que adicionemos comandos para ele, por exemplo,
digamos que queiramos encontrar todos os arquivos alterados a mais de 20 dias em um
diretrio e fazer a remoo do mesmo, para tal utilizaramos o comando conforme mostrado
abaixo.
Pgina 67
Pgina 68
Para exemplificarmos o uso das expresses regulares estendida vamos ver um exemplo bem
simples, acompanhe na imagem abaixo.
dltec@dltec:~$ cat /etc/passwd | egrep "([0-9]{2})" | egrep "(sync)|(man)"
sync:x:4:65534:sync:/bin:/bin/sync
man:x:6:12:man:/var/cache/man:/bin/sh
colord:x:103:108:colord colour management daemon,,,:/var/lib/colord:/bin/false
dltec@dltec:~$
A primeira vista parece estranho, mas na verdade bem simples, ns utilizamos o egrep invs
do grep porque o egrep um alias (apelido) para o comando grep E que significa a
utilizao de expresses regulares estendidas.
No nosso caso o primeiro comando egrep informou para ele procurar valores que fossem um
numero de 0-9 de at 3 casas, ou seja [0-9] repetindo + {2} a regra, isso o mesmo que
escrever [0-9][0-9][0-9].
No segundo egrep utilizamos expresses simples separadas por um | (pipe), o pipe neste
caso significa que pode ser o resultado da direita ou o da esquerda, no p da letra, a
representao de OR (OU).
Informao importante:
Imagine por exemplo que voc quer listar todas as linhas de um arquivo que contenha um
endereo ip. Os endereos possuem tamanhos variveis, onde eles podem ter de 1 a 3
dgitos, repetindo este padro por mais 3 vezes separados por um ponto (.). Voc poderia
utilizar o comando da forma abaixo:
grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" teste.txt
Esta regra representa exatamente isso:
[0-9] Qualquer numero de 0 at 9
{1,3} Podendo aparece de uma a trs vezes
\. seguido de um ponto
{3} Ocorrendo trs vezes
[0-9] com um numero qualquer de 0 at 9
{1,3} Podendo ter de um at trs dgitos
Para maiores detalhes sobre expresses regulares verifique os links abaixo.
http://en.wikipedia.org/wiki/Regular_expression
http://aurelio.net/regex/
Pgina 69
Peso: 4
Descrio: Transformando comandos repetidos em um script simples.
Tpicos Importantes:
Edio de texto bsica
Script bsico
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
/bin/sh
Variables, Arguments
for loops
echo
Exit status
pico, nano, vi (only basics for creating scripts)
Bash
if, while, case statements
read and test, and [ commands
Pgina 70
VI
Gnu NANO
Emacs
Pico
Editor de Texto vi
O editor de texto vi um dos mais usados pelos administradores Linux e tambm por
programadores. Ele dispe de muitos recursos existindo at mesmo livros ensinando como
utilizar o vi.
Em alguns casos voc tem apenas a verso pura do vi instalado, este um pouco mais
complexo de se utilizar pois depende de muitas funes do teclado.
J a verso vim j possui algumas facilidades de uso, mas os comandos que passaremos aqui
correspondem aos dois.
Voc pode abrir um arquivo diretamente passando o comando abaixo
vi nome_do_arquivo
Outra forma de dentro do vi utilizar o comando abaixo
:open nome_do_arquivo
Obs: lembre-se que no caso de estar dentro do vi para abrir o arquivo necessrio passar o
caminho todo para ele (ex: :open /etc/apache2/sites-enabled/000-default)
Ao entrar no editor voc no estar em modo de edio, para isso necessrio pressionar a
tecla i do teclado ou o boto insert, desta forma voc estar pronto para comear a digitar.
Pgina 71
Pgina 72
Editor nano
O nano um editor mais simples de ser utilizado, ao entrar nele voc j pode ver na parte
inferior uma srie de comandos, veja a seguir uma configurao aberta.
Dica: O mais importante de tudo que voc se sinta bem ao utilizar um determinado editor
de texto, seja ele qual for. Mas tambm muito importante que voc tenha alguma prtica
em outro tipo de editor, como uma alternativa, pois pode acontecer de o sistema que voc
precisar manipular no ter o editor de sua preferncia.
Maiores informaes sobre os editores voc pode ver no man de cada um deles.
Pgina 73
Atente que definimos a opo :set number no vi para que exibisse no canto esquerdo o
nmero das linhas, assim fica mais fcil de explicar.
Na linha 1 definimos o interpretador padro
Na linha 3 definimos uma varivel chamada NOME
Na linha 5 exibimos o texto Qual o seu nome ?
Na linha 7 chamamos o comando read para ler o que o usurio digitar, e jogamos para uma
varivel chamada NOVONOME
Na linha 9 realizamos uma comparao entre os dois valores
Na linha 10 definimos que se o nome for mike ele exibe a frase Bonito nome! :)
Na linha 12 colocamos para apresentar a frase Hum.. Ta bom caso o nome no seja mike
Este um pequeno exemplo de shell script, vamos na sequncia utilizar algo mais real, apenas
como forma de exemplificar o que pode ser feito.
Este um pequeno pedao de um script de backup.
Pgina 74
Pgina 75
Captulo 4 O
operacional Linux
sistema
Objetivos do Captulo
Ao final desse captulo voc dever ser
capaz de:
Pgina 76
Sumrio do Captulo
1
HD e Parties __________________ 83
2.2
Drivers Opticos__________________ 84
2.3
Kernel _________________________ 87
3.2
Processos ______________________ 88
3.3
3.4
3.5
3.6
3.7
Bibliotecas _____________________ 93
4.2
DNS ___________________________ 96
4.3
4.3.1
Configurao Manual _____________ 97
4.3.2
Configurao Atravs de Arquivos de
Configuraes __________________________ 100
Pgina 77
Peso: 1
Descrio: Conhecer sobre os principais sistemas operacionais e as distribuies Linux.
Tpicos Importantes:
Diferena entre o Linux, Windows e Mac
Gerenciamento do ciclo de vida da distribuio
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
GUI versus command line, desktop configuration
Maintenance cycles, Beta and Stable
Pgina 78
Pgina 79
No caso do Debian basicamente a coisa funciona assim, quando uma verso stable lanada os
pacotes da unstable so colocados na testing e comeam a sofrer alteraes (j houve casos
onde este perodo durou cerca de 5 anos). Aps o sistema estar de acordo a equipe do Debian
coloca a testing em freeze (congelado), neste momento o sistema no recebe mais
modificaes de verses, apenas correes das verses atuais. Algum tempo depois ele se
tornar a nova verso testing, a unstable continuar sempre unstable e uma nova srie de
pacotes entram na testing que um dia se tornar estvel novamente.
Tambm possvel atualizar a distribuio de oldstable para stable (voc usava a stable e
agora existe uma nova stable), utilizando o gerenciador de pacotes apt-get. Aps fazer as
devidas configuraes basta realizar o comando apt-get dist-upgrade que todo o seu sistema
ser atualizado para nova verso, claro que voc pode atualizar tambm para testing ou
mesmo para unstable porm no recomendado para sistemas em produo.
Maiores informaes sobre as verses do Debian podem ser verificadas no link abaixo:
http://www.debian.org/releases/
Distribuio CentOS
O CentOS baseado no RedHat Enterprise Linux, basicamente a RedHat disponibiliza todo o
cdigo fonte de seus sistema operacional e o pessoal do CentOS baixa os fontes, compila e
transforma em um CD para voc provendo as atualizaes e etc.
Pgina 80
Baseado nesta questo trabalhado o ciclo de vida que a RedHat estabelece, as verses 5 e 6
destes possuem um tempo de vida de 10 anos, seguido de 3 anos de tempo de vida extra. As
verses 3 e 4 j tiveram seu tempo de vida encerrado, a verso 3 em 2010 e a verso 4 em
2012.
Maiores informaes sobre o tempo de vida desta pode ser verificado no link abaixo:
https://access.redhat.com/support/policy/updates/errata/?cid=1480606
Gravao de TV
Alterao de Metadados de Imagens
Insero de Marca dagua em Imagens
Backups
Monitoramento
Scripts para automao de processos.
Seja feito digitando manualmente ou atravs de scripts, no fim tudo linha de comando e isso
nos permite dimensionar de forma mais inteligente os recursos que dispomos.
Pgina 81
Peso: 2
Descrio: Familiarizar-se com os componentes que fazem parte dos desktops e servidores.
Tpicos Importantes:
Hardware
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
Hard drives and partitions, motherboards, processors, power supplies, optical
peripherals
Display types
Drivers
drives,
Pgina 82
2.1 HD e Parties
Normalmente ao ligarmos um HD (hard drive/disco rgido) ou outro dispositivo de bloco,
podemos verificar as parties existentes atravs do comando fdisk l.
Tambm podemos utilizar o comando dmesg | less para tentar localizar as informaes do
disco, veja abaixo com o resultado da busca no dmesg
Perceba que temos destacado a palavra SAMSUNG que foi o argumento da busca feito e em
azul temos as parties listadas sda: sda1 sda2 sda3.
Agora se digitarmos o comando fdisk l veja a seguir as parties.
Perceba que no caso para o disco sda as parties exibidas so exatamente as informadas
anteriormente (sda1 sda2 sda3).
Pgina 83
Quando ns ligamos um dispositivo de bloco, como um pendrive por exemplo, ele exibido da
mesma forma tanto no dmesg devido ao reconhecimento do dispositivo e no fdisk para poder
verificar as parties e fazer a montagem das mesmas.
2.2 Drivers Opticos
Os drivers de CD-R/RW/DVD-R/RW atualmente no Linux so reconhecidos como
dispositivos scsi, mesmo que sejam IDE, assim o dispositivo normalmente o /dev/sr0. Veja
abaixo a listagem do comando dmesg.
root@pabx:~# dmesg | grep -i sr0
[ 0.786091] sr0: scsi3-mmc drive: 48x/48x writer cd/rw xa/form2 cdda tray
[ 0.786193] sr 0:0:0:0: Attached scsi CD-ROM sr0
Curiosidade:
A pouco tempo atrs para utilizar gravadores de CD no Linux normalmente era preciso
especificar no grub/lilo a opo hdX=ide-scsi, neste caso o X era o drive de CD.
Por exemplo, hdc e habilitando o parmetro ide-scsi ativava a emulao de scsi que era
necessria para gravao de CDS, atualmente este processo no mais necessrio
conforme j informamos anteriormente.
2.3 Drivers Extras
Alguns dispositivos no Linux precisam de drivers extras para rodar. No Linux no chamamos
de drivers e sim de mdulos, estes mdulos externos normalmente vem em cdigo fonte
para ser compilado.
E existem alguns binrios que executam algumas compilaes mas a base do cdigo
proprietria. Um exemplo disso so os drivers de vdeo da NVIDIA, alguns Linux j trazem
uma opo de instalao automtica, mas voc pode baixar o driver para Linux no site da
NVIDIA e tendo os pacotes certos a compilao e instalao do mesmo ocorre de forma
razoavelmente automtica.
Existem algumas placas de rede que utilizam drivers externos para funcionar, hoje isso no
to comum de se ver mas pode acontecer. Se o fabricante disponibiliza o driver importante
observar as limitaes do mesmo, algumas vezes o mesmo s funciona em algumas verses de
kernel, mas realizando a instalao o mesmo inserido no kernel do Linux e passa a funcionar
de forma automtica.
Existem tambm alguns drivers que so utilizado para liberao de recursos, como acontece
com algumas controladores scsi/raid que possuem softwares de gerenciamento e
monitoramento para o Linux.
No geral para a compilao destes mdulos necessrio que voc tenha os aplicativos gcc,
make, g++ alm dos fontes do kernel, com tudo isso devidamente instalado os passos de
compilao normalmente so make, make install.
Em alguns casos necessrios executar o arquivo configure para que este gere o arquivo
Makefile responsvel pelas instrues de compilao, mas no to comum para mdulos.
Pgina 84
Pgina 85
Peso: 3
Descrio: Entender onde os vrios tipos de dados so armazenados em um sistema Linux.
Tpicos Importantes:
Kernel
Processos
syslog, klog, dmesg
/lib, /usr/lib, /etc, /var/log
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
Programs, libraries, packages and package databases, system configuration
Processes and process tables, memory addresses, system messaging and logging
ps, top, free
Pgina 86
3.1 Kernel
O Kernel do Linux corao do mesmo, onde a mgica acontece, onde o software e o
hardware comeam a se falar. J vimos um pouco sobre o kernel nos captulo 1 e 2. Aqui
veremos onde as informaes do kernel ficam armazenadas.
As informaes do kernel durante a execuo ficam localizadas nos diretrio /proc, /dev, por
exemplo, nosso drive de CD aps reconhecido aparece como dispositivo em /dev/sr0, se voc
verificar em /proc/scsi poder ver os dispositivos reconhecidos.
Pgina 87
3.2 Processos
Todo processo executado gera um nmero chamado PID (process ID). Este nmero
criado tambm no /proc, onde voc pode verificar algumas informaes sobre os processo,
mas existem outros meios de se ter acesso as informaes mais relevantes, uma delas
atravs do comando ps. Acompanhe na imagem abaixo.
As informaes do processo no /proc voc pode verificar no man proc que ir trazer uma
explicao detalhada de cada item.
Outra forma muito utilizada para acompanhar os processos atravs do comando top. O
comando top mostra em tempo real o que acontece, veja abaixo.
Pgina 88
used
508056
140616
0
free
230800
598240
1046524
shared
0
buffers
69068
cached
298372
Atente que esses valores so exibidos em kilobytes. Uma informao importante que o
campo shared obsoleto e deve ser ignorado de acordo com informao no manual.
Voc pode especificar alguns parmetros para facilitar a leitura, como por exemplo m para
exibio de memria em MB, ou g para GB, veja abaixo o mesmo resultado anterior agora
com m.
dltec@dltec:~$ free -m
total
Mem:
721
-/+ buffers/cache:
Swap:
1021
dltec@dltec:~$
used
496
137
0
free
225
584
1021
shared
0
buffers
67
cached
291
Pgina 89
deste
fica
em
-/var/log/lpr.log
-/var/log/mail.log
-/var/log/user.log
Ou seja, ele recebe a informao do log com os parmetros lpr, mail e user (alm de outras) e
direciona cada um para um determinado arquivo.
Tambm possvel direcionar vrios tipos de mensagens para um nico arquivo, veja a seguir.
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none
-/var/log/messages
O resultado disso tudo, no caso do servidor de onde pegamos essa configurao, para o
arquivo /var/log/mail.log o seguinte contedo.
Jul 23 19:09:22 web vpopmail[15376]: vchkpw-smtp: (PLAIN) login success
x@xxx.com.br:177.111.248.132
A mensagem mostrada acima uma mensagem gerada pelo sistema de autenticao do
sistema de email do servidor, mostrando um login com sucesso do usurio x do domnio
xxx.com.br (estes valores foram alterados para no mostrar dados legtimos de usurio).
Ou seja, no fim, os aplicativos mandam as mensagens pelo syslog e o rsyslog recebe e trata
estas mensagens.
klog
O Kernel do Linux tambm gera mensagens que so interpretadas pelo syslog, anteriormente
havia um daemon chamado klogd para realizar a recepo destas mensagens, porm
atualmente o rsyslog realiza todo o processo.
No entanto, comum ainda encontrarmos sistemas mais antigos (Debian) ou sistemas CentOS
que ainda utilizam desta forma.
Vale a pena mencionar que o CentOS utiliza o sysklogd para daemon de syslog, o mesmo
possui sua configurao em /etc/syslog.conf.
O formato de configurao parecido com o do rsyslog.
Pgina 90
dmesg
As mensagens do kernel tambm podem ser exibidas pelo comando dmesg. J vimos um
pouco sobre esse comando no tpico sobre HD e parties.
Este comando exibe um buffer de 16384 bytes, aps isso feito o dump para ao arquivo
/var/log/dmesg. Este buffer necessrio pois de acordo com a falha apresentada a
mensagem de erro pode ocorrer apenas no buffer, no chegando a ser transferida para o
arquivo de log devido a algum tipo de travamento.
O dmesg tambm utilizado para verificar as mensagens de boot do sistema operacional
alm de mensagens de kernel relacionadas a algum dispositivo inserido como um pendrive,
webcam ou outro.
3.5 Diretrios do Linux
No quadro abaixo descrevemos a estrutura padro de diretrios do Linux apenas para que
voc tenha uma noo melhor da finalidade de cada diretrio.
/
- Raiz do sistema
/bin - Binrios do sistema
/boot - Arquivos necessrios para o boot do sistema
/dev - Arquivos relacionados a comunicao com dispositivos
/home - Arquivos de usurios
/lib
- Bibliotecas do sistema
/lib32 - Bibliotecas do sistema para compatibilidade com sistemas 32 bits
/media - Medias removveis (pendrive, cds etc..)
/mnt - Montagem de dispositivos (cds, pendrives, etc)
/opt - Diretrio para sofwares que no so do prprio sistema (software externos)
/proc - Sistema de arquivo virtual para utilizao de memria e alguns dispositivos
/root - Diretrio do usurio root
/sbin - Binrios do sistema para serem utilizados apenas pelo root
/srv
- Arquivos para serem oferecidos para servios como ftp, rsync e outros
/sys
- Arquivos especficos de devices plug and play?
/tmp - Arquivos temporrios
/usr
- Arquivos instalados pela distribuio
/var
- Dados variveis como logs , fila de e-mail e outros.
De todos estes diretrios existem dois em especial que precisam ser mencionados, sendo
eles:
/etc/
/var/log
Pgina 91
Estes diretrios so dos mais utilizados por qualquer administrador, o diretrio /etc/ contm
normalmente a configurao de todos os servios que voc executa e o /var/log contm
os logs destes servios. Vamos exemplificar.
No Debian o servio do apache
Configurao: /etc/apache2/
Logs: /var/log/apache2
No CentOS o servio do apache
Configurao: /etc/httpd
Logs: /var/log/httpd
3.6 Pacotes e Banco de Dados de Pacote
Como j foi falado os gerenciadores de pacotes possuem uma lista com os pacotes. Ele
utiliza esta lista para poder realizar o download dos pacotes e suas dependncias.
O apt-get mantm uma lista dos pacotes no diretrio /var/lib/apt/lists.
Tenha em mente que cada repositrio possui sua lista de arquivos l e quando voc solicita a
instalao de algo o pacote armazenado em /var/cache/apt/archive. Aqui ele ser
processado aps o download e caso o download seja interrompido o pacote ficar em
/var/cache/apt/archives/partial.
Estes diretrios (archive e partial) podem ficar um pouco grande, principalmente em um
desktop, ento de vez em quando recomendado executar o comando apt-get clean para
remover o contedo existente nestes diretrios.
No caso do gerenciador de pacotes yum existem trs comandos base para limpar os dados do
mesmo, sendo eles:
Apenas para mantermos claro a questo do pacote, vamos novamente explicar alguns detalhes.
.dpkg e .rpm so pacotes
Pacotes neste caso so uma srie de arquivos e scripts prontos para serem executados
atravs de um gerenciador de pacote e mantidos todos em um nico arquivo
Caso voc se interesse por empacotamento segue abaixo algumas referencias.
Debian:
http://www.debian.org/doc/manuals/maint-guide/
RPM:
https://fedoraproject.org/wiki/Packaging/Guidelines
http://www.ibm.com/developerworks/library/l-rpm1/
http://www.gurulabs.com/GURULABS-RPM-LAB/GURULABS-RPM-GUIDE-v1.0.PDF
Pgina 92
3.7 Bibliotecas
J falamos aqui sobre biblioteca e agora vamos ver um pouco mais sobre o tema com o intuito
de deixar claro alguns pontos importantes. A biblioteca na verdade um cdigo que criado
para ser utilizado por outros programas, com o objetivo de permitir a utilizao de recursos j
previamente criados.
Basicamente imagine o seguinte, o aplicativo wget que utilizado para realizar downloads via
linha de comando precisa acessar algumas vezes sites que utilizam SSL. Para isso ele precisa
ter suporte a SSL, no caso o wget utiliza a biblioteca libssl. Atravs do comando ldd voc
pode ver as bibliotecas que um determinado software utiliza, vamos ver o caso do wget na
figura abaixo.
dltec@dltec:~$ ldd /usr/bin/wget
linux-gate.so.1 => (0xb7729000)
libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xb76c1000)
libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xb7516000)
libidn.so.11 => /usr/lib/i386-linux-gnu/libidn.so.11 (0xb74e1000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb74d8000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7333000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb732e000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb7318000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb72fc000)
/lib/ld-linux.so.2 (0xb772a000)
dltec@dltec:~$
Como voc pode ver o wget utiliza algumas bibliotecas, para ssl e outras finalidades. O mesmo
acontece com muitos outros aplicativos, em geral como o Linux aberto, ao invs de voc criar
uma biblioteca de criptografia voc usa a libcrypto, e assim por diante, de acordo com o que j
existe disponvel. Dessa forma voc ganha tempo, o seu software utiliza bibliotecas de
excelente qualidade e voc foca nas necessidades de seu software.
O importante de lembrar que a falta de uma biblioteca pode impedir o funcionamento
parcial ou total do software que voc est tentando utilizar. Por isso a importncia dos
gerenciadores de pacotes, pois eles manipulam estas dependncias e trazem para voc tudo
para que o software funcione de forma adequada.
Pgina 93
Peso: 2
Descrio: Familiarizar-se com as configuraes mais importantes de rede e com os requisitos
bsicos que o computador necessita para funcionar em uma rede LAN (Local Area Network).
Tpicos Importantes:
Internet, network, routers
Domain Name Service
Network configuration
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
route
resolv.conf
IPv4, IPv6
ifconfig, netstat, ping
ssh, dig
Pgina 94
Pgina 95
4.2 DNS
DNS DOMAIN NAME SERVICE ou seja, Servio de Nome de Domnio. A ideia do DNS
simples, ele pega os endereos IPs e traduz para um nome. Imagine o seguinte, um endereo
IP hoje, na verso IPv4, possui quatro sequncias numricas que vo de 0 at 255. Por
exemplo, o endereo IP do site www.uol.com.br 200.221.2.45.
No muito mais fcil guardarmos o endereo uol.com.br do que 200.221.2.45?
E essa justamente a funo do DNS, ao digitarmos www.uol.com.br o DNS ir traduzir esse
endereo para 200.221.2.45, ou seja, ele realiza uma converso de nomes para endereos IP.
O dns tambm permitiu a criao de outros tipos de registros que no caso so utilizados para
informar qual o host de email, qual o servidor de dns do domnio, quando o mesmo foi
modificado, quem o contato do domnio e por ai vai.
No Linux temos vrios aplicativos para fazer consultas em servios de dns. O pacote bindutils (CentOS) / dnsutils (Debian) trazem uma srie de ferramentas como os comandos
dig, nslookup e o comando host que j padro no Linux.
Por exemplo, para saber por exemplo qual o endereo de mx (servidor de email) do domnio
dltec.com.br podemos utilizar o comando dig. Veja o exemplo a seguir.
$ dig t mx dltec.com.br
O comando trar a seguinte sada (extrado apenas a parte que nos interessa)
dltec.com.br.
14392 IN MX 0 dltec.com.br.
Ou seja, o domnio dltec.com.br tem o MX apontado para o host dltec.com.br com prioridade 0.
Em seguida voc poderia digitar dig t A dltec.com.br para saber qual o ip do host .
4.3 Configurao de Rede
Vamos separar a configurao de rede para facilitar o entendimento em dois pontos, um que
o manual e outro que a configurao por arquivo.
Tambm iremos diferenciar cada uma das formas nos sistemas Debian e CentOS, pois cada
um apresenta suas particularidades.
Pgina 96
Configurao Manual
a configurao do endereo IP
a configurao de sua rota para internet (apontamento do gateway)
a configurao dos servidores de DNS
Configurando endereo IP
Vamos imaginar nossa rede residencial, vamos supor tambm que iremos utilizar uma faixa de
IP 192.168.0.0/24, onde o host 1 (IP: 192.168.0.1) ser o nosso roteador (ou seja, esse
o endereo do seu roteador ADSL de conexo com a Internet da sua casa) e o host 10 (IP:
192.168.0.10) ser o nosso endereo IP (ou seja, o endereo IP do seu micro).
Para os endereos de dns utilizaremos os servidores do google (8.8.8.8 e 8.8.4.4).
O comando que utilizaremos o ifconfig. A sintaxe do comando basicamente
ifconfig [interface] [endereo_ip] netmask [mascara_de_rede]
Ento para configurarmos o ambiente que descrevemos acima usaremos o comando abaixo.
$ ifconfig eth0 192.168.0.10 netmask 255.255.255.0
Feito isso, se voc digitar o comando ifconfig, sem nenhum parmetro, dever trazer uma
sada similar a figura a seguir.
Pgina 97
Configurao do roteador
Agora vamos realizar o apontamento do roteador, ou seja, definir qual o nosso gateway
default. Esta expresso bem assertiva porque gateway significa porta de entrada e default
significa padro, ou seja, para a internet, ns vamos definir a nossa porta de entrada padro.
Para isso utilizamos o comando route, que deve ser utilizado na seguinte sintaxe:
route {add|del} [-host|-net] DESTINO[/prefixo] gw IP_DO_GATEWAY
No nosso caso, de acordo com ambiente que descrevemos anteriormente, o comando seria:
$ route add default gw 192.168.0.1
Veja que descrevemos na sintaxe do comando que aps a opo add|del deveria vir a definio
de host ou net e depois a rede e no exemplo colocamos apenas default. A expresso default
significa net 0.0.0.0/0, ou seja, isso significa qualquer rede. No caso este endereo
substitudo pela palavra default ou ento voc pode se preferir, digitar o comando com a rede
completa, que ficaria da seguinte forma:
$ route add -net 0.0.0.0/0 gw 192.168.0.1
Para listar as rotas que temos agora digite o comando route n (o parmetro n para que
ele no tente resolver nomes para o endereo, mostrando assim apenas os nmeros dos
endereos).
Na imagem abaixo voc pode verificar que do lado direito ele traz na segunda linha o endereo
de destino 0.0.0.0 atravs do roteador 192.168.0.1 atravs da interface eth0, desta forma est
definida a nossa configurao de rota padro.
Pgina 98
Testando as configuraes
Bem, agora que tudo est configurado vamos testar se a configurao est ok. A ferramenta
bsica de teste de conectividade o ping.
A ideia do ping que ele manda um pacote icmp e este pacote respondido pelo host de
destino, se o host de origem receber a resposta ento est tudo certo.
Vamos fazer o teste realizando o ping para o nosso gateway. Acompanhe na sada abaixo.
$ ping -c 5 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84)
64 bytes from 192.168.0.1: icmp_req=1
64 bytes from 192.168.0.1: icmp_req=2
64 bytes from 192.168.0.1: icmp_req=3
64 bytes from 192.168.0.1: icmp_req=4
64 bytes from 192.168.0.1: icmp_req=5
bytes of data.
ttl=255 time=5.62
ttl=255 time=2.25
ttl=255 time=2.26
ttl=255 time=2.93
ttl=255 time=4.35
ms
ms
ms
ms
ms
--- 192.168.0.1 ping statistics --5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 2.255/3.486/5.624/1.316 ms
Veja que colocamos o comando ping c 5 192.168.0.1, o parmetro c para definir a
contagem de pings. No nosso caso utilizamos -c 5, ou seja, ao receber 5 respostas ele encerra
o comando. Caso no definirmos a quantidade de respostas desejada ele ficar rodando at que
voc digite Ctrl+C para interromper o comando.
Se a sua resposta foi como a da imagem ento est tudo ok com sua rede, voc tem
conectividade.
Em seguida precisamos ver se voc consegue resolver nomes, digite o comando:
ping c 5 www.dltec.com.br
Se a sua configurao de DNS estiver ok e claro, o seu gateway tambm estiver ok, ento sua
conexo est 100% funcional.
Curiosidade:
Se voc estiver em um ambiente onde exista um servidor de DHCP basta digitar o
comando dhclient eth0 que o sistema far o resto para voc.
Nesses casos toda a configurao de endereo IP, gateway default e dns ser enviada
automaticamente do servidor DHCP para o seu micro.
Pgina 99
Veja que temos para cada interface (lo, eth0) um parmetro auto. Isso significa que o
sistema dever iniciar a interface no boot, depois temos a definio bsica dela, iface eth0
inet static, e no caso da loopback, iface lo inet loopback.
muito importante ter a configurao de loopback, muitos servios a utilizam essa interface
para o seu funcionamento, seguindo a configurao temos ento as definies de address
(endereo ip), netmask, network, broadcast, gateway. Os parmetros de network e
broadcast no precisam ser colocados se a opo netmask est sendo utilizada, o sistema ir
calcular automaticamente a rede e o broadcast.
Esta configurao lida sempre que a mquina iniciada ou ento se voc iniciar pelo
comando /etc/init.d/networking [start|stop|restart].
No caso de tentar reiniciar via comando importante ter em mente que se a configurao est
de um modo (um endereo ip X) e voc troca para Y (com a rede funcionando) ele no ir
conseguir aplicar suas configuraes, pois ele ir tentar derrubar a rede e os endereos no iro
coincidir. Nesses casos, uma opo seria aplicar a configurao manualmente (e apenas alterar
os dados no arquivo) ou ento alterar pelo arquivo e reiniciar a maquina.
Se voc fosse utilizar a eth0 recebendo ip por dhcp bastaria na linha onde est static alterar
para dhcp e remover as configuraes referente aos endereos, desta forma ele j funcionaria
via dhcp.
Pgina 100
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-[interface name]
Pgina 101
Captulo 5 - Segurana e
Permisses de Arquivos
Objetivos do Captulo
Ao final desse captulo voc
entender os seguintes assuntos:
dever
Pgina 102
Sumrio do Captulo
1 Segurana Bsica e Identificao de
Tipos de Usurios __________________ 104
1.1
1.1.1
1.1.2
Sistema
1.1.3
1.1.4
1.2
2.2
2.2.1
2.2.2
2.3
4.2
Pgina 103
Peso: 2
Descrio: Tomar conhecimento sobre os vrios tipos de usurios no sistema Linux.
Tpicos Importantes:
Root and Standard Users
System users
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
/etc/passwd, /etc/group
id, who, w
sudo
su
Pgina 104
Pgina 105
Todo login gera uma informao no sistema e esta informao pode ser acessada atravs do
comando last.
Este comando ir trazer algumas informaes como ip de origem (caso seja um acesso
remoto), qual console foi utilizada, tempo de seo e data do login.
Veja abaixo uma sada do comando last.
1.1.3
Voc pode em algum momento querer saber a que grupos um determinado usurio faz parte,
ou qual o id do mesmo.
Estes dados podem ser levantados utilizando o comando id USUARIO, veja a seguir um
exemplo.
mike@web:~$ id mike
uid=1000(mike) gid=1000(mike) groups=1000(mike)
Com esta informao eu vejo que o id do usurio mike 1000, e o grupo principal dele
1000 tambm, e ele no faz parte de nenhum outro grupo.
Importante:
Voc tambm pode querer buscar no /etc/passwd qual o home do usurio ou ento alguma
anotao que possa existir neste, para isso podemos utilizar o comando:
cat /etc/passwd | grep mike
A sada exibida seria algo do tipo:
mike:x:1000:1000::/home/mike:/bin/bash
Neste caso ns temos a informao de nome, id, gid, diretrio home e shell
Pgina 106
Tornando-se root
Pgina 107
Peso: 2
Descrio: Criando usurios e grupos em sistemas Linux.
Tpicos Importantes:
Comando de usurio e grupo
User IDs
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
/etc/passwd, /etc/shadow, /etc/group
id, last
useradd, groupadd
passwd
usermod, userdel
groupmod, groupdel
Pgina 108
100
60000
Ou seja, ele ir criar o grupo com um GID mnimo de 100 e mximo de 60000, porm ele
segue uma contagem, se o ultimo grupo criado foi o 110, o prximo ser o 111 e assim por
diante.
2.2 Criando Usurios
Existem dois comandos que podem ser utilizados para criao de usurios, sendo que eles
esto mostrados abaixo.
Comando useradd
Comando adduser
Os dois fazem basicamente a mesma coisa, porm o adduser utiliza um dialogo enquanto o
useradd precisa que os dados sejam informados na linha de comando, mostraremos a seguir o
funcionamento de ambos os comandos.
2.2.1
Comando useradd
Pgina 109
Aps criar o usurio, conforme mostrado ao lado, se voc digitar o comando id teste voc
ver todos os grupos que o mesmo faz parte.
Depois de criado o usurio necessiro definir uma senha para o mesmo, para isso
necessrio utilizarmos o comando passwd:
$ passwd teste
Aps digitar este comando voc ser solicitado para digitar a senha e a confirmao da senha.
As senhas ficam em um arquivo chamado /etc/shadow, este arquivo traz vrias informaes
referente as senhas inclusive a quantidade de dias desde a ultima alterao de senha e outras
informaes. Voc pode verificar a definio exata dos campos acessando o man shadow.
2.2.2
Comando adduser
O comando adduser permite tambm que voc utilize as opes em linha de comando, porm
se voc digitar apenas o comando com o nome de usurio ele ir solicitar todas as informaes
necessrias. Acompanhe o exemplo a seguir.
dltec@dltec:~$ sudo adduser aluno
[sudo] password for dltec:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = "pt_BR.UTF-8",
LC_ADDRESS = "pt_BR.UTF-8",
LC_MONETARY = "pt_BR.UTF-8",
LC_NUMERIC = "pt_BR.UTF-8",
LC_TELEPHONE = "pt_BR.UTF-8",
LC_IDENTIFICATION = "pt_BR.UTF-8",
LC_MEASUREMENT = "pt_BR.UTF-8",
LC_TIME = "pt_BR.UTF-8",
LC_NAME = "pt_BR.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Adding user `aluno' ...
Adding new group `aluno' (1002) ...
Adding new user `aluno' (1002) with group `aluno' ...
Creating home directory `/home/aluno' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for aluno
Enter the new value, or press ENTER for the default
Full Name []: Aluno Linux Essentials
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
dltec@dltec:~$
Veja que foi digitado apenas adduser aluno e ento ele solicitou a senha e outras
informaes.
Pgina 110
Importante:
Vamos ver agora como ficaria o mesmo comando mas informando alguns parmetros via
linha de comando.
$ adduser --home /home/aluno02
Essentials" aluno02
--shell
/bin/bash
--gecos
"Aluno
de
Linux
Pgina 111
2.4.1
Pgina 112
Pgina 113
Peso: 2
Descrio: Compreender sobre a manipulao de permisses e configuraes de propriedades
de arquivos.
Tpicos Importantes:
Propriedade e permisses de arquivos e diretrios
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
ls -l
chmod, chown
chgrp
Pgina 114
Jul
Jul
Sep
Jul
Jul
Jul
Jul
Jul
Sep
Sep
Jul
Sep
Sep
23
23
3
23
23
23
23
23
13
17
23
16
3
12:48
12:48
22:47
12:48
12:48
12:48
12:48
12:48
13:13
12:07
12:35
15:47
22:36
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos
bin
essentials
examples.desktop
lpi102
php.versoes
Perceba que temos os diretrios dos usurios, no primeiro campo temos em todos o contedo
drwxr-xr-x. Vamos entender primeiro o que significam estes parmetros.
d = diretrio
rwx = read (leitura), write (escrita), execution (execuo ) (para o dono)
r-x = read, execution (para o grupo)
r-x = read, execution (para outros usurios)
Basicamente isso quer dizer que o dono pode tudo, o grupo e os outros podem acessar o
diretrio, mas no podem gravar no diretrio. Continuando com a sada do comando ainda
temos:
O segundo campo com nmero 2 simboliza a quantidade de diretrios dentro de cada
diretrio.
O terceiro campo representa o dono do arquivo ou diretrio
O quarto campo representa o grupo que possui acesso ao arquivo ou diretrio
O quinto campo o tamanho
O sexto campo a data de modificao do mesmo
O ultimo campo o nome do arquivo ou diretrio
Com estas informaes agora voc sabe tudo a respeito do contedo.
Pgina 115
2 teste
mike
Veja que a permisso para o grupo r-x e isso permite ao grupo entrar no diretrio mas no
permite escrever nada no diretrio.
Atente que quando falamos escrever falamos em editar arquivos, criar arquivos, remover
arquivos ou diretrios, mais a frente veremos a utilizao do comando chmod que resolve esta
questo.
O Comando chown
O comando chown tem como funo primria alterar o dono de um diretrio ou arquivo,
tambm podendo realizar a troca do grupo.
Vamos alterar o nosso diretrio teste para que ele pertena ao usurio mike. Acompanhe a
seguir.
$ chown mike teste
Digamos que queiramos altera de uma nica vez o dono e o grupo, ento utilizamos o
comando:
$ chown mike:mike teste
Agora nossa permisso a seguinte.
drwxr-xr-x
2 mike
mike
Perceba que desta forma ainda temos a questo de que o grupo mike no tem permisso de
escrita no diretrio.
Pgina 116
O Comando chmod
Um arquivo precisa ao menos ter permisso de leitura, o correto seria ter tambm permisso
de escrita, pelo menos para o dono.
Os diretrios precisam ter a permisso de leitura e execuo, sem a permisso de execuo
no possvel que o usurio entre no diretrio.
Se queremos que o dono e o grupo tenham permisso no diretrio teste ento devemos
aplicar as seguintes permisses, conforme mostrado abaixo.
$ chmod g+rwx teste
Agora a permisso de nosso diretrio ficou:
drwxrwxr-x
2 mike
mike
Como voc pode ver os demais usurios possuem permisso para entrar em nosso diretrio.
Vamos ento remover esta permisso:
$ chmod o-r-x teste
Agora temos a seguinte permisso.
drwxrwx---
2 mike
mike
Pgina 117
Por exemplo, para dar as permisses que demos na pasta teste poderamos executar: chmod
770 teste e o resultado seria o mesmo, mas antes precisamos entender o que significa este
770. Acompanhe a explicao abaixo.
Cada permisso corresponde a um octeto derivado da soma dos nmeros 1,2,4 e qualquer
digito no utilizado entendido como 0.
A ideia :
(4) = leitura
(2) = escrita
(1) = execuo
Desta forma , se eu quero ter permisso de leitura e escrita ento (4+2)=6, ento o
parmetro que usarei 6.
Por exemplo, digamos que fossemos dar um arquivo a permisso chmod 600 teste.txt, neste
caso o arquivo teste.txt ter permisso rw-------.
Se eu quero dar ao grupo a mesma permisso ento o chmod ser 660 e ento nossa
permisso ser rw-rw---- .
Podemos dar permisso tambm para os demais usurios com um chmod 666 teste.txt,
ficando nossa permisso rw-rw-rw-. No to difcil, certo?
Informao adcional:
Permisses para diretrios:
Vamos ento ver a permisso para diretrio. Falamos anteriormente que um diretrio
precisa ter permisso de leitura e execuo, realizando a soma dos nmeros temos
(4+1)=5.
No entanto, queremos dar permisso completa para o dono, ento seria (4+2+1)=7.
Nesse caso o nosso chmod ficaria assim: chmod 750 teste, ficando nossa permisso rwxrw----
Pgina 118
Alm das permisses usuais para arquivos e diretrios (read, write e execution) temos outras
permisses especiais que podemos encontrar. Nesse tpico vamos ver brevemente sobre esses
outros atributos especiais:
Set-user-id (SUID)
Set-group-id (SGID)
Sticky Bit
Via de regra, quando um usurio executa um arquivo, o processo resultante dessa execuo
possui a mesma permisso do usurio que executou o arquivo. Quando o SUID aplicado em
um arquivo executvel, esse arquivo ser executado com o ID do dono desse arquivo e no
do usurio que o executou.
Para aplicarmos o SUID em um arquivo utilizamos a sintaxe especial "u+s" no comando
chmod ou adicionando o prefixo "4" no modo numrico. Veja um exemplo abaixo.
$ chmod u+s meuarquivo
ou
$ chmod 4764
Para verificarmos as permisses,
$ ls la meuarquivo
-rwsrw-r-- 1 aluno aluno 0 Sep 01 15:56 meuarquivo
Reparem que apareceu um "s" no campo relativo ao usurio (dono) do meuarquivo. Isso faz
com que quando o "meuarquivo" for executado por algum outro usurio ele ser executado com
as permisses do seu dono, ou seja, com as permisses do usurio aluno.
Obs: se o SUID for aplicado em um arquivo que no tenha permisso de execuo, em vez
de s (minsculo) aparecer um S (maisculo).
Um exemplo prtico do uso desta permisso:
Digamos que os usurios de um determinado sistema devam ser responsveis por manter seu
firewall rodando, ou seja, iniciar, parar, reiniciar o servio. Mas, por questes de segurana o
administrador do sistema no queira passar a senha de root para os usurios.
A soluo para essa questo aplicar um SUID nesse firewall. Dessa forma, os usurios
podero executar o programa com as mesmas permisses do root e sem a necissadade de
passarmos a senha de root para eles.
Pgina 119
O SGID bem similar ao SUID, sua finalidade fazer com que, quando um arquivo/diretrio
for criado, herde a permisso do grupo do diretrio. Esta uma permisso que sempre se
encontrar no campo groups (g) e representada pela letra "s".
Por exemplo, se queremos que todos arquivos e diretrios que forem criados dentro de
/home/aluno/meudir herdem a permisso do diretrio meudir, basta aplicarmos o SGID nesse
diretrio.
Para aplicarmos o SGID em um arquivo utilizamos a sintaxe especial "g+s" no comando
chmod ou adicionando o prefixo "2" no modo numrico. Veja um exemplo a seguir.
$ ls -ld meudir
drwxrwxr-x 2 aluno aluno 4096 Set
8 22:55 meudir
8 22:55 meudir
8 22:55 meudir
Pgina 120
O Bitsticky uma permisso que chamamos de pegajosa, isso quer dizer que quando ns
damos esta permisso a um arquivo/diretrio, esse arquivo ou os arquivos dentro do diretrio
s podero ser movidos ou removidos pelo dono do arquivo/diretrio ou pelo root.
Mesmo se o usurio tiver permisses de escrita no ir conseguir apag-lo, s alter-lo. Essa
permisso representada pela letra (t) e sempre se encontrar no bloco outros (o).
Para aplicarmos o sticky bit utilizamos a sintaxe especial "o+t" no comando chmod ou
adicionando o prefixo "1" no modo numrico. Veja um exemplo a seguir.
$ ls la aluno_linux.sh
-rwxrwxr-x 1 aluno aluno 0 Sep 01 16:08 aluno_linux.sh
$ chmod o+t aluno_linux.sh
ou
$ chmod 1775
$ ls la aluno_linux.sh
-rwxrwxr-t 1 aluno aluno 0 Sep 01 16:08 aluno_linux.sh
Para retirarmos o sticky bit basta utilizarmos a sintaxe o-t,
$ chmod o-t aluno_linux.sh
$ ls -l aluno_linux.sh
-rwxrwxr-x 1 aluno aluno 0 Set
8 23:28 aluno_linux.sh
Pgina 121
Peso: 1
Descrio: Entender sobre os arquivos e diretrios especiais no Linux, incluindo suas
permisses.
Tpicos Importantes:
Arquivos de sistema e bibliotecas
Links simblicos
Veja abaixo uma lista parcial com os arquivos, termos e utilitrios mais utilizados:
/etc, /var
/tmp, /var/tmp and Sticky Bit
ls -d
ln -s
Hard links
Setuid/Setgid
Pgina 122
Pgina 123
1 root
root
Voc pode notar que antes das permisses temos um l. Este l simboliza um link, depois
temos o nome do arquivo (teste) seguido por um seta (apontamento) para um determinado
diretrio, no nosso caso /var/cache/apt/archive.
Isso significa que seu eu digitar cd teste vou entrar na verdade em /var/cache/apt/archive
(poderia tambm ser um arquivo ao invs de um diretrio).
Para a criao de um link simblico a sintaxe do comando basicamente ln s caminho
nome_do_link, no nosso exemplo utilizamos o comando:
ln -s /var/cache/apt/archives teste
Pgina 124
Concluso
Parabns, se voc chegou at aqui porque concluiu seus estudos!
Tenha certeza de que compreendeu todos os conceitos aqui mostrados. D uma repassada na
matria e tome notas dos pontos que no entendeu muito bem.
Equipe DlteC do Brasil
Pgina 125
Sobre o E-book/Apostila
O contedo desse documento uma adaptao
da matria online de leitura do curso.
O presente material traz contedo terico do
curso online, porm temos que deixar claro que
no um curso e sim uma adaptao do
nosso material online para e-book/apostila.
Portanto recursos como exerccios, simulados,
tutoria (tira dvidas com professores) e vdeo
aulas no fazem parte desse e-book, pois so
exclusivos para alunos devidamente matriculados
em nosso site oficial.
Pgina 126