Você está na página 1de 23

APOSTILA DE SISTEMAS OPERACIONAIS

UNIX

COMANDOS

NDICE
I - INTRODUO
1 - HISTRICO .............................................................................................................................................................. 1
2 - ESTRUTURA ........................................................................................................................................................... 1
2.1 - Caractersticas Gerais ............................................................................................................................................. 2
2.2 - Acesso ao Sistema .................................................................................................................................................. 2
2.3 - Shell ........................................................................................................................................................................ 3
2.4 - Organizao de Usurios no UNIX ........................................................................................................................ 3
II - PARTIO
1 - DEFINIO ............................................................................................................................................................. 4
III - SISTEMA DE ARQUIVOS DO UNIX
1 - DEFINIO ............................................................................................................................................................. 5
2 - ESTRUTURA HIERRQUICA ............................................................................................................................... 5
3 - CAMINHOS .............................................................................................................................................................. 6
4 - ARQUIVOS .............................................................................................................................................................. 7
4.1 - CARACTERSTICAS ............................................................................................................................................ 7
4.2 - TIPOS DE ARQUIVOS ......................................................................................................................................... 8
IV - COMANDOS: NOTAO E DOCUMENTAO
1 - NOTAO GENRICA DE COMANDOS ............................................................................................................ 9
2 - DOCUMENTAO ONLINE ................................................................................................................................. 9
V - REDIRECIONAMENTO DE E/S E PIPELINES
1 - DEFINIO ............................................................................................................................................................. 10
2 - COMANDOS DE REDIRECIONAMENTO DE E/S ............................................................................................... 11
2.1 - > .............................................................................................................................................................................. 11
2.2 - < .............................................................................................................................................................................. 11
2.3 - 2>............................................................................................................................................................................. 11
3 - COMANDOS DE PIPELINES ................................................................................................................................. 12
3.1 - | ............................................................................................................................................................................... 12
VI - PRINCIPAIS COMANDOS
1 - COMANDOS DE USO GERAL ............................................................................................................................... 13
1.1 - clear ........................................................................................................................................................................ 13
1.2 - cal ............................................................................................................................................................................ 13
1.3 - date ......................................................................................................................................................................... 13
1.4 - passwd .................................................................................................................................................................... 13
2 - COMANDOS DE MANIPULAO DE DIRETRIOS ......................................................................................... 14
2.1 - pwd ......................................................................................................................................................................... 14
2.2 - ls ............................................................................................................................................................................. 14
2.3 - cd ............................................................................................................................................................................ 14
2.4 - mkdir ...................................................................................................................................................................... 14
2.5 - rmdir ....................................................................................................................................................................... 14
3 - COMANDOS DE MANIPULAO DE ARQUIVOS ............................................................................................ 15
3.1 - cat ........................................................................................................................................................................... 15
3.2 - more ........................................................................................................................................................................ 15
3.3 - tail ........................................................................................................................................................................... 15
3.4 - cp ............................................................................................................................................................................ 15
3.5 - mv ........................................................................................................................................................................... 15
3.6 - rm ........................................................................................................................................................................... 16
3.7 - find ......................................................................................................................................................................... 16

ii

VII - OUTROS COMANDOS


1 - COMANDOS DE FILTROS ..................................................................................................................................... 17
1.1 - wc ........................................................................................................................................................................... 17
1.2 - grep ......................................................................................................................................................................... 17
VIII - PERMISSES E ACESSO A ARQUIVOS
1 - DEFINIO ............................................................................................................................................................. 18
2 - TIPOS DE ACESSOS ............................................................................................................................................... 18
3 - PERMISSES ........................................................................................................................................................... 19
4 - COMANDOS DE MANIPULAO DE PERMISSO DE ACESSO ................................................................... 20
4.1 - chmod ..................................................................................................................................................................... 20
4.2 - chown ..................................................................................................................................................................... 20
4.3 - chgrp ....................................................................................................................................................................... 20

iii

I - INTRODUO
1 - HISTRICO
O UNIX um dos mais populares sistemas operacionais pelo mundo inteiro por causa da grande base de suporte e
distribuio. Ele foi originalmente desenvolvido como um sistema multitarefa para minicomputadores e mainframes em
meados da dcada de 1970.
Qual a real razo da popularidade do UNIX? Os hackers achavam que o UNIX era a Coisa Certa - O Verdadeiro
Sistema Operacional. Conseqentemente o desenvolvimento do Linux por um grupo de hackers do UNIX que queriam
colocar suas mos no seu prprio sistema.
Verses do UNIX existem para muitos sistemas - indo de computadores pessoais a supercomputadores tal como o
Cray Y-MP. A maioria das verses do UNIX para PCs so completamente caras.
O Linux uma verso de distribuio livre do UNIX desenvolvido primeiramente por Linus Torvalds
(torvalds@kruuna.helsinki.fi) da Universidade de Helsinki na Finlndia. O Linux foi desenvolvido com a ajuda de muitos
programadores UNIX e especialistas atravs da Internet, permitindo que qualquer pessoa com conhecimento suficiente e
iniciativa pudesse desenvolver e alterar o sistema. O kernel do Linux utiliza o cdigo da AT&T ( System V para PC 386)
projetado na Free Software Foundation em Cambridge, Massachusetts. Assim, programadores do mundo inteiro tem
contribudo para o crescimento do software.
O Linux foi inicialmente desenvolvido como um projeto de lazer por Linus Torvalds. Ele foi inspirado por Minix,
um pequeno sistema operacional desenvolvido por Andy Tanenbaum, e a primeira discusso sobre o Linux foi no
newsgroup da USENET comp.os.minix.
Nenhuma propaganda foi feito com a verso 0.01 do Linux em Agosto de 1991. Esta verso ainda no era
executvel, pois continha somente os fontes do kernel ainda rudimentares, e assumia que voc tinha acesso mquina
Minix para compilar e rodar o sistema.
Em outubro de 1991, Linux anunciou a primeira verso oficial do Linux, verso 0.02, quando j era possvel
executar bash (o GNU Bourne Again Shell) e o gcc (GNU C compiler). A partir de ento mais pessoas passaram a
participar do desenvolvimento do sistema.

2 - ESTRUTURA
A figura abaixo apresenta a arquitetura do UNIX de forma simplificada. Pode-se visualizar o sistema como um
conjunto de nveis, desde o hardware at aplicaes dos usurios, passando pelo ncleo (kernel) e programas bsicos do
sistema.

Arquitetura do sistema UNIX

De acordo com a figura, acima das aplicaes do sistema (as, cpp, etc.) podem ser construdas outras aplicaes
do usurio, que utilizam os servios das camadas inferiores para atingir seus propsitos. Um exemplo o compilador
padro C (cc), que invoca o pr-processador C (cpp), o assembler (as) e um link editor (ld), todos programas separados da
camada de nvel imediatamente interior.

2.1 - Caractersticas Gerais


A portabilidade uma caracterstica marcante do UNIX, j que apenas uma pequena parte do cdigo dependente
de especificaes da mquina. Logo, a maior parte do sistema necessita apenas de uma recompilao quando mudada a
plataforma de hardware.
O UNIX um sistema operacional de tempo compartilhado (time sharing), cujo cdigo escrito em sua grande
maioria na linguagem C. Vrios processos podem estar executando no sistema. Um processo pode gerar novos processos,
criando as figuras de processos pais e filhos. O escalonamento do uso dos recursos de execuo da CPU pelos vrios
processos realizado por um algoritmo de prioridade bastante simples, porm eficiente.
Vrios usurios podem estar usando o sistema ao mesmo tempo (multiusurio), e cada um deles pode ter num
dado momento uma ou mais sesses abertas. Os processos gerados em cada sesso competem entre si e com outros
processos no sistema pelo uso da CPU.
O sistema de arquivos do UNIX organizado de forma hierrquica, numa estrutura de rvore. A partir de um
diretrio raiz vo sendo criados sub-diretrios, que tambm podem possuir sub-diretrios, e assim por diante.

2.2 - Acesso ao Sistema


Para acessar o sistema, o usurio deve ter sido previamente cadastrado pelo administrador do sistema, onde
receber um nome de usurio (username) e uma senha (password). Ao acessar o sistema o usurio ser solicitado a digitar
seu username no campo login, e a senha de acesso no campo password. Quando o usurio digita a senha ela no ecoada
na tela, por questes de segurana.
Uma vez identificado pelo sistema, o usurio recebe a linha de comando (prompt) onde poder executar seus
comandos. A partir deste momento o usurio passa a interagir com o programa Shell. As respostas geradas pela execuo
dos comandos sero mostradas na tela.
Para encerrar a sesso digite o comando exit na linha de comando ou as teclas Ctrl-D.
Ateno:
 Quando a conexo for feita pelo administrador do sistema (username = root) o prompt a ser exibido o #.

 O sistema UNIX sensvel a letras maisculas e minsculas tratando-as como letras diferentes. Por questo de
padronizao o nome de usurio e senha sero sempre minsculas.

 Quando a senha for informada pela primeira vez, o sistema pede para entrar novamente para confirmao. O sistema
retorna ao prompt de login e ento a sequncia de login dever ser completada com a nova senha.

2.3 - Shell
O mediador entre o usurio e o sistema UNIX chamado de Shell ou interpretador de comandos. Esse programa
l os comandos digitados pelo usurio e os executa utilizando os servios e/ou outros programas dos sistema operacional.
Como o UNIX, o MS-DOS tambm utiliza o conceito de Shell, geralmente atravs do command.com

Usurio solicita comando

Shell executa

Resultado do comando

Interao usurio-Shell

2.4 - Organizao de Usurios no UNIX


2.4.1 - Identificadores de Usurios (UIDs)
Todo usurio de um sistema UNIX tem uma conta (account). A conta dividida em duas partes: o nome do
usurio (username / logname) e uma senha (password). O nome de usurio um identificador, que informa ao sistema
quem o usurio que est abrindo uma sesso no UNIX. A senha um autenticador, ou seja, uma maneira de o sistema
operacional verificar se o usurio quem ele diz ser (username). O UNIX tambm possui algumas contas especiais,
associadas no a usurios, mas a funes ou processos do prprio sistema. Estas contas so usadas para administrao.
O UNIX faz a traduo entre o nome de usurio e o UID consultando o arquivo /etc/passwd. Cada usurio possui
uma entrada nesse arquivo, onde o sistema pode mapear nomes de usurio (username) em UIDs. Caso seja fornecido o
mesmo UID a dois usurios, o UNIX os ver como um nico usurio, mesmo possuindo diferentes usernames e passwords.
O superusurio (root) uma conta especial no sistema, pois detm todos os privilgios necessrios execuo das
tarefas de administrao. Essa conta possui o username igual a root e seu UID 0.
2.4.2 - Grupos
Todo usurio do UNIX pertence a um ou mais grupos. Assim como usurios tem username e UIDs, grupos
possuem nomes (group names) e identificadores (GIDs).
Grupos permitem ao administrador do sistema organizar seus usurios de forma a permitir acesso comum a
arquivos especficos, diretrios, dispositivos, etc.
Assim como o UID, o GID (Group IDentifier) do usurio armazenado no arquivo /etc/passwd. A lista de grupos
do sistema, juntamente com seus GIDs est armazenada no arquivo /etc/group.
Os conceitos de UIDs e GIDs permitem definir o perfil do usurio dentro do sistema, ou seja, definir o espao de
armazenamento do usurio, permisses de acesso aos arquivos de dados e programas, compartilhamento de informaes
com outros usurios, etc.

II - PARTIO
1 - DEFINIO
Discos so divididos em uma ou mais parties. Cada partio funciona como se fosse um disco separado, assim,
diferentes sistemas operacionais podem ser instalados num mesmo disco sem que ocorra conflito.
A informao sobre como um disco foi particionado armazenada no 1 setor (1 setor da 1 trilha do 1 disco).
Este setor chamado registro de boot principal (MBR - Master Boot Record) do disco. O MBR contm um pequeno
programa que l a tabela de partio, verifica qual partio est ativa (como partio de boot) e l o primeiro setor de boot
daquela partio. O setor de boot tambm contm outro pequeno programa que l a primeira parte do sistema operacional
armazenado naquela partio e ento o inicializa.
O esquena original de particionamento para discos de PC permitiam somente 4 parties. Para superar este
problema, foram criadas as parties estendidas (extended partitions), permitindo que uma partio primria (primary
partition) fosse dividida em sub-parties. A partio primria ento subdividida partio estendida.
Na figura abaixo o disco dividido em 3 parties primrias, a segunda das quais dividida em 2 parties
lgicas. Parte do disco no particionada. O disco como um todo e cada partio primria possuem um setor de boot.

Exemplo de Partio de Disco


Existem muitos programas para criar e remover parties. A maioria dos sistemas operacionais possuem o seus
prprios programas, geralmente chamados fdisk. Quando estiver usando os discos IDE a partio de boot deve estar
completamente dentro dos 1024 cilindros. Isto acontece porque o disco utilizado pela BIOS durante o boot, e a maioria
das verses de BIOS no consegue manipular mais do que 1024 cilindros. Cada partio deve ter um mesmo nmero de
setores. O sistema de arquivos do UNIX utiliza blocos de 1 kbytes de tamanho, ou seja, 2 setores.
Cada partio, incluindo as parties estendidas, possuem o seu prprio arquivo de device. A conveno de nomes
para estes arquivos que um nmero de partio, includo aps o nome do disco com a conveno: 1-4 so parties
primrias e 5-8 so para as parties lgicas. Por exemplo, /dev/hda (hd - hard drive) refere-se ao primeiro disco como
um todo, /dev/hda1 a primeira partio primria do primeiro disco IDE e /dev/sdb7 a terceira partio estendida no
segundo disco SCSI. Os prefixos mais usados na definio de nomes de discos so:

fd - floppy disk
hd - hard drive
sd - SCSI drive
st - SCSI tape

III - SISTEMA DE ARQUIVOS DO UNIX


1 - DEFINIO
Um sistema de arquivos (filesystem) define os mtodos e as estruturas de dados que um sistema operacional usa
para manter o caminho de arquivos num disco ou partio, ou seja, a maneira como os arquivos so organizados no disco.
O sistema operacional UNIX usa um filesystem hierrquico para gerenciar e organizar seus arquivos e diretrios.
Um arquivo geralmente um recepiente para dados e diretrio um recepiente para arquivos e/ou outros diretrios. Um
diretrio contido dentro de outro diretrio tambm denominado de subdiretrio.
Para trabalhar eficientemente com o sistema UNIX, necessrio compreender como o filesystem organizado e os
diferentes tipos de arquivos que podem ser criados. Existem limitaes nos nomes de arquivos e diretrios.
O UNIX suporta vrios tipos de sistemas de arquivos. Para descobrir quais so os sistemas de arquivos suportados
consulte a rvore de origem do kernel no diretrio /usr/src/linux/fs. possvel selecionar quais os tipos de sistemas de
arquivos sero suportados no momento de construo do kernel (consulte o manual do sistema operacional).

2 - ESTRUTURA HIERRQUICA
Os arquivos so manipulados internamente pelo sistema operacional UNIX. Entretanto, para a viso do usurio, o
sistema de arquivos uma nica estrutura hierrquica, onde pode-se ter vrias parties, discos e arquivos associados em
forma de um rvore.

rvore de Diretrio no UNIX


No sistema de arquivo do UNIX, arquivos e diretrios so agrupados por funo. Usurios podem controlar seus
prprios arquivos e diretrios enquanto que o administrador do sistema controla e gerencia o sistema de arquivos e
diretrios. Assim fica mais fcil organizar as centenas de arquivos e programas que normalmente so instalados em uma
mquina rodando o UNIX. O topo da hierarquia denominado diretrio raiz (root) e indicado com uma barra (/).
O sistema UNIX tambm fornece comandos que permitem que voc crie novos diretrios quando sua organizao
precisar de mudanas, como mover ou copiar arquivos de um diretrio para outro, o que pode ser feito de forma
extremamente fcil.
A estrutura de diretrio pode variar de acordo com a implementao do sistema.

3 - CAMINHOS
A maioria dos comandos do sistema UNIX operam sobre arquivos e/ou diretrios. Um caminho (path) representa
os diretrios e subdiretrios que so passados para alcanar um arquivo ou diretrio especificado.
O diretrio inicial chamado diretrio raiz, representado por uma barra ( / ). Um path pode ser especificado de duas
formas:
absoluto;
relativo.
Paths absolutos so aqueles que comeam com uma barra ( / ). Paths relativos, ao contrrio, sempre tomam o
diretrio atual como referncia. Por exemplo:
/dev
absoluto
/home/joao/texto
absoluto
..
relativo (diretrio imediatamente acima)
.
relativo (diretrio corrente)
usr/lib
relativo
../home/joao relativo

Caminho no UNIX
Quando um diretrio criado, duas entradas so automaticamente criadas, chamadas ponto (.) e ponto-ponto (..).
Geralmente so utilizadas para designar caminhos relativos.
A entrada ponto (.) representa sua posio no diretrio corrente. Se voc est no diretrio /home/joo ento
temos:
.
./texto

representa o diretrio corrente /home/joo


representa /home/joo/texto

A entrada ponto-ponto (..) representa o diretrio imediatamente acima do seu diretrio corrente, tambm chamado
de diretrio-pai. Se voc est no diretrio /home/joo ento temos:
..
representa o diretrio / (raiz)
../..
tambm representa o diretrio / (raiz)
../bin
representa o diretrio /bin

4 - ARQUIVOS
Um arquivo simplesmente um nome com dados associados a ele, armazenados num perifrico qualquer (disco
rgido ou flexvel). O sistema UNIX no impem restries ao formato de um arquivo. Um arquivo visto pelo sistema
como uma sequncia no formatada de bytes, onde um byte segue o outro at que o fim do arquivo seja encontrado. Os
programas de aplicao impem formatos a essas sequncias de bytes. Como exemplo, um editor de textos marca o fim de
cada linha de texto com um caracter de nova-linha; um programa de banco de dados organiza os dados em registros, sendo
que cada registro est dividido em campos.
Para o sistema UNIX tudo considerado arquivo onde inclumos:
Arquivos Comuns - geralmente contm caracteres de texto ASCII.
Programas - arquivos comum que contm instrues executveis. Pode conter um cdigo compilado (date, mkdir, ls) ou
pode conter comandos shell do sistema UNIX (.profile, .logout).
Diretrio - arquivo especial contendo os nomes dos arquivos e diretrios que ele mantm. O diretrio guarda um nmero
de inodo para cada item, que identifica aonde as informaes de arquivo e os endereos de armazenamento de dados podem
ser encontrados no sistema de arquivos.
Dispositivo - arquivo que garante o interfaceamento entre o kernel e o hardware de um perifrico (disco, terminal,
impressora, memria). Como estes arquivos tm por finalidade o interfaceamento, eles nunca contm dados verdadeiros.
Estes arquivos so geralmente guardados no diretrio /dev, e existe um arquivo para cada dispositivo com o qual o
computador precisa se comunicar.

4.1 - Caractersticas
Um arquivo possui muitas caractersticas que podem ser visualizadas com o comando ls -la, dentre as quais
destacamos:
$ ls -la
-rw-r--r--rwxr-xr-drwxr-xr-x
permisses
tipo de
arquivo

1
1
2

ricardo
ricardo
ricardo

computacao
computacao
computacao

proprietrio
links

Tipo de Arquivo Permisso Links Proprietrio Grupo Tamanho Data Nome -

grupo

37
127
1024

Ago
Ago
Ago

15
15
15

12:10
12:20
12:34

tamanho
data e hora

readme.txt
.profile
aula
nome

normal ou especial
definio do modo de acesso ao arquivo
nmero de nomes de arquivos associados ao mesmo conjunto de dados
identificao do usurio proprietrio do arquivo
identificao do grupo para acesso ao arquivo
nmero de bytes que o arquivo contm
data e hora da ltima alterao do arquivo
nome do arquivo

Um ponto muito importante a saber a respeito dos nomes de arquivos no UNIX que letras maisculas e
minsculas so interpretadas diferentemente. Geralmente os nomes de arquivos so formados por letras minsculas. As
regras para a criao de arquivos so:
mximo de 14 caracteres;
mximo de 255 caracteres se o sistema suporta nomes longos;
normalmente contm caracteres alfa (a-z, A-z), numricos (0 - 9), ponto (.), trao (-) e subscrito (_).
Ponto (.) - por ser considerado um caracter normal, o ponto pode aparecer em qualquer lugar num nome de arquivo e vrias
vezes. Quando aparece no incio do nome do arquivo (.profile) indica que este oculto.
Existem caracteres especiais que no podem ser utilizados como parte de um nome de arquivo pois
frequentemente produziro resultados inesperados, so eles: ?, @, #, [, ], *, <, >, \, $ e |.

4.2 Tipos de Arquivos


Os tipos de arquivos no sistema UNIX so identificados atravs do primeiro caracter de sada do comando ls -l. Os
arquivos geralmente so tratados de duas formas:
Comuns

arquivos de dados ou programas;

Diretrios

arquivo que contm nome de outros arquivos, juntamente com ponteiros para seus i-nodes.

Especiais

um tipo de arquivo utilizado por dispositivo de caractere ou de bloco;

Link

um tipo de arquivo que aponta para outro arquivo.

Smbolo

Tipo do Arquivo

Comun

Diretrio

Especial caracter

Especial bloco

Link

Tipos de Arquivos

IV COMANDOS: NOTAO E DOCUMENTAO


1 NOTAO GENRICA DE COMANDOS
Os comandos no UNIX so muitos e variados, contudo guardam entre si algumas caractersticas comuns. Um
comando, de um modo geral, composto do nome seguido de opes e argumentos. Assim, um comando pode vir seguido
de uma ou mais opes e um ou mais argumentos, nesta ordem.

prompt: comando [-opes ... ] [argumentos ... ]

mais argumentos podem seguir.


geralmente so nomes de arquivos, caminhos, qualquer
parmetro exigido pelo comando.
opes precedidas por hfen.
nome do comando.
prompt do Shell:
Os elementos da linha de comando que esto entre [ ] so opcionais. Em alguns casos somente o nome do
comando obrigatrio.
Espaos em branco (definidos com a tecla Space ou Tab) so usados como delimitador de comandos, opes e
argumentos. Aps todo comando sempre dever ser pressionado a tecla Return para que o mesmo seja executado pelo
computador. Para entrar com vrios comandos em uma mesma linha utilize o caracter ponto-e-vrgula (;) como
delimitador.

2 DOCUMENTAO ONLINE
O UNIX possui uma documentao on-line bastante abrangente, conhecida como man pages.
documentado apresentado numa estrutura como mostrado abaixo.

Cada item

NOME
nome - funo do comando
SINOPSE
nome [-opes ... ] [argumentos ... ]
DESCRIO
apresenta a descrio do comando
OPES
-X : descreve a opo X
EXEMPLO
$ nome -X argumento(s)
Para utilizar a referncia on-line, o usurio deve utilizar o comando man. O comando man apresenta todas as
entradas do manual UNIX on-line.
man tpico
O tpico o comando, chamada de sistema, funo, ou qualquer outro item que se queira consultar. O argumento
seo especifica em qual seo [1-8] no manual se deseja procurar pela ocorrncia do tpico.
Ao encontrar o tpico solicitado, o man apresenta o contedo na tela e aguarda comandos do teclado. Os
principais comandos so:
q
finaliza
<ENTER>
prxima linha
<ESPAO>
prxima tela
w
volta uma tela
9

V - REDIRECIONAMENTO DE E/S E PIPELINES


1 - DEFINIO
Um comando do UNIX um programa (conjunto de instrues) que geralmente l dados de um ou vrios arquivos
de entrada, efetua algum tipo de processamento sobre eles (computao) e finalmente produz os resultados em arquivo(s)
de sada. Na arquitetura do UNIX, note-se, dispositivos como terminal, discos e impressoras tambm so tratados como
arquivos.
Ao criar um processo, o UNIX predefine e automaticamente lhe associa trs arquivos padres:
stdin (0)
stdout (1)
stderr (2)

- entrada padro;
- sada padro;
- sada padro para erros.

A entrada padro (stdin) um arquivo de onde os programas obtm dados de entrada para o seu processamento. O
sistema associa a esta entrada padro o teclado do terminal, caso o usurio no especifique uma alternativa. Essa
redefinio um recurso oferecido pelo Shell conhecido como redirecionamento.
A sada padro (stdout) o arquivo para onde usualmente so enviados os resultados do programa. O monitor do
terminal o arquivo de sada padro associado ao processo pelo sistema. Assim como a entrada padro, a sada padro
pode ser redirecionada para outros arquivos (impressora, disco, etc).
Alm da sada e entrada padro, o UNIX reserva uma conexo de I/O para mensagens de erros do programa. Se
um usurio redireciona a sada padro de um programa, mensagens de erros emitidas por este programa sero ainda
enviadas para o terminal, pois a sada padro de erros tambm o terminal. O Shell permite redirecionar a sada padro de
erros para outros arquivos no sistema.

Entrada e Sadas Padres

10

2 - COMANDOS DE REDIRECIONAMENTO DE E/S


Redirecionamento uma facilidade que o UNIX oferece, permitindo que o usurio altere as sadas e a entrada
padro do programa, especificando novos arquivos.

2.1 - REDIRECIONANDO A SADA PADRO ( > e >> )


No exemplo do comando cal, a sada padro do comando foi o terminal. O usurio pode definir que a sada do
programa (um determinado calendrio) seja realizada para um arquivo em disco, para posterior utilizao. Esse
redirecionamento feito utilizando-se o smbolo > (maior que) e o nome do arquivo que armazenar a sada do
programa.
$ cal 10 1997 > calendario97.dat
Nesse exemplo, a sada do comando cal ser redirecionada para o arquivo calendario97.dat. O arquivo ser criado,
caso no exista, ou sobrescrito se j existir um arquivo com mesmo nome no diretrio.
Uma outra forma de redirecionar a sada padro feita utilizando o smbolo >>. Nesse caso, a sada colocada
no final (append) de um arquivo existente, no destruindo os dados do arquivo. Caso o arquivo no exista, ele ser criado
para armazenar a sada do programa.
$ cal 11 1997 >> calendario97.dat

2.2 - REDIRECIONANDO A ENTRADA PADRO ( < )


O redirecionamento de entrada pode ser feito em todos os comandos que lem seus dados de uma entrada padro.
O redirecionamento de entrada realizado utilizando o smbolo < (menor que), indicando ao Shell para trocar a entrada
padro (terminal) para um novo arquivo especificado.
Como exemplo, pode-se ter o comando write com a entrada padro redirecionada para outro arquivo. No caso, a
entrada estar contida no arquivo em disco, chamado calendario97.dat.
$ write antonio < calendario97.dat
Desse modo, o contedo do arquivo calendario97.dat ser transmitido para a tela do terminal do usurio antonio.

2.3 - REDIRECIONANDO A SADA DE ERROS ( 2> e 2>> )


A sada padro de erros muito utilizada para a depurao de programas e emisso de relatrios de erros aos
usurios. O sistema operacional pode utilizar a sada padro de erros, associada ao processo, para relatar a seu usurio
algum erro que ocorreu na execuo do processo. A sada de erros redirecionada utilizando a notao: 2>
$ ls arquivo_nao_existente > saida_erro.dat

ls: arquivo_nao_existente: No such file or directory


$ cat saida_erro.dat
$ ls arquivo_nao_existente 2> saida_erro.dat
$ cat saida_erro.dat

ls: arquivo_nao_existente: No such file or directory


Da mesma forma que a sada padro, a sada padro de erros pode ser redirecionada para o final (append) de um
arquivo existente, no destruindo os dados do arquivo. Caso o arquivo no exista, ele ser criado para armazenar a sada do
programa.
$ ls arquivo_nao_existente 2> saida_erro.dat
$ cat saida_erro.dat

ls: arquivo_nao_existente: No such file or directory


$ ls arquivo_nao_existente2 2>> saida_erro.dat
$ cat saida_erro.dat

ls: arquivo_nao_existente: No such file or directory


ls: arquivo_nao_existente2: No such file or directory
11

3 - COMANDOS DE PIPELINES
Pipes so uma velha forma de comunicao entre processos no UNIX, e so fornecidos por todos os sistemas
UNIX. Um pipe (duto) uma conexo que conduz a sada padro de um programa para a entrada padro de outro
programa. Esse conceito facilita aos programas UNIX trabalharem juntos, sem a necessidade de arquivos intermedirios.

3.1 - PIPELINE ( | )
O smbolo para a criao de pipelines a barra vertical ( | ). Quando em uma linha de comando, dois programas
so separados por uma barra vertical ( | ), a sada do primeiro transferida para a entrada do segundo.
$ who | wc -l

6
A resposta da linha de comando acima o nmero de usurio conectados no sistema naquele instante.
Os pipes so half-duplex, isto , os dados fluem somente em uma direo. Eles somente podem ser usados entre
processos que possuam o mesmo ancestral comum (processo pai). No caso anterior, o processo pai comum aos dois
processos era o Shell do usurio.

12

VI PRINCIPAIS COMANDOS
1 - COMANDOS DE USO GERAL
O UNIX diferencia entre letras maisculas e minsculas. Por conveno, todos os comandos listados aqui devem
ser digitados em letras minsculas.
As palavras em negrito constituem o nome do comando, devendo ser digitadas exatamente como esto escritas;
em itlico representam os parmetros que o usurio especifica para o comando (o nome de um arquivo, por exemplo);
[entre colchetes] opcional, podendo ser omitido (na execuo do comando os colchetes no devem ser digitados.
Quando as opes estiverem separadas por uma barra vertical ( | ), indica que somente uma delas deve ser escolhida.

1.1 - CLEAR
Sintaxe:

clear

Descrio:

o comando clear limpa a tela atualmente ativa

Exemplo:

$ clear

1.2 - CAL
Sintaxe:

cal [ms [ano] ]

Descrio:

cal apresenta o calendrio do ano e ms especificados. Na falta dos argumentos, so assumidos o


ms e o ano corrente.

Exemplo:

$ cal 6 1997
June 1997
Sun

Mon

Tue

Wed

Thu

Fri

Sat

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

1.3 - DATE
Sintaxe:

date

Descrio:

sem nenhum argumento, so apresentadas a hora e a data corrente.


somente o administrador do sistema pode alterar a data.

Exemplo:

$ date
Tue Jun 17 17:01:02 EST 1997

1.4 - PASSWD
Sintaxe:

passwd

Descrio:

passwd altera a senha de um usurio. O superusurio (root) pode usar passwd para alterar a senha de
qualquer usurio.

Exemplo:

$ passwd

13

2 - COMANDOS DE MANIPULAO DE DIRETRIOS


Um diretrio uma maneira de organizar os arquivos. Os diretrios tambm so considerados como sendo
arquivos com formato pr-definido. Podem conter os nomes dos arquivos e diretrios e seus nmeros inode associados. A
seguir apresentamos os comandos bsicos para manipulao de diretrios.

2.1 - PWD
Sintaxe:

pwd

Descrio:

pesquisa a rvore de diretrio, em direo a raiz para informar o path corrente.

Exemplo:

$ cd /home/antonio
$ pwd

/home/antonio

2.2 - LS
Sintaxe:

ls [ -l R ] [diretrio]

Descrio:

o comando ls usado para listar arquivos. Na ausncia do parmetro arquivo representando o nome de um
arquivo ou diretrio, o comando ls lista o diretrio corrente.
-R
lista a rvore de diretrios recursivamente;
-l
listagem com formato longo

Opes:
Exemplos:

$ ls -l

total 2
-rw-r--r-drwx------

1 antonio
3 antonio

users
users

32
512

Jun 17 22:40 arquivo.txt


Jun 17 21:05 teste/

2.3 - CD
Sintaxe:

cd [diretrio]

Descrio:

diretrio torna-se o novo diretrio corrente. Na execuo do comando o sistema verifica a


permisso de acesso ao diretrio especificado. Sem argumento, o comando cd retorna ao diretrio
home do usurio.

Exemplo:

$ cd /home/antonio
$ cd ..
$ cd ./../home/ana

2.4 - MKDIR
Sintaxe:

mkdir nome_diretrio

Descrio:

cria um diretrio na rvore de diretrios.

Exemplos:

$ mkdir ../textos

2.5 - RMDIR
Sintaxe:

rmdir nome_diretorio

Descrio:

remove diretrios (somente se estes estiverem vazios).

Exemplos:

$ rmdir /usr/ana/textos
$ rmdir arquivo.txt

14

3 - COMANDOS DE MANIPULAO DE ARQUIVOS


O sistema UNIX disponibiliza vrios comandos para manipulao de arquivos. Os principais so:

3.1 - CAT
Sintaxe:

cat arquivo [arquivo ... ]

Descrio:

o comando cat concatena de lista contedo de arquivos.

Exemplos:

$ cat arq.dat
Linha 1
Linha 2

3.2 - MORE
Sintaxe:

more [arquivo ... ]

Descrio:

more o paginador de arquivos padres para UNIX. Aps cada tela cheia, o comando apresenta
uma mensagem solicitando ao usurio para continuar a apresentao do arquivo.

Exemplo:

$ more arq.dat
Linha 1
Linha 2

3.3 - TAIL
Sintaxe:

tail - D opo [arquivo]


onde: D=deslocamento

Descrio:

o comando tail escreve o contedo do arquivo especificado para a sada padro, iniciando no
ponto (deslocamento) definido pelo usurio. Se o deslocamento precedido do sinal - significa
que o ponto de referncia para o deslocamento o final do arquivo.

Opes:

-b

o arquivo interpretado como blocos de 512-bytes;

-c

o arquivo interpretado como uma seqncia de bytes;

-l

o arquivo interpretado como linhas, que devem terminar com <CR>.

Exemplo:

$ tail -8c arq.dat


Linha 2

3.4 - CP
Sintaxe:

cp arq-origem arq-destino

Descrio:

o comando cp copia o contedo de um arquivo/diretrio para outro.

Exemplos:

$ cp arq001 /usr/src/bkp

3.5 - MV
Sintaxe:

mv arq-origem arq-destino

Descrio:

o comando mv move arquivos e diretrios pelo sistema de arquivos. Permite tambm renomear um
arquivo ou diretrio, caso o nome destino seja igual da origem.

Exemplos:

$ mv /home/antonio /home/bkp
$ mv teste.txt teste1.txt
15

3.6 - RM
Sintaxe:

rm [-r ] arquivo

Descrio:

o comando rm usado para remover arquivos e diretrios (inclusive aqueles no vazios). Para apagar um
arquivo ou diretrio, o usurio no precisa ter direitos de leitura ou escrita sobre ele, mas precisa ter direito
de escrita no diretrio onde ele se encontra.

Opes:

-r

Exemplos:

$ rm teste.txt
$ rm -r teste

a opo para apagar um diretrio, removendo todos arquivos e sub-diretrios;

3.7 - FIND
Sintaxe:

find [caminho ... ] [expresso ]

Descrio:

o comando find procura arquivos recursivamente em cada diretrio especificado em caminho,


confrontando-os com a expresso booleana expresso.

Expresses:

-name arquivo

verdadeiro se arquivo confronta com o nome do arquivo corrente;

-print

sempre verdadeiro, causa a impresso do path corrente.

Exemplos:

$ find -name arq -print

./arq

16

VII - OUTROS COMANDOS


1 - COMANDOS DE FILTROS
Filtro um programa que l de sua entrada padro, executa um processamento e escreve para sua sada padro.
Filtros so normalmente conectados linearmente em Shell pipelines.

1.1 - WC
Sinopse:

wc [ -lwc ] [arquivo ... ]

Descrio:

o comando wc conta o nmero de linhas, palavras e caracteres de um arquivo especificado como


parmetro. Se nenhum nome de arquivo for especificado, o arquivo de entrada do comando wc ser
a entrada padro. Caso nenhuma opo seja definida, o comando imprime o nmero de linhas,
palavras e caracteres.

Opes:

-l
-w
-c

Exemplos:

$ wc arq.dat
2
4

conta linhas;
conta palavras (words);
conta caracteres.
16

$ wc -c arq.dat
16

1.2 - GREP
Sinopse:

grep expresso [arquivos de entrada]

Descrio:

o comando grep procura por um padro especificado em arquivos, escrevendo a linha do arquivo
que possui o padro equivalente.

Expresso:

expresses podem ser cadeias de caracteres ou expresses regulares, que, embora tambm sejam
cadeias de caracteres.
$ cat > arquivo.dat
Ana
Antonio
Maria
Marco
^Z

Exemplos:

$ grep an arquivo.dat
Ana
Antonio

17

VIII - PERMISSES E ACESSO A ARQUIVOS


1 - DEFINIO
O UNIX permite que mltiplos usurios armazenem e tenham acesso s informaes do disco ao mesmo tempo.
Desta forma, fundamental proteger seus arquivos de outros usurios. Para isto faz-se uso de mecanismos para acesso de
arquivos e diretrios.
Para acessar arquivos e executar programas, o sistema UNIX tem que saber suas identificaes. Para cada arquivo
ou diretrio, tem-se trs categorias de comunidade:

Nome

Descrio

usurio (user/owner)

Usurio que criou o arquivo

grupo (group)

Membros de grupos. Grupos so usurios que concordam em


partilhar certos arquivos e diretrios e so geralmente formados no
decorrer de um projeto ou por sees/departamentos de uma
empresa.

outros (others)

Outros usurios do sistema (o usurio e os membros do grupo esto


fora desse conjunto de usurios.
Propriedade de Arquivos

O computador mantm identificadores numricos para usurio (UID) e grupo (GID). Esta identificao definida
inicialmente quando voc entra no sistema. Para consultar os identificadores ativos, utilize o comando id diretamente no
prompt do UNIX.
Todas as identificaes de usurios reconhecidas pelo computador so armazenadas no arquivo /etc/passwd, e
todas as identificaes de grupo so armazenadas no arquivo /etc/group.
Usurios a serem includos num grupo especfico so definidos pelo administrador do sistema, e cada usurio pode
ser um membro de um ou mais grupos. Grupos so normalmente formados a partir dos grupos de trabalho j definidos
numa organizao.

2 - TIPOS DE ACESSOS
O sistema de arquivos do UNIX permite que se defina para cada arquivo ou diretrio, trs tipos bsicos de controle
de acesso.
Tipo de Acesso

Aplicado em Arquivos

Aplicado em Diretrios

permite ler o contedo do arquivo

permite listar o contedo do diretrio

permite alterar o contedo do arquivo

permite alterar o contedo do diretrio

permite executar um arquivo (programa)

permite pesquisar o diretrio

Tipos de Acesso para Arquivos/Diretrios


Diferentes comandos do sistema UNIX requerem algumas permisses para acessar um programa ou arquivo. Por
exemplo, para executar o comando cat num arquivo a permisso read necessria, porque este comando deve ser capaz de
ler o contedo do arquivo para mostr-lo na tela. Da mesma forma um diretrio requer a permisso read para listar seu
contedo com o comando ls.

18

A utilizao de tipos de acesso para cada arquivo e diretrio depende da poltica adotada no gerenciamento desses
recursos. Permisses de acesso de escrita para diretrios liberam seu contedo para alterao, permitindo a remoo de
seus arquivos e sub-diretrios.
A cada classe de usurios, so aplicadas as trs permisses de acesso:

- rwx rwx rwx


Permisso de acesso para OUTROS
Permisso de acesso para GRUPO
Permisso de acesso para USURIO (user)
Tipo do arquivo
A combinao entre os trs tipos de permisso (r,w,x) com cada classe de usurios denominado modo do
arquivo. A configurao do modo, de arquivo e diretrios realizada pelo usurio atravs do comando chmod.
Os valores de permisso de arquivos podem ser expressos em vrios formatos. Uma outra forma a representao
como nmeros octais.
Modo

Valor Octal

----x
-w-wx
r-r-x
rwrwx

0
1
2
3
4
5
6
7

3 - PERMISSES
O acesso a um arquivo definido por sua identificao de usurio, sua identificao de grupo e as permisses
associadas ao arquivo. As permisses para um arquivo esto especificadas no modo de acesso. O modo de um arquivo
um campo de 9 caracteres que define as permisses para o proprietrio do arquivo, para o grupo ao qual pertence e para
todos os outros usurios do sistema. As permisses podem ser visualizadas no comando ls l.

-rw- r-- r--

ricardo

computacao

37

Ago

15

12:10

readme.txt

-rwx r-x r--

ricardo

computacao

127

Ago

15

12:20

.profile

dr w x r - x r - -

ricardo

computacao

1024

Ago

15

12:34

aula

Usurio

Grupo

Outros

proprietrio

grupo

19

4 - COMANDOS DE MANIPULAO DE PERMISSO DE ACESSO


Apresentamos a seguir os principais comandos para a manipulao de permisso de acesso a arquivos.

4.1 - CHMOD
Sintaxe:

chmod nova-permisso arquivo

Descrio:

Altera a permisso de acesso de um arquivo.


nova-permisso: 3 posies numricas indicando o dono, o grupo e os outros respectivamente

Exemplos:

$ ls -l

total 2
-rw-r--r-drwx------

1 antonio
3 antonio

users
users

32
512

Jun 17 22:40 arquivo.txt


Jun 17 21:05 teste/

1 antonio
3 antonio

users
users

32
512

Jun 17 22:40 arquivo.txt


Jun 17 21:05 teste/

users
users

32
512

Jun 17 22:40 arquivo.txt


Jun 17 21:05 teste/

users
users

32
512

Jun 17 22:40 arquivo.txt


Jun 17 21:05 teste/

$ chmod 000 *
$ ls -l

total 2
---------d---------

$ chmod 421 teste


$ ls -l

total 2
-r---w---x
dr---w---x

1 antonio
3 antonio

$ chmod 221 teste


$ ls -l

total 2
-r---w---x
d-ww---x

1 antonio
3 antonio

4.2 - CHOWN
Sintaxe:

chown novo_dono arquivo

Descrio:

o comando chown muda o dono de um arquivo para o novo_dono especificado. O novo_dono pode
ser um UID vlido ou um nome de login vlido. Somente o superusurio (root) pode usar o comando
chown

Exemplos:

$ chown antonio /home

4.3 - CHGRP
Sintaxe:

chgrp novo_grupo arquivo

Descrio:

o comando chgrp muda o grupo associado a um determinado arquivo.

Exemplos:

$ chown users arquivo.txt

20

Você também pode gostar