Você está na página 1de 64

DATAPREV - Empresa de TI da Previdencia Social

Ncleo de Software Livre


Introduo
URL de Origem http://www-linuxprev/foswiki/bin/view/Nucleo/TutorialLinux
Verso r1.16 12 Aug 2013 jarbas.peixoto
Gerado em 03 Jul 2014 - 18:46
Copyright 2014 DATAPREV
Copyright pelos autores contribuintes. Todo material nessa plataforma colaborativa propriedade
dos autores contribuintes.
Idias, solicitaes, problemas com relao ao Foswiki? Nos d um retorno
Qualquer outro uso sem uma autorizao por escrito da DATAPREV proibido.
INDICE
Introduo......................................................................................................................................................Pgina 1
O que Linux......................................................................................................................................Pgina 1
Caractersticas......................................................................................................................................Pgina 1
Distribuies Linux.............................................................................................................................Pgina 1
Console................................................................................................................................................Pgina 1
Login....................................................................................................................................................Pgina 1
O usurio root......................................................................................................................................Pgina 2
Sistema de arquivos.......................................................................................................................................Pgina 3
Diretrios padres Linux.....................................................................................................................Pgina 3
Formato de comando no ambiente Texto do Linux.............................................................................Pgina 4
Documentao.....................................................................................................................................Pgina 5
Manipulao de arquivos e diretrios..................................................................................................Pgina 5
Procura de arquivos e diretrios:.......................................................................................................Pgina 10
montagem:.........................................................................................................................................Pgina 11
Shell...............................................................................................................................................................Pgina 13
Principais Shells;...............................................................................................................................Pgina 13
Tarefas do Shell;................................................................................................................................Pgina 13
Shell Bash;.........................................................................................................................................Pgina 13
Perfis de usurio...........................................................................................................................................Pgina 14
Criao de usurios;...........................................................................................................................Pgina 14
Alterao de senha;............................................................................................................................Pgina 14
Excluso de usuarios..........................................................................................................................Pgina 14
Gerenciando grupos - groupadd/groupdel.........................................................................................Pgina 14
permisso de arquivos e diretorios....................................................................................................Pgina 15
.........................................................................................................................................................................Pgina 19
Gerenciamento de processos.......................................................................................................................Pgina 19
ps........................................................................................................................................................Pgina 19
kill......................................................................................................................................................Pgina 19
jobs.....................................................................................................................................................Pgina 20
bg.......................................................................................................................................................Pgina 20
fg........................................................................................................................................................Pgina 20
killall;.................................................................................................................................................Pgina 20
top,.....................................................................................................................................................Pgina 20
htop;...................................................................................................................................................Pgina 20
.........................................................................................................................................................................Pgina 22
Editores de texto...........................................................................................................................................Pgina 22
Vi.......................................................................................................................................................Pgina 22
.........................................................................................................................................................................Pgina 24
Agendamentos..............................................................................................................................................Pgina 24
cron;...................................................................................................................................................Pgina 24
anacron;..............................................................................................................................................Pgina 25
At;......................................................................................................................................................Pgina 25
.........................................................................................................................................................................Pgina 27
Utilitrios......................................................................................................................................................Pgina 27
Filtros:................................................................................................................................................Pgina 27
Ordenao:.........................................................................................................................................Pgina 27
Conversores:......................................................................................................................................Pgina 28
Compactadores:.................................................................................................................................Pgina 28
Empacotamento de arquivos;.............................................................................................................Pgina 29
i
INDICE
Utilitrios
Dividindo arquivos............................................................................................................................Pgina 31
Outros................................................................................................................................................Pgina 32
.........................................................................................................................................................................Pgina 33
Impresso......................................................................................................................................................Pgina 33
Impresso direta;................................................................................................................................Pgina 33
Fila de impresso;..............................................................................................................................Pgina 33
.........................................................................................................................................................................Pgina 34
Programao em Shell.................................................................................................................................Pgina 34
Scripts shell;.......................................................................................................................................Pgina 34
Executando um programa Shell;........................................................................................................Pgina 34
Dando permisso de execuo...........................................................................................................Pgina 34
Variveis............................................................................................................................................Pgina 34
Passar e receber parmetros;..............................................................................................................Pgina 36
Instrues condicionais......................................................................................................................Pgina 37
Instrues de Loop.............................................................................................................................Pgina 41
Leitura de Dados................................................................................................................................Pgina 43
Linguagem AWK...............................................................................................................................Pgina 46
Expresses regulares;.........................................................................................................................Pgina 48
APT................................................................................................................................................................Pgina 52
apt-cdrom...........................................................................................................................................Pgina 52
apt-get................................................................................................................................................Pgina 52
apt-cache............................................................................................................................................Pgina 52
Linux em rede...............................................................................................................................................Pgina 53
Conceitos Bsicos..............................................................................................................................Pgina 53
O que uma rede de computadores?...........................................................................................Pgina 53
Cliente e servidor........................................................................................................................Pgina 53
Protocolos de rede.......................................................................................................................Pgina 53
modelo de camadas de rede.........................................................................................................Pgina 53
tipos de redes...............................................................................................................................Pgina 53
Classificao de redes de acordo com a arquitetura.............................................................Pgina 53
Ethernet..........................................................................................................................Pgina 53
Token Ring.....................................................................................................................Pgina 54
Frame Relay...................................................................................................................Pgina 54
X25.................................................................................................................................Pgina 54
DSL................................................................................................................................Pgina 54
Classificao de redes de acordo com a extenso geogrfica...............................................Pgina 54
LAN...............................................................................................................................Pgina 54
WAN..............................................................................................................................Pgina 54
Classificao de redes de acordo com a topologia...............................................................Pgina 54
Anel................................................................................................................................Pgina 54
Barramento.....................................................................................................................Pgina 54
Estrela.............................................................................................................................Pgina 54
Ponto a Ponto.................................................................................................................Pgina 54
Classificao de redes de acordo com o meio de transmisso.............................................Pgina 54
Por cabo..........................................................................................................................Pgina 54
Sem Fios.........................................................................................................................Pgina 54
hardwares de rede........................................................................................................................Pgina 54
Cabos....................................................................................................................................Pgina 54
Repetidor..............................................................................................................................Pgina 54
Transceptor...........................................................................................................................Pgina 54
Estao de trabalho...............................................................................................................Pgina 54
ii
INDICE
Linux em rede
servidor.................................................................................................................................Pgina 55
Bridge (ponte).......................................................................................................................Pgina 55
HUB (concentrador).............................................................................................................Pgina 55
Switch (comutador)..............................................................................................................Pgina 55
Placa de rede.........................................................................................................................Pgina 55
Modem (conversor)..............................................................................................................Pgina 55
Redes TCP/IP..............................................................................................................................Pgina 55
camadas................................................................................................................................Pgina 55
Linux como cliente de uma rede TCP/IP....................................................................................Pgina 55
Configurando manualmente.................................................................................................Pgina 55
Ajustando endereo IP...................................................................................................Pgina 55
Setando o gateway.........................................................................................................Pgina 55
Configurando a resoluo DNS.....................................................................................Pgina 55
Configurando via servio DHCP..........................................................................................Pgina 55
Servios de rede.................................................................................................................................Pgina 55
DHCP..........................................................................................................................................Pgina 56
FTP..............................................................................................................................................Pgina 57
HTTP...........................................................................................................................................Pgina 58
SSH.............................................................................................................................................Pgina 58
SAMBA.......................................................................................................................................Pgina 59
Para saber mais..................................................................................................................................Pgina 60
iii
Introduo
O que Linux
Linux um kernel de sistema operacional que um dos exemplos mais conhecido de software livre.
Caractersticas
Mantido pela kernel.org, com a superviso do criador do software o finlandes Linus Torvalds
Deriva do Unix (minix)
Multitarefa
Multiusurio
Suporte a multiprocessamento
Disponvel para vrias plataformas de hardware, tais como: Intel e compatveis, Motorola, 68k, Power PC,
Digital Alpha, Spark, Ultra Spark, Mips

Suporte a diversos protocolos e topologias de redes
Distribudo sob a licena GPL
Suporte a modularizao, ou seja, vrias funcionalidades podem ser adicionadas ou retiradas do software,
via a utilizao

de mdulos, por exemplo: suporte a protocolos de redes, drivers para dispositivos, suporte a sistemas de arquivos,
suporte a criptografia de dados, etc.
Distribuies Linux
O Linux, conforme dito anteriormente, o ncleo do sistema operacional. Por si s, o kernel do linux serve
somente como interface e controle entre os demais softwares e o hardware. Ento, para se ter um Sistema
Operacional completo se faz necessrio os aplicativos que faro uso do kernel para que o usurio possa realizar
alguma tarefa.
Como o Linux um software de cdigo aberto, vrias organizaes e empresas, se valendo desta caracterstica
lanam suas verses do kernel mais um conjunto de aplicativos complementares, a cada verso constituda se d o
nome de distribuio Linux.
Algumas distribuies tem mais destaque hoje em dia, mas sempre esto surgindo novas distribuies que podem
se tornar populares em curto espao de tempo. Como exemplo de distribuies de destaque podemos citar: Ubuntu,
red hat, debian, suse, mandriva, gentoo, slackware.
Console
O linux trabalha tambm o conceito de consoles, que so as interfaces de usurio. Existem dois tipos de consoles
para o Linux, a console texto, e a console grfica. A console texto(shell) por ser mais leve e mais fcil de ser
acessada via rede a opo mais utilizada em servidores Linux, j a console grfica(X-window-system) mais
utilizada em estaes de trabalho.
Login
Por sua caracterstica multiusurio, o Linux precisa de uma autenticao antes do usurio acessar qualquer das
consoles (texto ou grfica). A autenticao consiste em digitar um nome de usurio e uma senha.
DATAPREV Pgina 1
O usurio root
O usurio root o usurio administrador do Linux, este usurio o nico que tem existncia obrigatria em
qualquer verso de Linux ou Unix. com este usurio que so realizadas as tarefas administrativas do Linux, tais
como configurao de servios, administrao de usurios, administrao de segurana de acesso, inicializao e
finalizao de servios.
TutorialLinux rea Nucleo
DATAPREV Pgina 2
Sistema de arquivos
Sistemas de arquivos so estruturas com as quais os sistemas operacionais organizam e armazenam informaes a
respeito de arquivos e diretrios dentro de dispositivos de armazenamento, cada sistema operacional tem um
sistema de arquivo nativo, assim como alguns tipos de dispositivo de armazenamento tambm tem o seu prprio
sistema de arquivos.
O Linux tem suporte a muitos sistemas de arquivos, entre os quais podemos citar: FAT(dos e windows 9X),
NTFS(Windows NT, 200X, XP), JFS(Unix/IBM), XFS(IRIX), HPFS(OS/2) e ISO 9660(cdrom). Porm, os
filesystems que implementam as caractersticas nativas do Linux so ext2, ext3, ext4 e reiserfs, sendo que cada um
deles tem a mesma finalidade porm algumas diferenas em seu funcionamento interno.
Os arquivos e diretrios no Linux tem as seguintes caracterticas:
Os nomes dos arquivos e diretrios so case sensitive, ou seja, diferenciam maisculas de minsculas. Por
exemplo, um arquivo

chamado teste.txt diferente de um outro chamado Teste.txt ou TESTE.txt
Existem quatro tipos de arquivos: normais, links simblicos, diretrios e especiais.
O tamanho mximo dos arquivos vai depender de qual filesystem for escolhido. O ext2, por exemplo,
suporta arquivos at 2GB

j o ext3 suporta arquivos at 2 TiB
As extenses dos arquivos so meramente informativas. Sendo assim, um arquivo executvel do Linux no
depende de sua extenso

e sim da permisso de execuo.
Existem trs nveis de segurana de acesso a arquivos e diretrios: dono, grupo e outros
Arquivos ou diretrios com nome coamenando com o caracter . So considerados ocultos, e no so
listados por alguns comandos

Com exceo do ext2, os sistemas de arquivos possuem suporte a journaling, que um recurso que
possibilita a recuperao

rpida em caso de problemas.
Diretrios padres Linux
/ Diretorio raiz, base para todos os demais diretrios
/home Diretrio de dados de usurio, quando criamos um usurio comum debaixo deste diretrio que vo os
arquivos pessoais e de configurao. Por padro os subdiretrios abaixo deste diretrio so criados com o mesmo
nome dos usuarios. (por exemplo: /home/aluno)
/root Arquivos pessoais do administrador (usurio root)
/etc Arquivos de configurao
/var Arquivos de dados de sistema
/bin Arquivos executveis de programas
/usr Arquivos diversos: executveis, dados, documentao
DATAPREV Pgina 3
/boot Arquivos de inicializao do sistema
/dev Arquivos para acesso a dispositivos
/mnt /media Diretrios utilizados para montagem de dispositivos
/lib Arquivos de biblioteca de funes do sistema e drivers(mdulos)
/proc /sys Arquivos para visualizao de processos e configuraes de hardware
/opt Diretrio para instalao de programas de terceiros
/tmp Armazena arquivos temporrios
Formato de comando no ambiente Texto do Linux
comando [opes] [parmetros]
opes, explicitam modificaes na forma padro de execuo do comando podem ser precedidas um ou dois
hfens (- ou --), podem existir formatos curtos (representados por uma letra) ou longos (representados por palavras)
para representar opes
parmetros, valores a serem manipulados pelo comando, podem ser um ou mais arquivos ou podem tambm ser
valores texto ou numricos a serem manipulados
Redirecionamento de sadas Quando executamos um comando geralmente ele nos retorna todas as suas
mensagens na tela, por exemplo quando executamos um ls ele nos mostra uma lista dos arquivos e diretrios na
tela. Isto acontece pois a tela a sada padro para a maioria dos comandos.
Quando um comando precisa de interao geralmente a entrada padro feita pelo teclado, para a maioria dos
comandos a entrada padro o teclado. Quando, por algum motivo, necessitamos que a sada ou entrada dos dados
para/de comandos seja um arquivo ou mesmo um outro comando, utilizamos o redirecionamento de entrada ou
sada.
< redireciona a entrada do comando.
> redireciona a sada do comando.
>> redireciona a sada do comando efetuando uma concatenao no arquivo.
> redireciona mensagens de erro. 1.
| atua fazendo com que a sada de um comando sirva de entrada para outro.
Exemplos:
# 1) Redirecionar a entrada do comando cat para ler o contedo do arquivo teste.txt:
cat > teste.txt
# 2) Redirecionar a sada do comando echo para o arquivo teste.txt:
echo 'ola' > teste.txt
# 3) Redirecionar sada de erro do comando ls e gravar no arquivo erro-ls.txt:
ls abacaxi.txt 2> erro-ls.txt
# 4) Adicionar outra mensagem no arquivo teste.txt:
echo 'ola' >> teste.txt
TutorialLinux rea Nucleo
DATAPREV Pgina 4
# 5) Redirecionar sada de erro do comando ls e adiciona no arquivo erro-ls.txt:
ls abacaxi.txt 2>> erro-ls.txt
# 6) Redirecionar sada do comando ls para o comando more:
ls | more
tee
Funo: Recebe a sada de um comando, a escreve num arquivo e redireciona novamente para a sada padro.
tee arquivo escreve a sada em arquivo sobregravando e repete a sada na sada padro.
tee -a arquivo escreve a sada em arquivo no sobregravando e repete a sada na sada padro.
Exemplos:
# 1) recebe a sada do comando cat, escreve no arquivo teste2.txt e exibe o resultado na tela
cat teste.txt | tee teste2.txt
# 2) recebe a sada do comando cat, escreve no arquivo teste2.txt e a sada redirecionada para o comando more
cat teste.txt | tee -a teste2.txt | more
Documentao
A grande maioria do comandos Linux tem uma pgina de manual (comando man) ou uma opo help, que auxilia
o usurio a obter informaes sobre a execuo do comando. Para acesso a pgina de manual do comando
utlizamos o comando man. Alm disto existe o diretrio /usr/share/doc, que muitos pacotes de aplicativos utilizam
para colocar documentao extra a respeito do funcionamento das aplicaes.
man
Funo: exibe pginas de manual para comandos Exemplos de uso:
#exibir pagina de manual do comando ls
man ls
Manipulao de arquivos e diretrios
ls
Funo: listar arquivos e diretrios
Exemplos de execuo:
execuo sem parmetros s retorna os nomes do arquivos e diretrios
ls
Execuo com -l, lista alm dos nomes as outras caractersticas dos arquivos
ls -l
total 237600
-rw-r--r-- 1 root root 141713418 2009-06-15 11:52 arq1.txt
-rw-r--r-- 1 root root 78131200 2009-06-15 11:52 arq2.txt
-rw-r--r-- 1 root root 23195648 2009-06-15 11:52 arq3.txt
drwxr-xr-x 2 root root 4096 2009-06-15 11:51 dir
#tomando como exemplo a primeira linha retornada, podemos ver as seguintes caractersticas:
-rw-r--r-- 1 root root 141713418 2009-06-15 11:52 arq1.txt
| | | | | | |
v | | | | | |
TutorialLinux rea Nucleo
DATAPREV Pgina 5
Permisses v | | | | |
n de Links v v | | v
Dono Grupo v | Nome do arquivo
Tamanho do arquivo (bytes) v
Data/hora da ltima modificao
#Execuo com -lh, as opes podem ser combinadas, ou seja, a opo -l combinada com a -h (o que pode ser expresso como -lh,
ou -l -h) lista os tamanhos de arquivos e diretrios em Bytes, Kilobytes, Megabytes, Gigabytes, ...
ls -lh
#Execuo com -a, lista inclusive arquivos ocultos (arquivos ou diretrios cujo nome comea com .)
ls -a
#listando arquivo(s) especfico(s)
ls arq1.txt arq2.txt .oculto.txt
#Listagem recursiva
ls -R
Uso de coringas
* O comando ls tem muitas outras opes, para conhecer mais experimente executar o comando: man ls
* Para sair do man ls, tecle a letra q
pwd
Funo: mostrar diretrio atual (tambm chamado de diretrio corrente, ou diretrio de trabalho)
Exemplo de execuo:
pwd
/root/curso
cd
Funo: Mudar de diretrio
Exemplos de execuo:
#Ir para o diretrio HOME
cd
#Ir para diretrio /tmp
cd /tmp
Referncias em relao a diretrios
Diretrio corrente .
Diretrio anterior ..
Diretrio HOME ~
ltimo diretrio acessado -
mkdir
Funo: cria diretrio(s)
Exemplos de execuo:
TutorialLinux rea Nucleo
DATAPREV Pgina 6
#Criao de um diretrio
mkdir dir2
#Criao de um ramo de diretrios:
mkdir -p dir3/teste/a
#Criao de mais de um diretrio ao mesmo tempo
mkdir dir4 dir5 teste teste2 teste3
rmdir
Funo: remove diretrio(s)
Exemplos de execuo:
#Remoo de um diretrio
rmdir dir2
#Remoo de um ramo de diretrios:
rmdir -p dir3/teste/a
#Remoo de mais de um diretrio ao mesmo tempo
rmdir dir4 dir5
*obs: rmdir s funciona em diretrios sem arquivos
ln
Funo: cria links(ligaes) em arquivos
Exemplos de execuo:
#Cria um novo link para o arquivo arquivo.txt
ln arquivo.txt arq_lnk.txt
#Cria um link simblico para o arquivo.txt
ln -s arquivo.txt arq_sym.txt
#Cria link simblico de diretrio
ln -s temporario /tmp
*obs:
Existem dois tipos de links: links diretos (hard links) e links simblicos (symlinks)
Links diretos fazem referncia ao inode do arquivo referenciado, j os links simblicos fazem referncia
por nome aos arquivos/diretrios.

S possvel criar links simblicos para diretrios
links diretos no podem referenciar arquivos em outras parties, j links simblicos podem.
touch
Funo: Se o arquivo no existir ele criado vazio, se o arquivo existir somente a data da alterao modificada.
Exemplos de execuo:
touch arquivo.txt
cp
Funo: Copia arquivo(s) ou diretrio(s)
TutorialLinux rea Nucleo
DATAPREV Pgina 7
Exemplos de execuo:
#para copiar um arquivo com outro nome
cp arquivo.txt bkp_arquivo.txt
#para copiar para outro diretrio
cp arquivo.txt teste
#para copiar varios arquivos para um diretrio
cp arq1.txt arq2.txt teste3
#para copiar um diretrio inteiro para outro
cp -r teste /tmp
#podemos utilizar coringas
cp arq* teste
mv
Funo: move ou renomeia arquivos
Exemplos de execuo:
#renomeando arquivo
mv teste dir_teste
#movendo arquivos
mv arq_lnk.txt dir_teste
#mover diretrios inteiros
mv teste2 /tmp
rm
Funo: remover arquivos
Exemplos de execuo:
#remover arquivo
rm bkp_arquivo.txt
#remover diretorio
rm -R teste3
#removendo multiplos arquivos
rm arq1.txt arq2.txt
#usando coringas
rm arq_teste*
*obs.:
rm -R funciona para remover diretrios mesmo se eles no estiverem vazios
rm -i, faz com que o rm questione antes de remover cada arquivo
rm -f, faz com que o rm no questione antes de remover cada arquivo (este o padro)
cat
Funo: exibe o contedo de um ou vrios arquivo(s) da primeira linha at a ltima
Exemplos de execuo:
TutorialLinux rea Nucleo
DATAPREV Pgina 8
#Exibe o contedo de /etc/passwd
cat /etc/passwd
#Exibe o contedo de multiplos arquivos (concatena)
cat /etc/passwd /etc/group /etc/issue
#Usando coringas
cat arquivo*
tac
Funo: exibe o contedo de um ou vrios arquivos da ltima linha at a primeira(inverso do cat)
Exemplos de execuo:
#Exibe o contedo de /etc/passwd
tac /etc/passwd
#Exibe o contedo de multiplos arquivos (concatena)
tac /etc/passwd /etc/group /etc/issue
#Usando coringas
tac arquivo*
head
Funo: exibe as primeiras linhas de um ou vrios arquivos texto
Exemplos de execuo:
#Exibindo as 10 primeiras linhas de um arquivo (padro)
head arquivo.txt
#Exibindo as 5 primeiras linhas de um arquivo
head -5 arquivo.txt
tail
Funo:Exibe as ltimas linhas de um arquivo ou vrios texto
Exemplos de execuo:
#Exibindo as 10 ultimas linhas de um arquivo (padro)
tail arquivo.txt
#Exibindo as 5 ltimas linhas de um arquivo
tail -5 arquivo.txt
#Exibindo as ultimas 10 linhas e continuando a exibio assim que novas linhas so apendadas ao arquivo
tail -f arquivo.txt
less
Funo: Exibio navegvel de um arquivo texto
Exemplos de execuo:
less arquivo.txt
more
TutorialLinux rea Nucleo
DATAPREV Pgina 9
Funo: Exibio navegvel de um arquivo texto
Exemplos de execuo:
more arquivo.txt
*obs.:
Tanto o more quanto o less realizam a mesma funo, a diferena a forma que a navegao realizada em
cada um deles.

wc
Funo: Realiza contagens de nmero de caracteres, palavras ou linhas de um arquivo texto
Exemplos de execuo:
#Contagem de linhas, palavras e caracteres
wc arquivo.txt
#Contagem de linhas
wc -l arquivo.txt
#Contagem de palavras
wc -w arquivo.txt
#Contagem de caracteres
wc -c arquivo.txt
Procura de arquivos e diretrios:
find
Funo: localizalizao de arquivos, baseados em algum(ns) critrio(s)
Exemplos de execuo:
#Procurar por aquivos com tamanho maior que 1Mb abaixo do diretrio /usr/share/doc
find /usr/share/doc/ -size +1000k
#Procurar por aquivos que tenham como dono o usurio aluno abaixo do diretrio /home
find /home/ -user aluno
#Procurar por arquivos que foram acessados a 10 minutros atrs abaixo do diretrio /tmp
find /tmp/ amin 10
#Procurar por aquivos que tenham sido acessados a 1 dia atrs a partir do diretrio atual
find . -atime 1
#O find permite ainda que seja executado algum outro comando aps a localizao do(s) arquivios(s) utilizando a opo -exec.
Neste exemplo, realiza a listagem completa (ls -lah) das caractersticas dos arquivos localizados abaixo do diretrio /usr/share/doc/que
tenham mais que 1000K. Repare que os caracteres {} so usados no lugar onde devem ficar os nomes dos arquivo localizados e
o \; indica o fim do comando.
find /usr/share/doc/ -size +1000k -exec ls -lah {} \;
locate
Funo: Localizao rpida de arquivos pelo nome ou por parte do nome, baseado em ndice.
Exemplos de execuo:
TutorialLinux rea Nucleo
DATAPREV Pgina 10
#localizando arquivo que contenham a string mkdir
locate mkdir
updatedb
Funo: Atualizar o ndice que o comando locate utiliza para encontrar arquivos. A execuo eficaz do comando
locate depende da execuo peridica do updatedb, pois o ndice criado estrico e conforme so criados novos
arquivos desde a ltima execuo do updatedb, estes arquivos no sero listados pelo locate at a prxima execuo
do updatedb.
Exemplos de execuo:
%Atualizar ndices para o locate
updatedb
slocate
Funo: locate melhorado
Exemplos de execuo:
#localizando arquivo(s) que contenha(m) a palavra less
slocate less
#atualizando base de pesquisa
slocate -u
whereis
Funo: Funo para se encontrar a localizao do executvel, do cdigo-fonte ou da p ina de manual do comando
especificado.
Exemplos de execuo:
Encontrando a localizao do executvel, do cdigo-fonte e da pgina de manual do comando ls
whereis ls
Encontrando a localizao do executvel do comando ls
whereis -b ls
Encontrando a localizao da pgina de manual do comando ls
whereis -m ls
Encontrando a localizao do cdigo-fonte do comando ls
whereis -s ls
which
Funo: Localiza um programa na estrutura de diretrios do path. muito semelhante ao locate , mas a busca
feita no path do sistema e somente so mostrados arquivos executveis.
Exemplos de execuo:
#localizar onde se encontra o comando ls
which ls
montagem:
Sistemas de arquivos Cada sistema operacional, por ser encarregado de organizar os dados nos dispositivos de
TutorialLinux rea Nucleo
DATAPREV Pgina 11
armazenamento, tem que implementar uma maneira na qual possa guardar e restaurar as informaes armazenadas
em discos, cds, pen-drives e outros, ento a estrutura criada para esta funo chamada de sistema de arquivos,
normalmente cada sistema operacional tem o seu sistema de arquivos nativo, existem sistemas de arquivos
inerentes a um determinado tipo de dispositivo (como o ISO9660 para cdrom de dados). No caso do Linux
podemos usar mais de um tipo (ext2, ext3, ext4, reiserfs, jfs, xfs), porm o Linux suporta o acesso a outros tipos de
sistemas de arquivos. Alguns exemplos de sistemas de arquivos: ext2 - Antigo sistemas de arquivos utilizado pelo
UNIX/Linux, foi substitudo pelo ext3 ext3 - Atual sistema de arquivos utilizado pelo Linux reiserfs - Sistema de
arquivos para Linux, similar ao ext3 iso9660 - Sistema de arquivos para CDROM de dados fat - Antigo sistemas de
arquivos utilzado pelo DOS/Windows ntfs - Sistema de arquivos atual utilizado nos Windows
mount
Funo: montar sistemas de arquivos, ou seja, vincular um diretrio com um dispositivo ou partio.
Exemplos de uso:
#montando um cdrom no diretrio /mnt
mount -t iso9660 /dev/cdrom /mnt
umount Funo: desmonta um sistema de arquivos, ou seja, desvincula um diretrio de um dispositvo ou partio.
Exemplos de uso:
#desmontando um sistema de arquivo montado em /mnt
umount /mnt
du
Funo:Utilizado para verificar o quanto est sendo utilizado em cada diretrio.
Exemplos de uso:
#mostra o espao ocupado (em bytes) por cada subdiretrio abaixo /etc e uma totalizao de espao na ltima linha
du /etc
#mostra o espao ocupado (em bytes, Kilobytes, Megabytes, ) por cada subdiretrio abaixo /etc e uma totalizao de espao na ltima linha
du -h /etc
#mostra o espao total ocupado pelo /etc (em bytes)
du -s /etc
#mostra o espao total ocupado pelo /etc (em bytes, Kilobytes, Megabytes, )
du -sh /etc
df
Funo: Mostra a relao de filesystems atualmente montados e a sua respectiva tax de ocupao.
Exemplos de uso:
#mostra a lista de filesystems montados (valores em bytes)
df
#mostra a lista de filesystems montados (valores em bytes, Kilobytes, Megabytes, Gigabytes, ...)
df -h
TutorialLinux rea Nucleo
DATAPREV Pgina 12
Shell
O shell fornece uma interface de texto, para que o usurio interaja com Linux, interpretando e repassando os
comandos digitados pelo usurio.
Principais Shells;
sh - Bourne shell, shell original do ambiente Unix/Linux
csh C shell, shell que possui caractersitcas da linguagem C para criao de scripts
ksh korn shell, shellpadro dos Unix
bash shel padro para os Linux atuais.
Tarefas do Shell;
* Analisar dados a partir do prompt (dados de entrada)
* Interpretar comandos (caracteres curinga, aliases)
* Controlar ambiente (variveis de ambiente)
* Fazer redirecionamento de entrada e sada
* Execuo de programas (repassa ao kernel da funo a ser executada)
* Linguagem de programao interpretada (execuo de scripts)
Shell Bash;
Como este o shell padro para a esmagadora maioria de distribuies Linux, este ser o shell que iremos
referenciar neste manual.
Processo de configurao de ambiente;
Quando um novo usurio adicionado no sistema, criado por padro um diretrio pessoal debaixo do diretrio
/home com o prprio nome da conta adicionada. Dentro deste diretrio so criados vrios arquivos onde
destacam-se:
.bash_profile - este arquivo contm dados da configurao global do ambiente utilizado pelo usurio, ele
interpretado todas as vezes que se faz um login.
.bashrc - este arquivo interpretado todas as vezes que um shell interativo iniciado, nele so definidos os alias
que podem ser utilizados.
.bash_logout - este arquivo interpretado todas as vezes que o usurio efetua um logout no sistema.
DATAPREV Pgina 13
Perfis de usurio
Criao de usurios;
adduser Funo: Adiciona usurio
exemplo de uso: Opes:
--home define um diretrio onde ser o diretrio pessoal do usurio.
--gecos insere um comentrio na criao da conta.
--gid insere o usurio em um grupo j existente.
--shell define uma shell a ser usado no login.
adduser aluno cria o usurio aluno
Alterao de senha;
passwd Funo: O comando passwd utilizado para definir ou trocar a senha dos usurios do sistema.
#troca senha do usurio atual.
passwd
#Troca a senha o usurio aluno (quando usado como root).
passwd aluno
#bloqueia conta. (quando usado como root)
passwd -l conta
#desbloqueia conta. (quando usado como root)
passwd -u conta
#retira senha. (quando usado como root)
passwd -d conta
Excluso de usuarios
Para proceder com a excluso de um usurio, usa-se o comando userdel seguindo do nome da conta a qual ser
excluida.
userdel aluno exclui o usurio aluno.
userdel -r <conta> exclui o usurio bem como o seu diretrio pessoal com todo o seu contedo.
Gerenciando grupos - groupadd/groupdel
Existem no sistema diversos grupos padres, estes grupos poder ser listados a partir do arquivo
/etc/group. Neste arquivo esto os grupos com os seus repectivos membros.
Para adicionar um novo grupo no sistema usa-se o comando groupadd seguido do nome do grupo.
groupadd turma cria um grupo chamado turma.
DATAPREV Pgina 14
groupdel <grupo> remove grupo.
Assim como para cada grupo criado gerada uma entrada de registro no arquivo /etc/group, para cada conta criada
gerada uma entrada de registro nos arquivos /etc/passwd e /etc/shadow e tambm no /etc/group, uma vez que
como j comentado anteriormente cada usurio do sistema constitui-se em um novo grupo por padro.
permisso de arquivos e diretorios
No Linux cada arquivo tem com uma de suas caracterstas as permisses de acesso. A cada arquivo/diretrio
associado um proprietrio, um grupo e seus respectivos direitos.
Ao listamos um arquivo na forma longa (ls -la), observamos o seguinte:
-rwxr-r-- 36 root suporte 4096 Nov 3 14:53 teste.txt
Neste exemplo observamos que o arquivo teste.txt tem como dono o usuro root e como grupo suporte. O usurio
root tem os direitos de leitura (r), escrita (w) e execuo (x), o grupo suporte tem o direito de leitura (r) apenas, e os
demais tambm apenas leitura(r).
O primeiro caracter (-) define qual o tipo do arquivo, a saber:
- arquivo regular
d diretrio
l link simblico
b dispositivos orientados a blocos (hd, cdrom)
c dispositivos orientados a caracteres (modem, porta serial)
s socket (comunicao entre processos)
p pipe (comunicao ente processos)
Os outros caracteres (r, w e x) definem o tipo de permisso para as seguintes categorias: dono, grupo e outros.
Dono o usurio que criou o arquivo ou diretrio.
Grupo um conjunto de usurios, sendo que cada usurio do sistema constitui-se tantm em um grupo, podendo
desta maneira liberar direitos sobre os seus arquivos e/ou diretrios para todos que fazem parte do seu grupo.
Outros a categoria de usurios que no dono e nem pertence ao grupo do arquivo/diretrio.
Os tipos de permisses que podem ser atribudas a cada uma destas categorias so:
Permisso Arquivo Diretrio
Leitura (r) Examinar contedo do arquivo Listar arquivos do diretrio
Escrita (w) Modificar o contedo do arquivo Alterar diretrio
Execuo (x) Executar o arquivo Pesquisar no diretrio
Permisses Especiais
TutorialLinux rea Nucleo
DATAPREV Pgina 15
SUID (4000) - Quando um arquivo est com o bit suid ligado, o mesmo ser executado por qualquer usurio como
se fosse o prprio dono que estivesse executando o mesmo.
SGID (2000) Quando um diretrio est com o bit sgid ligado, qualquer arquivo criado dentro do diretrio ter o
mesmo grupo do diretrio.
STICKY (1000) Quando um diretrio est com o bit sticky ligado, somente o dono do arquivo poder proceder
com a excluso dos arquivos criados dentro do mesmo.
Permises Padro (umask)
As definies de permisso de acesso de arquivos e diretrios quando da criao dos mesmos podem ser definidas
utilizando o comando umask.
Perceba que ao criamos um arquivo ou diretrio como um usurio comum o padro o seguinte:
arquivo - 664 (-rw-rw-r--)
diretrio - 775 (drwxrwxr-x)
Ao criamos um arquivo ou diretrio com o usrio root o padro muda para:
arquivo - 644 (-rw-r--r--)
diretrio - 755 (drwxr-xr-x)
Isto porque o valor de umask do root 022. Enquanto que para o demais usurios 002.
chmod
Funo: Permite efetuar mudanas no acesso de um arquivo/diretrio. Este comando pode ser utilizando de dois
modos: simblico e octal.
Modo Simblico :
u usurio ou dono do arquivo
g grupo do arquivo
o outros usurios
a todos (u, g, o)
+ concede permisso
- remove permisso
= concede somente as permisses definidas, retirando os outros direitos
Modo Octal :
Leitura (r) 1.
Escrita (w) 1.
Execuo (x) 1.
TutorialLinux rea Nucleo
DATAPREV Pgina 16
Neste modo voc pode definir as propriedades para dono, grupo e outros diretamente ao invs de fazer
separadamente como no modo octal.
Para se obter o valor referente a permisso que se deseja atribuir ao arquivo, basta fazer uma soma entre eles.
Segue abaixo uma lista de permisses utilizando este modo:
- Nenhuma permisso de acesso. Equivalente a -rwx 1.
1 - Permisso de execuo (x).
2 - Permisso de gravao (w).
3 - Permisso de gravao e execuo (wx).
4 - Permisso de leitura (r).
5 - Permisso de leitura e execuo (rx).
6 - Permisso de leitura e gravao (rw).
7 - Permisso de leitura, gravao e execuo. Equivalente a +rwx.
Exemplos de uso:
1) Permitir que todos os usurios que pertenam ao grupo dos arquivos tenham permisses de leitura em todos os
arquivos do diretrio atual:
chmod g+r *
2) Retirar permisso de leitura do arquivo teste.txt para os outros usurios:
chmod o-r teste.txt
3) Incluir permisso de execuo do arquivo teste.txt para o dono e outros usurios
chmod uo+x teste.txt
4) Incluir permisso de execuo do arquivo teste.txt para o dono, grupo e outros
chmod a+x teste.txt
5) Definir somente a permisso de leitura e gravao do arquivo teste.txt para todos os usurios
chmod a=rw teste.txt
chown
Funo:permite ao root alterar tanto o dono como o grupo de arquivos e diretrios. Com a opo -R possvel fazer
a alterao de forma recursiva.
Exemplos de uso:
alterar o grupo do arquivo teste.txt para users, usa-se: chown .users teste.txt; para alterar o dono do arquivo teste.txt
para aluno
TutorialLinux rea Nucleo
DATAPREV Pgina 17
chown aluno teste.txt
chgrp
Funo: Permite alterar o grupo de arquivos ou diretrios.
Exemplos de uso:
chgrp users teste.txt
TutorialLinux rea Nucleo
DATAPREV Pgina 18
Gerenciamento de processos
Devido a sua caracterstica multitarefa, ou seja, executar diversos processos de programas simultaneamente, o
Linux prov mecanismos para gerncia de processos.
Segue abaixo os principais atributos de um processo:
PID identifica um processo em execuo.
PPID identifica o processo pai que gerou o processo-filho
UID identifica o usurio que criou o processo.
GID identifica o grupo ao qual pertence o processo.
Quanto execuo, os processos podem ser classificados em: foreground, background e quanto ao tipo os
processos podem ser em lote e daemons.
foreground processos iniciados no terminal de comando que so exibidos na tela enquanto estiverem em execuo,
esse tipo de processo pode ser interrompido digitando crtl+z e terminado digitando ctrl + c.
background processos tambm iniciados no terminal mas no exibem na tela nenhuma informao, processos em
background so iniciados colocando o sinal & no final.
lote so os processos iniciados por um agendador de tarefas (at, cron)
daemons so os processos normalmente executados na inicializao do sistema (samba, dhcp, etc)
ps
O comando ps exibe os processos que esto sendo executados no sistema.
ps mostra processos usurio atual
Opes:
-a mostra todos os processos independente de usurio
-f mostra processos em forma de rvore.
-w mostra na proxima linha o que no coube na tela
-u <usuario> mostra processos de determinado <usurio>
kill
O comando kill utilizado, por padro, para terminar ( matar ) processos ativos.
kill <PID do processo> termina o processo com o PID fornecido (o PID pode ser obtido na primeira coluna do
comando ps).
Opes:
-9 <PID do processo> fora o trmino do processo que tem o PID fornecido.
DATAPREV Pgina 19
-18 <PID do processo> continua processos.
-19 <PID do processo> interrompe processos.
jobs
O comando jobs exibe uma lista dos processos parados ou rodando em segundo plano.
bg
Este comando utilizado para colocar processos parados ou em foreground para executar em segundo plano.
bg % <jobs> coloca o processo que tem <jobs> fornecido (onde job nmero que aparece na primeira coluna do
comando jobs) em background.
fg
Utiliza-se o comando fg para colocar processos em background ou parados para executar em primeiro plano.
fg %<jobs> coloca o processo que tem <jobs> fornecido (onde job nmero que aparece na primeira coluna do
comando job) em foreground.
killall;
Funo: semelhante ao killl, sua funo terminar processos, porm usando nomes ao invs de pid.
Exemplos de uso:
killall updatedb
top,
Funo: sua funo semelhante ao comando ps, porm o top cria uma interface onde possvel uma melhor
visualizao dos processos, bem como sua manipulao
Exemplos de uso:
Exibe a interface do top
top
htop;
Funo: semelhante ao top, porm apresenta algumas diferenas, inclusive melhor para visualizao de uso de
mltiplos processadores
Exemplos de uso:
Exibe a interface do top
htop
nice;
TutorialLinux rea Nucleo
DATAPREV Pgina 20
Funo: Configura a prioridade da execuo de um comando, na chamada do comando.
Os nveis de prioridade vo do -20 (mais prioritrio) at o 19 (menos prioritrio), sendo a prioridade 0 (zero) o
nvel de prioride default.
Exemplos de uso:
chamando comando com prioridade alta
nice -9 updatedb
renice;
Funo: reconfigura a prioridade de execuo um comando j em execuo, a redefinio pode ser feita sabendo-se
o pid do comando, o usurio dono do comando ou o grupo
Exemplos de uso:
redefinindo a prioridade para -10 do comando pelo pid
renice -10 99 ou renice -10 -p 99
redefinindo a prioridade para +10 do(s) comando(s) do usuario aluno
renice +10 -u aluno
redefinindo a prioridade para 0 dos comandos executados por usurios do grupo users
renice 0 -g users
nohup.
Funo: Executa um comando ignorando os sinais de interrupo. O comando poder ser executado at mesmo em
segundo plano caso seja feito o logout do sistema.
Exemplos de uso:
executando updatedb que no poder ser cancelado por kill ou kilall
nohup updatedb&
TutorialLinux rea Nucleo
DATAPREV Pgina 21
Editores de texto
Vi.
O VI o editor de textos padro em todas as distribuies Linux. Possui um certo grau de complexidade o que o faz
ser um dos editores de textos com vrios recursos. Abaixo segue uma lista de exemplos de uso do editor vi.
vi teste.txt abri o arquivo teste.txt
vi +/telnet /etc/inetd.conf abri o arquivo /etc/inetd.conf na primeira ocorrncia da palavra telnet
vi +10 /etc/inetd.conf abri o arquivo /etc/inetd.conf na linha de nmero 10.
modo comando e modo edio
Aps a abertura de um arquivo os seguintes comandos podem ser utilizados:
G move o cursor para ltima linha.
nG move o cursor para a linha especificada.
H move o cursor para a primeira linha da tela.
L move o cursor para a ltima linha da tela.
/palavra pesquisa por palavra.
n repete a pesquisa.
i entra em modo de insero.
<esc> termina o modo de insero.
dd exclui a linha atual.
ndd exclui a quantidade de n linhas especificadas.
x exclui um caracter.
u desfaz a ltima ao.
ny copia a quantide de n linhas especificadas para o buffer.
p cola o que est no buffer.
:%s/palavra1/palavra2/g substitui no texto qualquer ocorrncia da palavra 1 pela palavra2.
:x salva e fecha o arquivo.
:w salva o arquivo.
:w salva a cpia do arquivo com outro nome.
:q fecha o arquivo.
DATAPREV Pgina 22
: q! fecha o arquivo, e sai sem salvar.
TutorialLinux rea Nucleo
DATAPREV Pgina 23
Agendamentos
O Linux prov dois mecanismos de agendamento de execuo de comandos: o cron e o at, para que o sistema
proceda com a realizao de tarefas rotineiras.
cron;
O cron trabalha com agendamento repetitivo de comandos, baseado em configurao de arquivos texto. O cron
precisa do programa crond ou cron estar rodando para que os agendamentos sejam efetivamente executados.
Configurando o cron;
Arquivo /etc/crontab
podemos agendar uma execuo repetitiva de um comando, editando este arquivo, usando a seguinte sintaxe:
minuto hora dia ms dia_da_semana usuario_dono comando
v | | | |
(0-59) v | | |
(0-23) v | |
(1-31) v |
(1-12) v
(0-7,sendo 1=segunda e 0 e 7=domingo)
O caractere * significa todo
O combinao */N indica execuo a cada N (minutos, horas ou dias)
exemplo:
Agendar execuo de um comando chamado /usr/local/bin/teste, como usuario aluno, s 07:00 horas da manh do
dia 30/06
0 7 30 6 * aluno /usr/local/bin/teste
Agendar execuo de um comando chamado /usr/local/bin/teste, como usuario aluno, de duas em duas horas, todos
os dias do ms de Setembro
* */2 * 9 * aluno /usr/local/bin/teste
Agendar execuo de um comando chamado /usr/local/bin/teste, como usuario root, s 18:00, aos Sbados do ms
de Setembro
0 18 * 9 6 root /usr/local/bin/teste
Diretrios /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly, /etc/cron.d
DATAPREV Pgina 24
Estes diretrios funcionam em conjunto com o /etc/crontab para que determinados scripts rodem na periodicidade:
hora em hora(/etc/cron.houly)
diria (/etc/cron.daily.)
semanal (/etc/cron.weekly)
mensal (/etc/cron.monthly)
Basta somente copiar o script a ser executado para o diretrio com a peridicidade desejada.
Para saber em que momento o script ser executado, basta ver o agendamento de execuo no /etc/crontab.
comando crontab;
Funo:agenda tarefas particulares de cada usurio
Exemplos de uso:
edita o arquivo de tarefas agendadas pelo usuario atual (a sintaxe a mesma utilizada no /etc/crontab com a
exceo de que no necessrio o campo de usurio dono)
crontab -e
lista tarefas agendadas pelo usuario atual
crontab -l
anacron;
Funo: Semelhante ao cron, executa de forma assincrona tarefas agendadas.
At;
Funo: Ao contrrio do corn que repetidamente excuta tarefas agendadas, o at executa uma nica vez de um
comando agendado.
Exemplos de uso:
agendando o script teste.sh para ser executado s 10:00
at -f teste.sh 10:00
agendando o script teste.sh para ser executado amanh s 23:00
at -f teste.sh 23:00 tomorrow
agendando o script teste.sh para ser executado daqui a 30 minutos
at -f teste.sh now + 30 min
agendando o script teste.sh para ser executado daqui a 10 dias
at -f teste.sh now + 10 days
agendando o script teste.sh para ser executado s 07:00 do dia 30/06/09
TutorialLinux rea Nucleo
DATAPREV Pgina 25
at -f teste.sh 07:00 06/30/09
atq
comando para visualizar tarefas agendadas com at
Exemploo de uso:
atq
comando atrm
comando para remover comandos agendados com at
Exemplo de uso:
Para remover agendamentos, primeiro executamos o atq para obter o ID da tarefa agendada
atrm ID
TutorialLinux rea Nucleo
DATAPREV Pgina 26
Utilitrios
Filtros:
grep;
Funo: filtra linhas de um ou mais arquivos que tenham um determinado padro de texto
Exemplos de execuo:
grep aluno /etc/passwd
uniq;
Funo: Exibe contedo de um arquivo, descartando linhas com mesmo conteudo sucessivamente repetidas,
exibindo o valor da linha repetida somente uma nica vez.
Exemplos de execuo:
exibe conteudo de teste_unuiq.txt, exibindo linhas repetidas somente uma nica vez.
uniq teste_uniq.txt
cut;
Funo: extrai partes de cada linha do arquivo. De acordo com delimitadores ou posio na linha.
Exemplos de execuo:
extraindo do 5 caracter at o 10 caracter de cada linha do arquivo teste_uniq.txt
cut -c 5-10 teste_uniq.txt
extraindo do 1 caracter at o 10 caracter de cada linha do arquivo teste_uniq.txt
cut -c -10 teste_uniq.txt
extraindo do 4 caracter adiante de cada linha do arquivo teste_uniq.txt
cut -c -10 teste_uniq.txt
extraindo o segundo campo de cada linha do arquivo teste_uniq.txt, considerando ';' como separador
cut -f2 -d ';' teste_uniq.txt
Ordenao:
sort;
Funo: ordena linhas do arquivo
Exemplos de execuo:
realizando o ordenamento alfabtico das linhas
DATAPREV Pgina 27
sort teste_sort.txt
realizando ordenamento numrico das linhas
sort -n teste_sort.txt
realizando ordenamento alfabtico de acordo com a segunda coluna
sort -k2 teste_sort.txt
Conversores:
tr;
Funo: troca ou deleta caracteres, exibindo resultado na tela
Exemplos de execuo:
trocando o caracter por c no arquivo teste_tr.txt
tr '' 'c' < teste_tr.txt
deletando (-d) caracter # de teste_tr.txt
tr -d '#' < teste_tr.txt
Alterando todo o texto de teste_tr.txt para maisculas
tr [:lower:] [:upper:] < teste_tr.txt
Alterando todo o texto de teste_tr.txt para maisculas e gravando alterao no arquivo teste_tr_maiusculas.txt
tr [:lower:] [:upper:] < teste_tr.txt > teste_tr_maiusculas.txt
od;
Funo: exibe conteudo de arquivos em vrios formatos (octal, hexadecimal, ASCII)
Exemplos de execuo:
Exibe conteudo do arquivo na forma ASCII
od -c teste_od.txt
Exibe conteudo do arquivo na forma octal
od teste_od.txt
Exibe conteudo do arquivo na forma Hexadecimal
od -h teste_od.txt
Compactadores:
gzip,
Funo: compactar um arquivo
TutorialLinux rea Nucleo
DATAPREV Pgina 28
Exemplos de execuo:
compactando arquivo com gzip
gzip teste_gzip.txt
obtendo informaes (-l) de um aquivo compactado
gzip -l teste_zip.txt.gz
gunzip,
Funo: descompactar um arquivo
Exemplos de execuo:
descompactando arquivo com gzip
gunzip teste_zip.txt.gz
bzip2;
Funo: compactar um arquivo, normalmente tem uma taxa de compactao melhor que ao gzip
Exemplos de execuo:
compactando arquivo com bzip2
bzip2 teste_zip.txt
bunzip2;
Funo: decompactar um arquivo compactado com bzip
Exemplos de execuo:
descompactando arquivo com bzip2
bunzip2 teste_zip.txt.bz2
Empacotamento de arquivos;
tar;
Funo: empacota arquivo em um nico arquivo
Exemplos de execuo:
criando(c) um pacote com o comando tar, com o nome(f) de teste.tar, com os arquivos do diretorio /etc e o arquivo
teste_tar.txt
tar cf teste.tar /etc teste_tar.txt
criando(c) um pacote com o comando tar, exibindo o nome dos arquivos processados(v), com o nome(f) de
teste.tar.gz, com os arquivos do diretorio /etc e o arquivo teste_tar.txt, compactando com o programa gzip(z)
TutorialLinux rea Nucleo
DATAPREV Pgina 29
tar cvzf teste.tar.gz /etc teste_tar.txt
criando(c) um pacote com o comando tar, exibindo o nome dos arquivos processados(v), em uma(f) unidade de
fita(/dev/st0), com os arquivos do diretorio /etc e o arquivo teste_tar.txt, compactando com o programa gzip
tar cvzf /dev/st0 /etc teste_tar.txt
criando um pacote com o comando tar, com o nome de teste.tar.bz2, com os arquivos do diretorio /etc e o arquivo
teste_tar.txt, compactando com o programa bzip2
tar cvjf teste.tar.bz2 /etc teste_tar.txt
extraindo(x) de um pacote criado com o comando tar, de nome(f) de teste.tar, o arquivo teste_tar.txt
tar xf teste.tar teste_tar.txt
extraindo(x) todos os arquivos de um pacote criado com o comando tar e compactado com o programa gzip(z), de
nome(f) de teste.tar.gz, exibindo o nome dos arquivos processados(v)
tar xvzf teste.tar.gz
extraindo(x) todos os arquivos de um pacote criado com o comando tar, de nome(f) de teste.tar, hospedado em uma
fita, exibindo o nome dos arquivos processados(v)
tar xvzf /dev/st0
extraindo(x) de um pacote criado com o comando tar e compactado com o programa bzip2(j), de nome(f) de
teste.tar, o arquivo teste_tar.txt, exibindo o nome dos arquivos processados(v)
tar xjvf teste.tar.bz2 teste_tar.txt
listando(t) os arquivos de um pacote criado com o comando tar, com o nome de teste.tar
tar tf teste.tar
listando(t) os arquivos de um pacote criado com o comando tar, com o nome de teste.tar.gz
tar tf teste.tar.gz
listando(t) os arquivos de um pacote criado com o comando tar, com o nome de teste.tar.bz2
tar tf teste.tar.bz2
cpio;
Funo: Semelhante ao tar, cpio tambm empacota vrios arquivo em um nico arquivo, sendo que uma das
principais diferenas que o cpio precisa de um redirecionamento de entrada para saber a lista de arquivos a
processar, ou seja necessrio que exista um arquivo ou comando que gere a lista de arquivos para o cpio
processar.
Exemplos de execuo:
gerando a lista com os arquivos do diretrio /etc com find e redirecionando para o cpio criar um arquivo de
pacote(-o) com o nome de bkp_etc.cpio, exibindo os arquivos que esto sendo processados(-v),
find /etc |cpio -ov > bkp_etc.cpio
TutorialLinux rea Nucleo
DATAPREV Pgina 30
usando o arquivo lista_cpio.txt com uma lista dos arquivos a serem processados e redirecionando para o cpio criar
um arquivo de pacote(-o) com o nome de bkp.cpio, exibindo os arquivos que esto sendo processados(-v),
cpio -ov <lista_cpio.txt > bkp.cpio
Restaurando todos os arquivo a partir de um pacote cpio, de nome bkp.cpio
cpio -iv < bkp.cpio
Restaurando todos os arquivo a partir de um pacote cpio, de nome bkp.cpio, restaurando tambem a estrutura de
diretrios, se foram copiados diretrios e subdiretrios
cpio -idv < bkp.cpio
Restaurando os arquivos com extenso .conf e .allow a partir de um pacote cpio, de nome bkp.cpio, restaurando
tambem a estrutura de diretrios, se foram copiados diretrios e subdiretrios
cpio -idv .conf *.allow < bkp.cpio
dd;
Funo: Usado para cpia binria ou converso de dados de arquivos especficos ou sistemas de arquivos.
Exemplos de execuo:
Criando uma imagem isso de um cdrom (/dev/cdrom)
dd if=/dev/cdrom of=/tmp/CD.iso bs=2048 conv=sync,notrunc
criando um backup da MBR de um disco
dd if=/dev/sda of=MBR.image bs=446 count=1
criando rapidamente um arquivo de 1GB
dd if=/dev/zero of=Arq_1Gb bs=1024 count=1000000
Convertendo um arquivo texto para letras maiusculas
dd if=teste_dd.txt of=teste_dd.txt conv=ucase
*obs.:
consulte a pgina de manual do comando dd para saber mais sobre outras opes e converses possveis.
Dividindo arquivos
split;
Funo: divide um arquivo em vrios arquivos menores.
Exemplos de execuo:
Dividindo um arquivo grande, de nome teste_split em vrios arquivos de 20MB (-b 20m), com prefixo S_teste_split
e sufixo aa, ab, ac, e assim por diante
TutorialLinux rea Nucleo
DATAPREV Pgina 31
split -b 20m teste_split S_teste_split
Dividindo um arquivo texto, teste_split.txt, em vrios outros arquivos de 30 linhas cada(-l 30)
split -l 30 teste_split.txt teste_split.txt
Outros
nl;
Funo: numera linhas de um arquivo ou da sada de um comando
Exemplos de execuo:
Numerando linhas de um arquivo
nl /etc/passwd
Numerando linhas da saida de um comando
ls /etc/*.conf | nl
fmt;
Funo: reformata contedo de arquivos texto, exibindo resultado na tela
Exemplos de execuo:
Formata texto para ser exibido em 60 colunas por linha(-w 60)
fmt -w 60 arquivo.txt
Formata texto para ser exibido com espaamento uniforme entre palavras e frases
fmt -u arquivo.txt
pr;
Funo: Reformata arquivos texto para impresso
Exemplos de execuo:
Colocando um cabealho antes da impresso do contedo de cada arquivo
pr arquivo.txt /etc/passwd
TutorialLinux rea Nucleo
DATAPREV Pgina 32
Impresso
Impresso direta;
podemos imprimir diretamente para uma impressora conectada diretamente em alguma porta local (paralela ou
serial), para isto basta redirecionar a sada do comando para o arquivo dedispositivo da porta, por exemplo:
para imprimir diretamente um arquivo em uma impressora de port paralela
cat /etc/passwd > /dev/lp0
Fila de impresso;
lpq;
Funo: Verificar trabalhos na(s) fila(s) de impresso;
Exemplos de execuo:
Verificando trabalhos de impresso na fila padro
lpq
Verificando todos os trabalhos de impresso
lpq -a
Ipr;
Funo: Enviar um arquivo para a fila de impresso;
Exemplos de execuo:
Imprimindo um arquivo na impressora padro
lpr arquivo.txt
DATAPREV Pgina 33
Programao em Shell
Scripts shell;
Um script shell um arquivo onde so colocados vrios comandos a serem sequencialmente executados pelo shell
do linux, com o objetivo principal de automatizar certas funcionalidades que seriam executadas rotineiramente, tais
como backup, monitorao e gerenciamento de sistemas que esto rodando no ambiente Linux.
Uma dica interessante antes de lidarmos com arquivos de script shell, testar a execuo na prpria linha de
comando e depois de testado a execuo colocar a sequncia de comandos executada em um arquivo.
O shell mais utilizado pela maioria das distribuies Linux o Bash, portanto neste material ser voltado a sua
utilizao para criao de shell scripts
Executando um programa Shell;
Criando o primeiro shell script
vi hello.sh
echo ola mundo
o comando echo serve para imprimir mensagens na tela. Para executar este script
bash hello.sh
Dando permisso de execuo
Para executar o hello.sh diretamente sem a necessidade de se chamar bash antes
chmod hello.sh
./hello.sh
Variveis
O shell do Linux possui um recurso de manipulao de variveis, que nada mais so que nomes que guardam
valores. Os nomes de variveis so case sensitive e devem obrigatoriamente comear com uma letra, so permitidos
alm de letras, nmeros e o caractere '_', para formar o nome de uma varivel. Existem algumas varveis que o
shell j inicializa por padro, porm possvel a qualquer usurio manipular as suas prprias variveis.
Para acessar o valor de uma varivel basta executar o comando echo $nome_da_variavel, por exemplo: echo
$HOME
Variveis de ambiente
Exemplos de variveis de ambiente:
HOME - O diretrio HOME do usurio atual.
PATH - Uma lista de diretrios separados por virgulas nos quais o shell procura por comandos
PS1- Prompt primrio.
DATAPREV Pgina 34
PS2 - Prompt secundrio.
HOSTNAME - Nome do computador
PWD o diretrio atual
USER O usurio atual
Criando variveis
Podemos criar variveis simplesmente atribuido um valor a um NOME DE VARIVEL. Por exemplo:
MINHA_VAR= valor
Acima estamos criando ou atribuindo um valor para a varivel MINHA_VAR, note que no temos espaos
separando o nome da varivel o sinal '=' e o valor, e que o nome da varivel no tem um '$' precedendo, utilizamos
o $ somente quando queremos acessar o valor da varivel.
Aspas simples, aspas duplas e crase
Aspas simples e aspas duplas tem a funcionalidade de agrupar informaes de texto, principalmente quando
precisamos escrever valores de texto com espaos em branco. Para entendermos a diferena entre o uso de aspas
simples e aspas duplas, vamos fazer um exemplo prtico:
Atribuimos uma varivel TESTE com o valor isto um teste
TESTE= Isto um teste
Agora podemos imprimir com o comando echo usando o valor da varivel teste, usando aspas duplas
echo o valor de teste $TESTE
dever ser impresso na tela: o valor de teste isto um teste
O que acontece que o $TESTE substituido pelo seu valor antes da execuo do comando echo
Agora usaremos o mesmo comando s que agora usando aspas simples
echo 'o valor de teste $TESTE'
dever ser impresso na tela: o valor de teste $TESTE
O que acontece agora que pelo $TESTE estar entre aspas simples ele interpretado como sendo texto.
O uso de aspas simples evita que tanto variveis ou caracteres curinga sejam substitudos antes da execuo do
comando. Demonstremos com outro exemplo a diferena que pode fazer caso executemos usando um comando
com caracteres curinga.
Executando o seguinte comando com aspas duplas
echo o valor de 4 * 4 16
Isto far com que o caratere * seja substituido pelos nomes de arquivos no diretrio atual, pois o shell antes de
executar o comando echo, troca o * pelos nomes de arquivos (por isto a execuo de um ls * retorna o nome de
todos os arquivos)
TutorialLinux rea Nucleo
DATAPREV Pgina 35
Executando o mesmo comando com aspas simples, dar o resultado esperado
echo 'o valor de 4 * 4 16'
Quanto s crases, elas podem ser utilizadas para que o resultado que um comando imprimiria na tela, seja utilizado
para atribuir uma varivel ou para servir como parmetro para outros comandos. Por exemplo:
Atribuindo a uma varivel, chamada LISTAGEM, o resultado de um comando ls
LISTAGEM=`ls`
Usando o resultado do comando date (que imprime a data e a hora), como parmetro a ser impresso pelo comando
echo
echo a data e hora atual : `date`
Exportao de variveis
Uma vez que as variveis tem seu valor no shell atual, quando chamamos um script para ser executado, executamos
outro shell para interpretar o comando, este shell no 'enxerga' as variel criadas no shell anterior, a menos que
exportemos a varivel com o comando export, usado da seguinte maneira:
export varivel
arrays
O shell do Linux suporta a criao de variveis que armazenam mltiplos valores, chamamos a este tipo de varivel
de array.
Criamos um array no Linux com as seguintes sintaxes:
Atribuindo os valores amarelo, azul e verde a uma varivel (array) chamada CORES
CORES=(amarelo azul verde)
Atribuindo os valores janeiro, fevereiro, maro a uma varivel (array) chamada MESES
MESES[1]= janeiro
MESES[2]= fevereiro
MESES[3]= maro
Para acessar os valores armazenados no array CORES, usamos ${CORES[0]} para acessar o valor amarelo, ou seja
o [0] aps o nome da varivel significa que estamos tentando acessar a primeira posio(ndice) desta varivel, para
acessar o valor azul usamos ${CORES[1]}, e assim sucessivamente.
Para acessar os valores armazenados no array MESES, usamos ${MESES[1]} para acessar o valor janeiro, ou seja
o [1] aps o nome da varivel significa que estamos tentando acessar a segunda posio(ndice) desta varivel, para
acessar o valor fevereiro usamos ${CORES[2]}, e assim sucessivamente, o valor ${MESES[0]}, como no foi
atribuido, retorna um valor vazio.
Passar e receber parmetros;
Um shell script pode receber valores como parmetros, como qualquer outro comando. Por exemplo: meu_script.sh
TutorialLinux rea Nucleo
DATAPREV Pgina 36
parametro1 parametro2 parametro3 parametro4 parametro5
Para gerenciar estes valores usamos as seguintes varveis de ambiente:
$0 Nome do script
$1 $2 $9 primeiro, segundo, , nono parmetro
$* - Todos os parmetros
$@ - Todos os parmetros
$# - Numero de parmetros recbidos pelo script
shift
Como as variveis disponveis s mapeia at nove parmetros, se precisarmos acessar valores alm do nono
parmetro usamos o comando shift. O shift funciona da seguinte forma, a cada execuo o valor de $1 descartado
e substituido pelo valor de $2, que por sua vez substituido pelo valor de $3, e assim sucessivamente at que o $9
receba o valor do dcimo parmetro, como no exemplo a seguir:
Suponha que seu script receba os seguintes parmetros
teste_par.sh um dois tres quatro cinco seis sete oito nove dez onze
Os valores de $1 a $9 dentro do script seriam :
$1 = um, $2 = dois, $3 = tres, $4 = quatro, $5 = cinco, $6 = seis, $7 = sete, $8 = oito, $9 = nove
Depois de executarmos o comando shift as variveis seriam remapeadas como:
$1 = dois, $2 = tres, $3 = quatro, $4 = cinco, $5 = seis, $6 = sete, $7 = oito, $8 = nove, $9 = dez
Depois de executarmos o comando shift novamente, as variveis seriam remapeadas como:
$1 = tres, $2 = quatro, $3 = cinco, $4 = seis, $5 = sete, $6 = oito, $7 = nove, $8 = dez, $9 = onze
O caractere ;
O caractere ; server para separar comandos em uma mesma linha, ou seja, cada comando executado
sequencialmente, sendo que o shell sabe separar o fim de um comando e o comeo de um novo comando pela
presena do caractere ; como separador entre comandos. Por exemplo:
executa um ls no diretrio atual, vai para o diretrio /tmp, lista o diretrio /tmp e retorna ao diretrio anterior
ls; cd /tmp; ls; cd -
Instrues condicionais
If;
Antes de falarmos do if, vamos apresentar uma caracterstica que todo comando Linux tem e que todo bom shell
script tambm devria ter, que o cdigo de retorno. O cdigo de retorno, um valor numrico que indica que o
comando foi executado com xito, o shell guarda o valor do cdigo de retorno do ltimo comando executado na
varivel $? .
TutorialLinux rea Nucleo
DATAPREV Pgina 37
Um exemplo prtico seria:
Executando um comando ls
ls
Verificando o valor de $?, vemos impresso na tela o valor 0, o que indica que o ltimo comando (ls)
executou com sucesso.

echo $?
0
Executando um comando ls agora tentando listar um arquivo inexistente
ls xxxx
Verificando o valor de $?, vemos impresso na tela um valor diferente de 0, o que indica que o ltimo
executou, mas deu algum

erro echo $?
2
O comando if, faz uso do retorno de um comando para tomar uma deciso, da seguinte forma:
Suponha que no script tenhamos a seguinte construo:
if comando; then
outro_comando
mais_outro_comando
fi
O shell executa o comando e se o cdigo de retorno do comando for 0, ento ele executa os comandos abaixo at
achar a palavra fi, que indica fim do if
O comando if ainda permite que seja feito outro bloco de instrues no caso do retorno do comando for diferente de
0 (else), da seguinte forma:
if comando; then
outro_comando
mais_outro_comando
else
comando
comando
fi
TutorialLinux rea Nucleo
DATAPREV Pgina 38
O shell executa o comando e se o cdigo de retorno do comando for 0, ento ele executa os comandos abaixo else,
caso contrrio (retorno do comando for diferente de 0) executa os comandos abaixo da palavra else at achar a
palavra fi, que indica fim do if
Para quem est familiarizado com outras linguagens de programao, analogamente o cdigo de retorno de um
comando com valor zero significa verdadeiro e um cdigo de retorno diferente de zer significa falso
comando test
O comando test muito utilizado em construes do if. O test serve para realizar execues de testes simples, de
acordo com a tabela
categoria teste Retorna 0(zero) se
TEXTO test -n STRING Tamanho da STRING no for zero
TEXTO test -z STRING Tamanho da STRING for zero
TEXTO test STRING1 = STRING2 STRING1 e STRING2 so Iguais
TEXTO test STRING1 = STRING2 STRING1 e STRING2 so diferentes
NUMRICO test INTEIRO1 -eq INTEIRO2 INTEIRO1 e INTEIRO2 forem iguais
NUMRICO test INTEIRO1 -ne INTEIRO2 INTEIRO1 e INTEIRO2 forem diferentes
NUMRICO test INTEIRO1 -gt INTEIRO2 INTEIRO1 for maior que INTEIRO2
NUMRICO test INTEIRO1 -ge INTEIRO2 INTEIRO1 for maior ou igual a INTEIRO2
NUMRICO test INTEIRO1 -lt INTEIRO2 INTEIRO1 for menor que INTEIRO2
NUMRICO test INTEIRO1 -le INTEIRO2 INTEIRO1 for menor ou igual a INTEIRO2
ARQUIVO test ARQUIVO1 -nt ARQUIVO2 ARQUIVO1 for mais novo que ARQUIVO2
ARQUIVO test ARQUIVO1 -ot ARQUIVO2 ARQUIVO1 for mais velho que ARQUIVO2
ARQUIVO test -e ARQUIVO ARQUIVO existe
ARQUIVO test -f ARQUIVO ARQUIVO existe e comum
ARQUIVO test -d ARQUIVO ARQUIVO existe e diretrio
ARQUIVO test -L ARQUIVO ARQUIVO existe e link simblico
ARQUIVO test -r ARQUIVO ARQUIVO existe e temos permisso de leitura
ARQUIVO test -w ARQUIVO ARQUIVO existe e e temos permisso de gravao
ARQUIVO test -x ARQUIVO ARQUIVO existe e e temos permisso de exeuo
NEGAO test ! EXPRESSAO se EXPRESSAO deu diferente de zero
COMPARAO test EXPRESSAO1 -a EXPRESSAO2 EXPRESSAO1 e EXPRESSAO2 so verdadeiras
COMPARAO test EXPRESSAO1 -o EXPRESSAO2 EXPRESSAO1 ou EXPRESSAO2 so verdadeiras
O comando test tem outra forma para ser chamado atravs dos caracteres [].
Exemplo do uso do comando test com o if
Se arquivo no existe cria o arquivo com touch
if test ! -e arquivo_if.txt; then
TutorialLinux rea Nucleo
DATAPREV Pgina 39
touch arquivo_if.txt
fi
Testando se o valor da variavel $VAL maior que 10, usando a forma de colchetes do comando test
if [ $val -gt 10];then
echo $VAL maior que 10
fi
&&;
Existem situaes simples em que queremos uma simples execuo de um comando se outro comando for bem
sucedido, para estes casos podemos usar o &&. Por exemplo:
Emitindo mensagem caso o comando mkdir tenha sido executado com sucesso
mkdir teste && echo diretrio teste criado com sucesso
||;
Para situaes em que, ao contrrio do &&, queremos que algum comando seja executado em caso de falha de
comando anterior. Por exemplo:
caso no consiga entrar no diretrio, cria o diretrio e em seguida entra
cd teste || mkdir teste; cd teste
* Combinando && e ||
Se quisermos uma combinao entre os operadores podemos fazer conforme o exemplo:
Imprime se temos permisso de escrita em um arquivo ou no
[ -w arquivo.txt ] && echo "podemos escrever" || echo "no podemos escrever"
case.
O case serve para realizar a execuo de um conjunto de comandos, comparando o valor de uma varivel com uma
ou mais strings. Por exemplo:
Verificando opo passada como primeiro parmetro
case $1 in
listar )
COMANDO= ls
PARAMETROS= -l
;;
cd )
TutorialLinux rea Nucleo
DATAPREV Pgina 40
COMANDO= cd
;;
*)
echo opo desconhecida
;;
esac
Neste exemplo, o case verifica o valor de $1 (primeiro parmetro) e compara com as opes, se o valor de $1 for
igual a listar, ele executa os comandos no bloco do listar at encontrar o ;; que indica o final dos comandos daquele
bloco, o mesmo se aplica quando o valor de $1 for igual a cd. O caractere * quando usado como opo do case
serve como curinga para opo padro, ou seja, se nenhuma das opes anteriores foi igual ao valor de $1, execute
o conjunto de comandos do bloco do *, o esac finaliza as opes do case.
Instrues de Loop
For;
Para uma execuo repetitiva de comando sobre um conjunto de informaes, podemos usar o comando for. Por
exemplo,
Gerando arquivos(touch) numerados de 1 a 10
for SEQUENCIAL in 1 2 3 4 5 6 8 9 10; do
touch arq$SEQUENCIAL.txt
done
outra forma de realizar o exemplo anterior usando uma sequencia de numeros gerada pelo comando seq e crases.
for SEQUENCIAL in `seq 1 10`; do
touch arq$SEQUENCIAL.txt
done
while;
Como o comando for, o while executa repetidamente comandos, at que uma condiao no seja mais satisfeita. Por
exemplo:
Exemplo simples de gerao de sequncia de nmeros de 1 a 9
vl=0
while [ $vl -ne 10 ]
do
echo $vl
TutorialLinux rea Nucleo
DATAPREV Pgina 41
vl=$(( $vl + 1 ))
done
Aqui a varivel vl recebe inicialmente o valor 0,
em seguida o while faz a primeira comparao: $vl(que vale 0) no igual a 10 o que resulta 0 (verdadeiro),
ento entra no bloco do comando while e executa o comando echo para imprimir o valor do $vl, e em seguida
incrementa o valor de vl em 1 ( vl=$(( vl + 1)) ), o detalhe aqui o operador $(( )), que realiza operaes
matemticas e coloca o valor 1 em vl
chegando ao done o shell sabe que chegou o fim do bloco de comandos do while
ento o while faz mais uma comparao, e o processo todo se repete at que o valor de vl chegue at 10.
break;
Usado para sair de um comando de repetio (for ou while), este comando til caso seja detectada alguma
condio que por algum motivo force a descontinuidade da repetio. Por exemplo:
gerando um loop infinito que escreve a data a cada 5 segundos no arquivo /tmp/loop_infinito.txt, s parando caso
seja criado um arquivo /tmp/pare
while true; do
echo date >> /tmp/loop_infinito.txt
if[ -e /tmp/pare ]; then
break
fi
sleep 5
done
Neste exemplo, o while true gera um loop infinito pos o comando true sempre retorna 0,
o comando echo date >> /tmp/loop_infinito.txt grava a data no arquivo.
a condio if[ -e /tmp/pare ], testa se o arquivo /tmp/pare existe e se existir o break executado, saindo ento do
loop infinito
o sleep 5 faz com que o script aguarde 5 segundo para continuar a executar
continue;
Usado para ir para a prxima iterao do camdo de repetio (for ou while), sem que os comandos aps o continue
sejam executados, este comando til caso seja detectada alguma condio que por algum motivo force que o
passo atual da repetio seja interrompida e a prxima iterao seja executada. Exemplo:
gerando um loop infinito que escreve a data a cada 5 segundos no arquivo /tmp/loop_monit.txt, s parando caso
seja criado um arquivo /tmp/pare e parando de imprimir uma mensagem de ok se o arquivo /tmp/problema existir
TutorialLinux rea Nucleo
DATAPREV Pgina 42
while true; do
sleep 5
echo date >> /tmp/loop_monit.txt
if[ -e /tmp/pare ]; then
break
fi
if [ -e /tmp/problema ]; then
continue
fi
echo ok >> /tmp/loop_monit.txt
done
Neste exemplo, o while true gera um loop infinito pos o comando true sempre retorna 0,
o sleep 5 faz com que o script aguarde 5 segundo para continuar a executar
o comando echo date >> /tmp/loop_monit.txt grava a data no arquivo.
a condio if[ -e /tmp/pare ], testa se o arquivo /tmp/pare existe e se existir o break executado, saindo ento do
loop infinito
a condio if[ -e /tmp/problema ], testa se o arquivo /tmp/problema existe e se existir o continue executado, no
executando o echo ok , e indo para a prxima interao.
Leitura de Dados
read
O read l valores a partir da entrada padro, e atribui eles a variveis. Por exemplo
Imprimindo a mensagem(-p) Entre com seu nome na tela e assim que o valor digitado e a tecla Enter
pressionada, o valor digitado atribudo a varivel NOME
read -p Entre com seu nome NOME
Imprimindo a mensagem Entre com sua senha na tela e assim que o valor digitado e a tecla Enter
pressionada, o valor digitado atribudo a varivel SENHA, a diferena agora que o valor digitado no aparece na
tela
read -s -p Entre com sua senha SENHA
A entrada dos dados pode ser realizada com o comando read lendo os dados a partir de arquivo
read.
TutorialLinux rea Nucleo
DATAPREV Pgina 43
echo 'valores;teste;0000;' > /tmp/arq_entrada.txt
while read -d ';' VALORES; do echo $VALORES; done < /tmp/arq_entrada.txt
o echo gera um arquivo que ser utilizado para a entrada do read, note que os valores esto separados por ';'
o comando while faz com que os valores sejam lidos a partir do arquivo (< /tmp/arq_entrada.txt), usando ';' como
delimitador entre novos valores, e imprime na tela os valores lidos.
A entrada dos dados pode ser realizada com o comando read lendo os dados a de um Here Document (<<)
while read -d ';' TIPO; do echo $TIPO; done << FIM
> 01;02;03;04;
> FIM
o comando while faz com que os valores sejam lidos a partir do Here document(<< FIM), que faz com que os
valores sejam lidos a partir da prpria sesso, usando ';' como delimitador entre novos valores, e imprime na tela os
valores lidos.
Funes;
Uma funo no Linux declarada da seguinte forma: nome () { comandos; }. Por exemplo
vi funcao.sh
quadrado ()
{
N=$1
echo $(( N * N ))
}
quadrado 3
printf
Sua funo , semelhante ao comando echo, exibir textos na sada padro, com possibilidade de formatao. Por
exemplo:
Exibindo uma mensagem com printf
printf hello, %s\n hoje `date` $USER
O comando printf, o %s contido na string substituido pelo valor da varivel $USER.
Eval;
The internal eval command interprets and expands a command line before the shell interprets and expands the line.
Essentially it permits dynamically construct program or statements and then execute them. this is a feature typical
for all scripting languages and one of the most powerful one. Among other thing you ca do the following:
TutorialLinux rea Nucleo
DATAPREV Pgina 44
Execute a command line you read using the read command.
Find the value of a variable whose name is derived from the value of another variable.
To repeat a stage or portion of command processing.
To apply results of expansions to earlier stages of the expansion.
wait;
Aguarda um processo em background terminar. Por exemplo;
aguardando o ltimo processo colocado em background terminar, imprimindo uma mensagem na sequncia
wait && echo processo em background terminado
aguardando o processo de PID 999 colocado em background terminar, imprimindo uma mensagem na sequncia
wait 999 && echo processo 999 terminado
trap;
Captura os sinais enviado para o comando e define comando a ser executado a cada sinal.
Exemplo:
capturando o sinal 15 (SIGTERM) no programa teste_trap.sh e imprime mensagem.
Vi teste_trap.sh
#!/bin/bash
# traptest.sh
trap "echo sinal SIGTERM capturado!" SIGTERM
echo "pid is $$"
while true; do
sleep 60
done
getopts.
while getopts ":c:sd" Option
# Initial declaration.
# c, s, and d are the flags expected.
# The : after flag 'c' shows it will have an option passed with it.
do
case $Option in
# w ) CMD=$OPTARG; FILENAME="PIMSLogList.txt"; TARGET="logfiles"; ;;
s ) PORT=20 ;;
d ) DEBUG=true ;;
c ) CMD=$OPTARG ;;
* ) echo "Not recognized argument"; exit -1 ;;
esac
done
shift $(($OPTIND - 1))
TutorialLinux rea Nucleo
DATAPREV Pgina 45
Linguagem AWK
Awk uma linguagem com muitas funcionalidades, excelente na manipulao de strings e arquivo texto, muito til
pra usar na linha de comando, em scripts, em combinao com outros aplicativos como cat, ls e etc...
awk uma linguagem, simples mas poderosa, para manipular arquivos de dados (e mais). Por exemplo, sendo
data.dat seu arquivo de dados multi-campos.
$ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat
imprime os campos 1 e 4 de cada linha de data.dat cujo segundo campo contenha "abc".
O awk perfeito pra tarefas em arquivos formatados em colunas, pode usar print $X onde X a coluna a ser
impressa, pode aplicar diretamente em um arquivo texto ou no resultado de comandos passado pelo pipe "|"
Exemplo para imprimir o arquivo de senhas.
awk '{ print $0 }' /etc/passwd
Tem o mesmo resultado de: cat /etc/passwd
Imprimir somente usurios com UID igual a 1.000 ou maior.
awk -F: '$3 > 999 {print $0}' /etc/passwd
$1 $2 ... indica o campo, onde $1 referencia ao campo 1, $2 campo 2 e assim por diante, isto depende do
delimitador utilizado para separar os campos.
pegar somente o campo 1 do arquivo de usurios.
awk -F ":" '{print $1}' /etc/passwd
cat /etc/passwd | awk -F ":" '{print $1}'
Campo 1 e 3
awk -F ":" '{print $1,$3}' /etc/passwd
delimitadores
man awk
-F fs
--field-separator fs
Use fs for the input field separator (the value of the FS prede-
fined variable).
usando _ como delimitador
echo "usando_em_lugar_do_ponto_ou_espacos" | awk -F\_ '{print $5 ; }'
Onde;
TutorialLinux rea Nucleo
DATAPREV Pgina 46
-F\_ indica o delimitador _, a barra \ funciona como escape para o shell no interpretar o _
print $5 indica para pegar a quinta ocorrencia, neste exemplo retorna "ponto", trocando por 3 (print $3) retorna
lugar.
Exemplo com o comando ls -la para listar somente tamanho e nome de arquivo
ls -la |awk '{print $5" "$8}'
1228107776 arquivao.gdb
52428800 part_aa
52428800 part_ab
52428800 part_ac
52428800 part_ad
52428800 part_ae
30668800 part_af
contar tamanho de variveis, palavras e linhas
length() contar string.
Retorna o nmero de caracteres do dado recebido, pode ser de uma varivel ou de arquivo, por default o espao o
separador, portanto fique atento, pode retornar contagem de palavras em lugar de linhas, veja alguns exemplos
abaixo e faa testes.
contar bytes por coluna ou linha em arquivo
Contar bytes da coluna de um arquivo, no exemplo abaixo altere $1 para o numero da coluna que deseja contar, $0
conta a linha inteira.
awk '{ print length ($1)}' arquivo.txt
cat arquivo.txt | awk '{ print length ($1)}'
$0 conta a linha inteira, contagem por linha, retorna lista com numero de bytes por linha
cat arquivo.txt | awk '{ print length ($0)}'
cat arquivo.txt | awk '{print length($0)}'
MVAR="contar bytes da varivel"
echo $MVAR | awk '{print length($0)}'
24
Contar os bytes da segunda palavra.
echo $MVAR | awk '{print length($2)}'
TutorialLinux rea Nucleo
DATAPREV Pgina 47
5
MVAR2=`echo $MVAR | awk '{print length($2)}'`
echo $MVAR2
5
Expresses regulares;
Os Metacaracteres
$ # ^ $ + * {} () | ? [] .
O arquivo de exemplo
$ cd /etc
$ cat passwd
ncoras para incio de fim de linha
$ grep root passwd
$ grep ^root passwd
$ grep bash$ passwd
$ grep sh$ passwd
$ grep 'sh$' passwd # proteger com aspas
Aspas duplas caso use variveis
$ zzz=ro
$ grep "$zzzot" passwd
$ grep "${zzz}ot" passwd # proteger com {}
Use os colchetes para listar possibilidades para uma posio
$ echo Carlos | grep 'Carlos'
$ echo Carlos | grep '[Cc]arlos'
$ echo carlos | grep '[Cc]arlos'
$ echo harlos | grep '[Cchfg]arlos'
A lista serve para lidar com acentuao tambm
$ vi /tmp/acao.txt # acao, ACAO, Aao, aO, Aao, etc...
$ cat /tmp/acao.txt | grep 'acao'
TutorialLinux rea Nucleo
DATAPREV Pgina 48
$ cat /tmp/acao.txt | grep 'a[c]ao'
$ cat /tmp/acao.txt | grep 'a[c][a]o'
$ cat /tmp/acao.txt | grep -i 'a[c][a]o'
$ cat /tmp/acao.txt | grep '[Aa][Cc][Aa][Oo]' # todas possibilidades
Como casar linhas em branco
$ grep '^$' passwd
Listas negadas e intervalos
$ grep '^[aeiou]' passwd
$ grep '^[bcdfghjklmnpqrstvwxyz]' passwd
$ grep '^[^aeiou]' passwd
$ grep '[^^]' passwd # negando o chapuzinho
$ grep '^[a-z]' passwd # o hfen indica intervalo
$ grep '^[a-]' passwd # sem letras ao redor, hfen normal
$ grep '^[-z]' passwd
$ grep '^[az-]' passwd
$ grep '^[0-9]' passwd # linhas iniciadas por nmeros
$ grep '[0-9]' passwd
$ grep '[0-90-9]' passwd # errado
$ grep '[0-9][0-9]' passwd # certo
$ grep '[0-9][0-9][0-9]' passwd
O curinga: o ponto
$ grep '^[aeiou]' passwd # comea com vogal
$ grep '^.[aeiou]' passwd # segunda letra vogal
$ grep '^..[aeiou]' passwd # terceira letra vogal
Egrep e chaves para repeties
$ grep '^.......................[aeiou]' passwd
$ grep '^.{25}[aeiou]' passwd # errado
$ grep '^.{5}[aeiou]' passwd # errado
TutorialLinux rea Nucleo
DATAPREV Pgina 49
$ grep '^.\{5\}[aeiou]' passwd # deve escapar!
$ egrep '^.{5}[aeiou]' passwd # ou usar o egrep
$ egrep 'f{995}' passwd # 995 efes
$ egrep 'f{1,995}' passwd # de 1 a 995 efes
Mais sobre chaves
$ egrep '^.{5}[aeiou]' passwd # sexta letra vogal
$ egrep '^.{4,5}[aeiou]' passwd # quinta ou sexta letra vogal
$ egrep '^.{1,5}[aeiou]' passwd # de segunda a sexta letra vogal
$ egrep '^.{5,}[aeiou]' passwd # sexta (ou mais) vogal
Linhas de tamanho fixo
$ echo aaaaaaaaaaaaaaaa | egrep 'a{6}'
$ echo aaaaaaaaaaaaaaaa | egrep '^a{6}$'
$ echo aaaaaaaaaaaaaaaa | egrep '^a{6,}$'
$ echo aaaaaaaaaaaaaaaa | egrep 'a{6,}'
$ echo aaaaaaaaaaaaaaaa | egrep 'a{2,6}'
Repetio de listas
$ egrep '[aeiou]{2}' passwd # duas vogais seguidas
$ egrep '^.[aeiou]{2}' passwd # segunda e terceira vogais
? * e + so atalhos para as chaves {}
$ # ? {0,1} * {0,} + {1,}
O opcional ?
$ echo mala | egrep mala
$ echo malas | egrep malas?
$ echo mala | egrep malas?
$ echo mala | egrep mal(as)? # erro!
$ echo mala | egrep 'mal(as)?' # deve proteger com 'aspas'
$ echo mal | egrep 'mal(as)?'
Usando ? * e +
TutorialLinux rea Nucleo
DATAPREV Pgina 50
$ echo b | egrep 'a*'
$ echo b | egrep 'a+'
$ echo b | egrep 'a?'
$ echo ab | egrep 'a+'
$ echo aaaaaa | egrep 'a+'
$ echo aaaaaa | egrep '^a+$'
$ echo aaaaaa | egrep '^a*$'
O tudo e o nada: ponto-asterisco .*
$ echo aaaaaa | egrep '.*'
$ echo | egrep '.*'
$ echo dayukafukdfkidrifhiioyohgoyiejeoueou | egrep '.*'
Ou isso ou aquilo
$ egrep 'root|ftp' passwd
$ egrep '^root|FTP' passwd
$ egrep '^(root|FTP)' passwd
$ egrep '^(root|ftp)' passwd
$ egrep '^(root|ftp).*\1' passwd
TutorialLinux rea Nucleo
DATAPREV Pgina 51
APT
O apt um gerenciador automtico de pacotes podendo dentre outras coisas instalar, remover ou atualizar pacotes.
Uma grande vantagem do apt que ele resolve as dependncias entre pacotes automaticamente. Ele tambm pode
fazer a atualizao de um pacote ou de at todo o sistema.
O apt faz uso de repositrios rpm, esses repositrios podem estar no cdrom da distribuio, em um site na internet
ou intranet.
A lista com os repositrios aos quais o apt pode usar esto no arquivo /etc/apt/sources.list.
Os programas mais comuns usados no apt so: apt-cdrom, apt-get e apt-cache.
apt-cdrom
Para utilizar o cd-rom como repositrio usa-se o comando apt-cdrom. Aps a execuo deste comando ser
solicitado o cd-rom com os pacotes rpm, e ser adicionada uma linha no arquivo
sources.list como mais uma linha de repositrio. Este procedimento dever ser executado para todos os cd's da
distribuio.
apt-get
O apt-get a ferramenta usada para poder fazer a maioria da tarefas, tais como: instalao, remoo e atualizao
de pacotes. Abaixo segue a lista das opes mais comumente usadas:
update a tualiza o banco de dados local do apt-get.
check v erifica a integridade do seu sistema.
install <pacote> instala pacote.
remove <pacote> remove pacote, inclusive os que dele dependem.
dist-upgrade atualiza todo o sistema.
clean limpa o arquivo /var/cache/apt/archives.
apt-cache
O apt-cache utilizado para efetuar pesquisas nas listas de pacotes.
Para pesquisar os pacotes do samba, por exemplo, pode-se usar apt-cache search samba.
Para exibir detalhes de um pacote pode-se usar apt-cache show samba.
*
Configurao de Servidores (samba, dhcp, http, ssh, ftp)
*
Nesta seo sero abordadas as configuraes mais comuns utilizadas em servidores Linux dentro do ambiente
MPAS/DATAPREV.
DATAPREV Pgina 52
Linux em rede
Conceitos Bsicos
O que uma rede de computadores?
Rede de computadores, a conexo mais de um computador ou dispositivos de rede para que possam compartilhar
recursos entre si. Exemplos de recursos podem ser: arquivos, impressoras, dados.
Cliente e servidor
Servidor o equipamento que fornece os servio de rede. Cliente o equipamento que acessa o servio de rede.
Protocolos de rede
Protocolo de rede um conjunto de padres que definem como os equipamentos iro trocar informaes entre si, a
grosso modo seria a "linguagem" de comunicao entre os equipamentos. A maioria esmagadora dos sistemas
operacionais modernos utiliza o protocolo TCP/IP para intercomunicao com outros equipamentos. Alguns
exemplos de protocolos de rede: - TCP/IP, protocolo de rede mais utilizado no mundo, o protocolo padro da
Internet - IPX/SPX, protocolo das antigas redes NOVELL - NETBIOS/NETBEUI, protocolo de comunicao netre
mquinas Windows - HTTP, protocolo de acesso a pginas web - DHCP, protocolo de configurao dinmica de
estaes de uma rede - SNMP, protocolo de envio de mensagens de email
modelo de camadas de rede
A maioria das redes de computadores se baseia num modelo de camadas, ou seja, para cada camada (ou nvel) de
rede em um equipamento que origina a comunicao, so feitos protocolos que iro ser utilizados pela respectiva
camada no equipamento de destino. Esta idia se baseia num conceito de rede chamado modelo ISO-OSI.
tipos de redes
As redes de computadores se classificam de diferentes maneiras, de acordo com a distncia abrangida(extenso
geogrfica), arquitetura de rede, topologia e meio de transmisso.
Classificao de redes de acordo com a arquitetura
As redes de computadores podem ser classificadas de acordo com a arquitetura, ou seja, a classificao pode ser
feita de acordo com a tecnologia utilizada para realizar a conexo entre os equipamentos de rede. Segue abaixo
alguns exemplos de arquiteturas:
Ethernet
a arquitetura mais empregada em redes locais (redes que ligam computadores dentro de uma mesma edificao),
baseado em cabeamento coaxial, onde os equipamentos so todos interligados num mesmo barramento ou com
cabos UTP e conectores RJ45, onde cada equipamento nesta rede interligado aos demais via um HUB
(concentrador) ou Switch(comutador). A comunicao entre os equipamentos ocorre por frames, que so pequenas
quantidades de informao que so convertidas em pulsos eltricos, e que levam alm da informao a ser
transmitida o endereo ethernet(MAC ADRESS ou endereo fsico) da placa de rede de origem e a placa de rede de
destino. Os pulsos eltricos so enviados pelo meio-fisico(cabo de rede) compartilhado, e a placa de rede de destino
consegue detectar que o frame para ela abrindo o endereo de destino e comparando com seu prprio endereo.
DATAPREV Pgina 53
Token Ring
Tambm uma arquitetura empregada em redes locais, o cabeamento tabm pode trabalhar com cabos coaxiais
ligados a um hub token ring ou com cabos utp ligados tambm a um outro tipo de hub token ring, a diferena que
os equipamentos ligados por este tipo de rede tem de formar um anel, ou seja, o primeiro equipamento ligado no
cabeamento tambm tm de estar ligado ao ltimo equipamento. A comunicao na rede token ring tambm se
baseia no envio de frames, mas a diferena se d no acesso ao meio fsico, ou seja, enquanto nas redes ethernet os
frames so jogados no meio de acesso sem controle, somente com a deteco de silencio ou coliso, o token ring
usa o mecanismo de token (ficha) para
Frame Relay
Utilizada para redes de longa
X25
DSL
Classificao de redes de acordo com a extenso geogrfica
LAN
WAN
Classificao de redes de acordo com a topologia
Anel
Barramento
Estrela
Ponto a Ponto
Classificao de redes de acordo com o meio de transmisso
Por cabo
Sem Fios
hardwares de rede
Cabos
Repetidor
aparelho para interligao de redes identicas, sua funo somente retransmitir o sinal, de forma a regenerar e
amplificar o sinal transmitido no meio fsico.
Transceptor
aparelho que combina um recptor e um transmissor de daos para/de um meio fsico.
Estao de trabalho
equipamento que utiliza servios de uma rede
TutorialLinux rea Nucleo
DATAPREV Pgina 54
servidor
equipamento que disponibiliza servios numa rede
Bridge (ponte)
dispositivo que serve para interligas duas redes, deixando somente passar o trfego destinado a outra rede,
mantendo o trfego interno(dentro da mesma rede) das redes separado.
HUB (concentrador)
equipamento que interliga os equipamentos dentro de uma mesma rede. QUando um hub recebe informao a
transmitir ele repete para toda as suas portas a mesma informao, fazendo com que esta chegue a todas os
equipamentos.
Switch (comutador)
switches, assim como os hubs server para interligar equipamentos numa rede, porm os switches quando recebem
informao repassam somente a porta ligada ao destino final.
Placa de rede
Dispositvo que permite a conexo de um equipamento em uma rede.
Modem (conversor)
Equipamento que permite a traduo de dados enviados pelo meio fsico em bits.
Redes TCP/IP
Redes TCP/IP, hoje o principal protocolo de rede em nvel mundial, principalmente pela popularizao da
Internet, porm seu uso tambm se aplica a redes locais. o nome TCP/IP devido aos dois principais protocolos
que formam este padro de comunicao via rede.
camadas
Linux como cliente de uma rede TCP/IP
Configurando manualmente
Ajustando endereo IP
Setando o gateway
Configurando a resoluo DNS
Configurando via servio DHCP
Servios de rede
Servio de rede qualquer recurso que pode ser compartilhado via rede de computadores. Por exemplo:
impressoras, arquivos, Pginas web, endereos IP(DHCP), acesso Internet, autenticao de usuario/senha e outros
TutorialLinux rea Nucleo
DATAPREV Pgina 55
DHCP
Servio que oferece gerenciamento de endereos IP dinmicos para as estaes. Alm do IP um servidor dhcp pode
ser configurado para fornecer o endereo do gateway padro da rede, do(s) servidore(s) wins, servidore(s) dns.
Como a administrao dos endereos IP feita automaticamente, no existem problemas de conflito. Quando a
mquina que possui um endereo IP que foi concedido pelo servidor, fica fora da rede por um perodo determinado
o endereo liberado.
O servidor dhcp configurado editando-se o seguinte arquivo: /etc/dhcpd.conf
Segue abaixo um exemplo do arquivo dhcpd.conf:
default-lease-time 60000; # Tempo mnimo em que o IP fica alugado em # segundos
max-lease-time 72000; # Tempo mximo em que o IP fica alugado
# em segundos
option subnet-mask 255.255.255.0; # Mscara de rede
option broadcast-address 10.82.6.255; # Broadcast
option routers 10.82.6.250; # Roteador padro
option domain-name-servers 10.0.134.223, 10.0.134.233; # Servidores DNS
option domain-name "prevnet"; # Dominio padrao
option netbios-name-servers 10.82.6.211, 10.0.134.223; # Servidores WINS
ddns-update-style ad-hoc; # Modo de atualizao de resoluo DNS
subnet 10.82.6.0 netmask 255.255.255.0 { # Rede
range 10.82.6.40 10.82.6.199; # Ips disponiveis do 10.82.6.40 ao 10.82.6.199
}
# # Especificando endereo ip fixo dentro do intervalo de ip's disponveis
host conec {
hardware ethernet 00:80:C8:80:CD:5B;
fixed-address 10.82.6.40;
option subnet-mask 255.255.255.0;
option broadcast-address 10.82.6.255;
}
Os endereos que foram concedidos so registrados no arquivo /var/state/dhcpd/dhcpd.leases.
As informaes sobre erros do programa ficam guardadas em /var/log/messages.
TutorialLinux rea Nucleo
DATAPREV Pgina 56
O servidor dhcp bem como outros servios podem ser inicializados e interrompidos utilizando o comando service
da seguinte maneira:
service <servio> start inicia servio.
service <servio> stop interrompe servio.
Service <servio> status exibe a situao atual do servio (em execuo ou parado)
FTP
Em uma rede tcp/ip o princial protocolo responsvel pela transferncia de arquivos, independentemente do
sistema operacional. O servidor ftp implementado no Conecita Linux o Proftpd. este servidor que recebe as
requisies ftp provenientes de outros servidores e/ou das estaes da rede.
O servidor Proftpd configurado a partir do arquvio /etc/proftpd.conf.
Segue abaixo um exemplo de configurao do proftpd:
ServerName "Servidor FTP padrao" # Nome de servidor a ser exibido # para os usurios
ServerType standalone # Roda o programa como daemon
ScoreboardFile /var/run/proftpd/scoreboard # Arquivo para guardar informaes
# de conexes
DeferWelcome on # Habilita mensagem de boas vindas
ServerAdmin root@localhost # E-mail do administrador
SyslogFacility AUTH # Nvel de log do sistema
Port 21 # Porta tcp para conexo
Umask 022 # Permisso padro para gravao
MaxInstances 30 # Nmero mximo de conexes
User nobody # Conta dona do processo ftp
Group nobody # Grupo do processo ftp
<Directory /*> # Diretiva para todos os diretrios
AllowOverwrite no # Permite sobregravao
</Directory> # Fim da diretiva
## Configurao para habilitar usurio annimo
<Anonymous /srv/ftp> # Inicio da diretiva para annimo
# que funciona em /srv/ftp
User ftp # Usurio para annimo
TutorialLinux rea Nucleo
DATAPREV Pgina 57
Group ftp # Grupo para annimo
RequireValidShell off # No verifica se conta tem shell vlido
UserAlias anonymous ftp # Logins que identificam usuario annimo
AccessGrantMsg "Anonymous access granted for %u." # Mensagem de conexo bem # sucedida
</Anonymous> # Fim da diretiva para annimo
Observaes:
- o diretrio padro o HOME para login com usurio vlido ou /srv/ftp (nas verses
anteriores o caminho /var/ftp/public) para login annimo.
- as informaes sobre os arquivos transferidos ficam guardadas em /var/log/xferlog.
- as informaes sobre erros do programa ficam guardadas em /var/log/messages
HTTP
O servidor www implementado no Linux pelo programa Apache. Este servidor responde a requisies http
provenientes de um cliente via browser.
Em geral o uso do arquivo padro /etc/apache/conf/httpd.conf, suficiente para colocar um servidor web
funcionando.
Observaes:
- o diretrio padro para publicao de pginas o /srv/www/default/html
- as informaes sobre os acesso s pginas ficam registradas
em /var/log/apache/access_log.
- as informaes sobre os erros do programa ficam registradas
em /var/log/apache/error_log.
SSH
O ssh um servio de conexo remota via protocolo ssh, que conhecido como secure shell. O que diferencia as
conexes via ssh das conexes comuns, como telnet por exemplo, que toda a comunicao entre cliente e servidor
criptografada, garantido uma transferencia segura dos dados.
Alm de conexo remota, o ssh permite que se faa a transferncia de dados entre mquinas utiliando o comando
scp .
Exemplo:
) Enviar arquivo teste.txt da mquina A para a mquina B: 1.
scp teste.txt <usuario>@<ip-mquina-B>:/home/<usuario>
TutorialLinux rea Nucleo
DATAPREV Pgina 58
SAMBA
O samba um servio de compartilhamentos de arquivos via protocolo smb, que o mesmo utilizado para
compartilhar arquivos e impressoras que utilizam o sistema windows.
O arquivo de configurao do samba (/etc/samba/smb.conf) dividido em sees, parmetros e variveis, onde
cada seo define um compartilhamento especfico de um diretrio. H ainda sees especiais: globals, homes,
netlogon e printers que definem regras de funcionamento do servidor do samba, diretrios pessoais, e sistema de
impresso, respectivamente.
Uma documentao completa com a lista de todos os parmetros e variveis do samba, bem como explicaes
detalhadas de como configur-lo e resolver problemas comuns pode ser acessada via web a partir do administrador
/ configurador web do samba, o swat .
Para acessar o swat instale o pacote swat. Agora abra um browser e digite no campo de url http://<ip-servidor>:901
e acesso com a senha de root.
Segue abaixo exemplo de smb.conf:
[global] #workgroup diz de qual grupo esta mquina faz parte ou qual domnio controla ou faz parte workgroup =
GRUPO
#netbios name, ajusta o nome da mquina, se quisermos que ela no fique com o mesmo nome de nossa mquina
Linux netbios name = NOME_MAQUINA
#server string, comentrio que aparece no ambiente de rede das estaes windows ao lado do nome da mquina
server string = SERVIDOR DE ARQUIVOS SAMBA
#security, diretiva que ajusta como deve ser a autenticao #valor SHARE, ajusta autenticao por
compartilhamento, semelhante a senha de compartilhamento dos windows9x #valor USER, autenticao por
usuario samba #valor DOMAIN, autenticao por usuario de domnio security = SHARE
#null passwords, ajusta se o samba aceita usurio sem senha ou no null passwords = Yes
#log level e logfile, diretivas que ajustam o nvel de registro de eventos do samba, e qual o arquivo que armazena.
log level = 1 log file = /var/log/samba/log.%m max log size = 50
#socket options, ajuste no comportamento das conexes ao servio. socket options = TCP_NODELAY
SO_RCVBUF=8192 SO_SNDBUF=8192
#printing e printcap name, ajusta qual o subsitema de impresso a ser utilizado para o compartilhamento de
impressoras printing = cups printcap name = cups
#preferred master, ajusta se nosso servidor deve ser o Local Master Browser preferred master = No
#domain master, ajusta se o nosso servidor ser um controlador de domnio domain logons = no
#domain master, ajusta se o nosso servidor ser um Domain Master Browser domain master = No
# Configurar o perfil ambulante do Windows NT/XP logon path = # Configurar o drive que ira apontar para o
HOME do usuario logon drive =
#[homes], compartilhamento especial que disponibiliza um mtodo para o usurio entrar no seu diretrio HOME,
via #SAMBA [homes] #read only, ajusta se o compartilhamento se o compartilhamento ser somente leitura read
only = No #browseable, ajusta se o compartilhamento ser visvel pelo ambiente de rede de estaes Windows
browseable = No
TutorialLinux rea Nucleo
DATAPREV Pgina 59
#[printers], compartilhamento especial para todas as impressoras [printers] #path, indica o caminho onde ficaro
armazenados os pedidos de impresso path = /var/spool/samba #read only, ajusta se o compartilhamento se o
compartilhamento ser somente leitura read only = No #guest ok, indica se o acesso sem autenticao ser
permitido guest ok = Yes #printable, diretiva que indica que este compartilhamento um compartilhamento de
impressora printable = Yes
#um exemplo de compartilhamento comum chamado dados [dados] #path, indica o diretrio do Linux a ser
compartilhado path = /mnt/dados #read only, ajusta se o compartilhamento se o compartilhamento ser somente
leitura read only = No #guest ok, indica se o acesso sem autenticao ser permitido guest ok = Yes
#um exemplo de compartilhamento comum de impressora chamado privativo [privativo] path = /priv read only =
No printable = Yes
Observaes:
- os usurios cadastrados no sistema necessriamente no so usurios samba , sendo assim faz-se necessrio
adicion-los com o comando smbadduser, porm o usurio samba deve ser um usurio do Linux, pois do
contrrio o registro do usurio samba no funcionar.
- para alterar a senha de um usurio do samba utiliza-se o comando smpasswd seguido do nome do usurio.
- para verificar as conexes e arquivos em uso usa-se o comando smbstatus
Para saber mais
http://focalinux.cipsga.org.br
http://www.debian.org/doc/
Esse tpico: Nucleo > WebHome > TutorialLinux
Verso do tpico: 12 Aug 2013, jarbas.peixoto
Copyright pelos autores contribuintes. Todo material nessa plataforma colaborativa propriedade
dos autores contribuintes.
Idias, solicitaes, problemas com relao ao Foswiki? Nos d um retorno
TutorialLinux rea Nucleo
DATAPREV Pgina 60