Sunteți pe pagina 1din 45

PROGRAMAO EM SHELL

Comandos Bsicos

Redes para Computadores


Prof. Esp. Renato Leite
renato.leite@unipe.br
A tarefa de administrar sistemas computacionais em ambiente real
envolve uma srie de desafios: organizar o ambiente em que suas
aplicaes sero executadas, manter e planejar as melhores
estratgias para que o atendimento aos usurios internos e
externos (clientes) seja eficiente. Para isso, se dispe de uma srie
de ferramentas prontas e um conjunto de comandos que
combinados so poderosos para manipular arquivos, dispositivos,
processos e usurios de um sistema.
ESTRUTURA DIRETRIOS
Os sistemas unix-like utilizam um sistema de arquivos com organizao de diretrios em rvore;

O diretrio base chamado raiz ou barra, devido a sua representao: /

No barra esto outros diretrios importantes:

/opt : onde esto aplicaes terceiras;

/bin e /sbin: binrios de sistema;

/var : arquivos utilizados pelas aplicaes de forma temporria - aqui ficam, por exemplo, os logs por padro (/
var/log/);

/usr : arquivos compartilhados entre aplicaes de sistema e instaladas;

/etc : arquivos de configurao;


ESTRUTURA DIRETRIOS -
FSSTND
Linux Filesystem Structure
O FSSTND - Linux Filesystem Structure - foi concebido
anteriormente e com os mesmos propsitos da FHS,
porm devido sua pouca rigidez com diversos
aspectos, muitas distribuies definiam por si prpria a
localizao de diversos arquivos de sistema. Os arquivos
de inicializao e configurao do sistema eram os que
mais situavam-se fora de uma padronizao especfica,
mesmo que estas distribuies tomassem como base
os mtodos de inicializao SystemV e BSD.
ESTRUTURA DIRETRIOS -
FHS
Filesystem Hierarchy Standard (FHS):
A norma FHS um conjunto de requerimentos
tcnicos que visam estabelecer normas e padres
para a estrutura do sistema de arquivos Unix,
derivados e clones. ela quem define quais so os
diretrios que devero existir, a localizao dos
arquivos de configurao, etc., com o intuito de
promover a padronizao e compatibilidade dos
sistemas GNU/Linux e suas aplicaes.
ESTRUTURA DIRETRIOS
ESTRUTURA DE DIRETRIOS

Diretrio Raiz (/): /bin

Binrios essenciais O diretrio /bin contm todos (ou a maioria) os


arquivos binrios com os comandos essenciais dos usurios, tais
como os programas da linha de comando, entre outros. Os arquivos
contidos neste diretrio geralmente no so modificados aps a
instalao, porm quando de novas atualizaes do sistemas, podero
ser alterados.
ESTRUTURA DE DIRETRIOS

/boot

Inicializao do sistema O diretrio /boot contm todos os arquivos


necessrios (estticos) para a inicializao do sistema (boot loader),
exceto os arquivos de configurao (/etc) e o gerenciador de
inicializao (LILO). Em distribuies que utilizam o gerenciador
GRUB, este encontra-se armazenado em um subdiretrio dentro
deste diretrio chamado /boot/grub.
ESTRUTURA DE DIRETRIOS

/dev

Dispositivos Todo e qualquer dispositivo, tais como portas seriais,


discos rgidos, scanners, mouse, modens, etc., em sistemas baseados
em UNIX so tratados como arquivos denominados device node -
nodo de dispositivo - ou simplesmente device. Para ter acesso s
funcionalidades de qualquer dispositivo, deveremos recorrer aos seus
respectivos devices. E onde se encontram estes arquivos?
ESTRUTURA DE DIRETRIOS

/dev
ESTRUTURA DE DIRETRIOS

O diretrio /dev contm todos os arquivos de dispositivos (device)


necessrios para cada dispositivo em que o kernel do Linux suporta.
Neste diretrio tambm temos um script chamado MAKEDEV, o
qual nos possibilita a criao de novos dispositivos de maneira fcil e
prtica, conforme nossas necessidades.
ESTRUTURA DE DIRETRIOS

/etc

Configurao O diretrio /etc contm todos os arquivos diversos de configurao local do


computador utilizado, desde os arquivos de configuraes diversas tais como a tabela para
montagem de parties, o gerenciador de inicializao LILO, scripts, etc. Alm deste diretrio,
existem outros diretrios em sua estrutura especificados pela FHS, como:

/etc/X11 - arquivos de configurao local para o


servidor X.
/etc/rc.d - arquivos de configurao e scripts para a
inicializao.
ESTRUTURA DE DIRETRIOS

/home

Dados pessoais: Em virtude dos sistemas Unix-likes terem sidos concebidos para
serem sistemas multi-usurios, o diretrio /home designado exclusivamente para o
armazenamento dos arquivos pessoais das contas de usurio do sistema, incluindo
personalizaes especficas de sua conta no sistema. Para cada conta de usurio
criado, acrescentado este diretrio um novo diretrio que utiliza a mesma
nomenclatura definida para ser o nickname do usurio.
ESTRUTURA DE DIRETRIOS

/lib

Bibliotecas essenciais: O diretrio /lib contm bibliotecas


compartilhadas necessrias para a execuo dos arquivos
contidos nos diretrios /bin e /sbin. Ainda neste diretrio
so encontrados os mdulos do kernel, essenciais para as
funcionalidades bsicas do sistema. Estes mdulos so
armazenados numa estrutura especificada em /lib/modules-
[VERSO]. As bibliotecas necessrias para as aplicaes
hospedadas em /usr no pertencem /lib.
ESTRUTURA DE DIRETRIOS
/mnt e /media

Pontos de montagem O diretrio /mnt - ou ponto de montagem -


foi definido para ser utilizado nica e exclusivamente para a
montagem de unidades e parties para armazenamento de
arquivos, como disquetes, zip- drives, discos rgidos, parties,
memrias eletrnicas, etc. Ex:

/mnt/floppy
/mnt/memory
/mnt/cdrom
/mnt/windows
/mnt/hda4
ESTRUTURA DE DIRETRIOS

/opt

Compatibilidade entre aplicativos: O diretrio /opt,


apesar de no pertencer norma FHS, foi mantido em
virtude da necessidade de manter a compatibilidade com
antigos programas que ainda so muito utilizados
atualmente. Ex:
/opt/BROffice
/opt/kde
/opt/skype
ESTRUTURA DE DIRETRIOS

/proc

Informaes e processos do kernel: O diretrio /proc contm um sistema de


arquivo virtual, com informaes gerais do sistema e processo do kernel. Na
verdade, o seu contedo no faz parte dos arquivos de sistema; ele apenas um
sistema de arquivo virtual para que os administradores do sistema tenham acesso s
informaes do processamento do kernel em forma de arquivos para consulta, onde
inclusive podemos realizar passagem de informaes ao kernel por eles atravs de
parmetros especficos.
ESTRUTURA DE DIRETRIOS

/root

Administrador do sistema: O diretrio /root


definido para ser utilizado exclusivamente no
armazenamento de dados e arquivos pessoais do
superusurio - o root.
Ele mantido na raz principal e no situado em /
home.
ESTRUTURA DE DIRETRIOS

/sbin

Binrios essenciais para a administrao do sistema: O diretrio /sbin somente


armazena arquivos binrios essenciais para a administrao do sistema, onde os
mesmos so utilizado somente pelo superusurio ou durante a inicializao do
sistema. Todos os executveis necessrios para diversas outras atividades pertinentes
estaro disponveis, como as operaes com pacotes, mdulos, processos,
configuraes, parties, etc.
ESTRUTURA DE DIRETRIOS

/tmp

Arquivos temporrios: O diretrio /tmp armazena arquivos


temporrios gerados pelo sistema. Todos os usurios tm permisso
de leitura e escrita nele. Geralmente este diretrio limpo a cada
inicializao ou a intervalos relativamente freqentes. Por este motivo,
deveremos evitar a guarda de arquivos por um determinado tempo
neste diretrio, mesmo que eles sejam inteis.
ESTRUTURA DE DIRETRIOS
/srv

Informaes de servios (internet): O /srv armazena dados


de aplicaes (servios) direcionados para redes, como o
servidor Web Apache.

exemplo:
$ ls -l /srv
lrwxrwxrwx 1 root root 8 2007-08-03 10:10 httpd ->
/var/www/
lrwxrwxrwx 1 root root 8 2007-08-03 10:10 www -> /var/www/
ESTRUTURA DE DIRETRIOS
/usr

Aplicativos e utilitrios gerais O diretrio /usr a segunda maior hierarquia de diretrios do


sistema. Todos os aplicativos e utilitrios do sistema encontram-se aqui:

/usr/X11R6 Sistema X Windows verso 11 release 6


/usr/bin A maioria dos comandos de usurio
/usr/dict Listas de palavras
/usr/doc Documentao miscelnea
/usr/etc Configurao do sistema
/usr/games Jogos e arquivos educacionais.
/usr/include Arquivos header (cabealhos) includos por programas C
/usr/lib Bibliotecas principais dos programas
/usr/local Hierarquia local - programas que no "pertencem" a distribuio
/usr/man Manual digital dos principais comandos
/usr/sbir Arquivos de administrao do sistema no vitais
/usr/share Informao independente da arquitetura
/usr/src Armazenamento de cdigo fonte de aplicaes da distribuio.
ESTRUTURA DE DIRETRIOS

/sys
Suporte aos dispositivos de hardware O diretrio /
sys, tal como o /proc, um sistema virtual de
arquivos que tem como objetivo, mostrar as
informaes relacionadas aos hardware.

Enquanto que /proc traz referncias mais ligadas ao


sistema, o /sys trata mais especficamente dos
dispositivos de hardware em geral
ESTRUTURA DE DIRETRIOS

/var

Variveis: O diretrio /var contm informaes


variveis, como arquivos e diretrios em fila de
execuo, arquivos temporrios transitrios, etc.:
ESTRUTURA DE DIRETRIOS

/var

/var/adm: Informaes administrativa do sistema.


(obsoleto). Atalho simblico at /var/log.
/var/catman Pginas do manual formatadas localmente.
/var/lib Informao do estado das aplicaes.
/var/localInformao varivel do software de /usr/local.
/var/named Arquivos DNS, somente rede.
/var/nis Arquivos base de dados NIS.
/var/run Arquivos relevantes a processos execuo do sistema.
/var/spool Diretrios de trabalhos em fila para realizar depois.
/var/tmp Arquivos temporrios, utilizado para manter /tmp menor possvel.
O COMANDO MAIS
IMPORTANTE - MAN
GERNCIA DE ARQUIVOS
Listagem de diretrios e arquivos: comando pwd e ls:

Listam caminhos absolutos e relativos;

Varivel de ambiente $PWD;

Manipulando arquivos: comando cp, mv e rm:

cp - copia (para diretrios use o argumento -r);

mv - move;

rm - remove (para diretrios use o argumento -r).

Manipulando diretrios: comando cd, mkdir e rmdir:

mkdir - cria diretrio;

rmdir - remove diretrio.

cd - acessa o diretrio passado como parmetro


COMANDO LS
COMANDO PWD
COMANDO MKDIR E RMDIR
COMANDO CP E MV
COMANDOS RECURSIVOS
ESTRUTURA DE DIRETRIOS

Atividade:

1) Localize o arquivo sshd_config de configurao do servio ssh do sistema.


2) Localize o arquivo mem que representa a memria principal do sistema.
3) Localize o arquivo de imagem do boot do sistema de nome vmlinuz-xxx (onde
xxx a verso do kernel)
4) Localize o arquivo binrio ping correspondente ao comando.
5) Localize o arquivo binrio mcedit correspondente ao editor de texto.
MANIPULAO DE
ARQUIVOS
touch: modifica atributos de acesso de um arquivo passado como argumento. Muito utilizado para criao de arquivos.

Ex.: Criando um arquivo no home de renato: touch /home/renato/teste. Como no h argumentos de modificao de atributos, o arquivo
criado.

famlia grep: faz buscas de padres (simples ou regex) dentro de arquivos

Ex.: Pesquisando um termo dentro de um arquivo: grep termo arquivo;

cat: l sequencialmente um arquivo e exibe na sada padro, para modificar a sada utiliza-se o redirecionador de fluxo (> ou >>).

Ex.: cat arquivo: exibe o arquivo na tela ou cat arquivo >> arquivo2

tail: por padro l e exibe na tela a partir do final do arquivo (10 linhas), muito utilizado para leitura em tempo real de arquivo que est sendo
alimentado;

Ex.: tail arquivo: l as 10 ultimas linhas do arquivo e exibe na tela. tail -f arquivo: assim como o comando padro, mas cria um fluxo que ser
exibido na tela ao passo que o arquivo for alimentado.

head: funciona de forma prtica como o tail, mas no incio do arquivo (no possui o argumento -f), exibindo as 10 primeiras linhas por padro

Ex.: head arquivo: l as 10 primeiras linhas do arquivo e exibe na tela. head -n arquivo: l as n primeiras linhas do arquivo e exibe na tela.
COMANDO TAIL
COMANDO HEAD
FAMLIA DE COMANDOS GREP
COMANDO CAT
COMANDO TOUCH
COMPACTAO E
EMPACOTAMENTO

Organizararquivos, seja para backup, arquivamento ou


gerncia de logs uma tarefa cotidiana em administrao de
sistemas em produo;

Existem basicamente dois comandos a serem vistos:

Arquivar: tar;

Compactao: gzip;
COMANDO TAR
O comando TAR funciona como um arquivador, ele une todos os arquivos ou diretrio em um nico arquivo;

Exemplos:

tar -cf arquivo/diretorio : cria um arquivo tar a partir do arquivo ou diretorio passado como parmetro;

tar -tf arquivo.tar : lista os arquivos contidos num arquivo tar;

Resumindo:

c para criar um arquivo do tipo arquivo;

x para extrair arquivos de dentro do arquivo tar

v mostra o processo na tela. A opo -vv exibe mais detalhes ainda;

f determina o nome do arquivo tar;

t exibe o contedo;

j compacta ou descompacta os arquivos via bzip2

z compacta ou descompacta os arquivos via gzip;

r adiciona arquivos ao tar;


COMANDO TAR
COMANDO GZIP
O comando gzip utilizado para compactar arquivos, normalmente j empacotados utilizando o tar;

Sintaxe padro: gzip arquivo;

Argumentos:

c - grava o arquivo compactado na sada padro e retm o arquivo original

d - descompacta arquivo. O mesmo que gunzip

f - sobrescreve arquivos j existentes

h - mensagem de ajuda

l - lista o contedo de um arquivo compactado

t - testa a integridade do arquivo compactado

n - no salva o nome original

r - compacta recursivamente arquivos em todos os subdiretrios


COMANDO GZIP
REFERNCIAS

Documentao oficial unix. (comando man);

Material de aula do Prof. Esp. Diovani Milhorim.