You are on page 1of 26

Curso de Especializao Tecnolgica GESTO DE REDES E SISTEMAS INFORMTICOS Unidade de Formao: Formador: 2012-2013 Nvel 5

Resumo

Este documento serve como introduo s principais e mais simples caractersticas do sistema operativo UNIX. Apenas se explora o sistema de ficheiros e os comandos mais importantes.

Autor: Eduardo Marques, Universidade da Madeira

Aprovado por:

Pgina 1 de 26

Data 2002-02-21

Reviso 00

Sinopse Criao de um novo documento.

2011-09-01

01

Actualizao do material para com exercicio e mais captulos

Prefcio Objectivos
Dar a conhecer um pouco da histria e das caractersticas do sistema operativo UNIX. Apresentar os comandos principais com exemplos de utilizao. No tem como objectivo a configurao e utilizao do UNIX como servidor ou uma qualquer aplicao.

Destinatrios do documento
Estudantes de informtica em disciplinas introdutrias ao ambiente UNIX. Interessados em conhecer o ambiente de forma simples e pouco aprofundada.

Estrutura do Documento Documentos Associados


No aplicvel.

Convenes
Nestes documentos, sero usadas as seguintes convenes tipogrficas: Smbolos escritos em negrito devem ser digitados no computador como esto apresentados; Palavras inseridas dentro de <> significam arquivo ou varivel a introduzir; Palavras inseridas dentro de parnteses rectos [ ] indicam teclas a serem pressionadas. Por exemplo, % ls <nome de arquivo> [return|enter] Significa no prompt % do UNIX digite ls seguido de um nome de arquivo e ento pressione a tecla Return (ou Enter conforme o teclado)

Pgina 2 de 26

Marcas Registadas
Linux uma marca registada de Linus Torvalds. UNIX uma marca registada de AT&T Bell Laboratories. DOS e Windows so marcas registadas da Microsoft Corporation.

Contedos
CONTEDOS...................................................................................................................... 4 LISTA DE FIGURAS............................................................................................................ 5 LISTA DE TABELAS........................................................................................................... 6 INTRODUO AO SISTEMA OPERATIVO UNIX..............................................................7 1 DIRECTORIAS.................................................................................................................. 12 2 ARQUIVOS....................................................................................................................... 16 3 REDIRECCIONAMENTO.................................................................................................. 21 4 WILDCARS....................................................................................................................... 25 5 PERMISSES E PROCESSOS........................................................................................ 28 6 OUTROS COMANDOS..................................................................................................... 33 GLOSSRIO........................................................................................................................ 39 ABREVIAES................................................................................................................... 40 BIBLIOGRAFIA E REFERNCIAS......................................................................................41

Lista de Figuras Lista de Tabelas Introduo ao Sistema Operativo UNIX


Histria O UNIX um sistema operativo de uso geral. O sistema operativo, , de forma muito simplificada, o conjunto de programas que fazem com que o computador funcione. O UNIX usado desde computadores pessoais, notebooks, workstations at sistemas multi-utilizadores de grande porte. O UNIX hoje existe em vrios "sabores" ou tipos, mas na sua essncia eles permanecem os mesmos, havendo pequenas diferenas com relao sintaxe de comandos e interfaces grficas adoptadas. As razes do UNIX datam dos meados dos anos 60, quando a AT&T, Honeywell, GE e o MIT embarcaram num projecto para desenvolvimento de um utilitrio de informao, chamado Multics (Multiplexed Information and Computing Service). Multics era um sistema modular montado numa bancada de processadores, memrias e equipamentos de comunicao de alta velocidade. Pelo desenho, partes do computador poderiam ser desligadas para manuteno sem que outras partes ou utilizadores fossem afectados. O objectivo era ter um servio 24 horas por dia 365 dias por ano - um computador que poderia ser tornado mais rpido adicionando mais partes. Em 1969, o projecto estava muito atrasado em relao ao planeado e a AT&T resolveu abandon-lo. Mas o projecto continuou no MIT. Nesse mesmo ano, Ken Thompson, um investigador da AT&T que tinha trabalhado no Projecto Multics, pegou num computador PDP-7 para pesquisar algumas ideias do Multics por conta prpria. Algum tempo depois Dennis Ritchie, que tambm trabalhou no Multics, juntou-se a ele. Enquanto o sistema Multics tentava fazer vrias coisas, o UNIX tentava fazer uma coisa bem: executar programas. Em 1971 saiu a primeira verso do UNIX, a V1, muitos meses antes do Multics, em assembler num computador PDP-11 da Digital. Inclua um sistema de arquivos, fork(), roff, ed. Era utilizado como uma ferramenta de processamento de texto para a preparao de patentes. Pipe() apareceu na V2. Em 1973 o UNIX foi rescrito em C, talvez o facto mais importante da histria deste sistema operativo. Isto significava que o UNIX poderia ser convertido para novo hardware em meses, e que as mudanas Pgina 3 de 26

eram fceis. A linguagem C foi projectada para o sistema operativo UNIX, logo h uma grande sinergia entre a linguagem C e o UNIX. Nunca mais o UNIX parou de crescer e evoluir em todas as suas componentes. Mais recentemente surgiu uma variante que poder levar o mundo UNIX para o ambiente no profissional: Linux. O nome surge do seu criador, Linus Torvalds, estudante Finlands, que devido opo de divulgar o seu cdigo de forma livre e gratuita ajudou a difundir e a levar o UNIX para utilizadores menos preparados e habituados a este ambiente. As principais caractersticas do UNIX so as seguintes, com pequenas descries. Modularidade O UNIX nico no seu desenho modular, que permite aos utilizadores adicionar ou remover partes para adapt-lo s suas necessidades especficas. Os mdulos encaixam-se com conexes-padro. possvel tirar um mdulo e substitu-lo por um outro ou expandir o sistema acrescentando vrios mdulos. De uma certa maneira, o sistema UNIX de cada pessoa nico. Muitos utilizadores acrescentam ou eliminam mdulos sempre que precisam, adaptando suas implementaes s suas necessidades. geralmente possvel remover um mdulo, sem prejudicar a operao do resto do sistema. Esta caracterstica muito til nas implementaes em micro-computadores, onde as unidades de disco tm capacidade limitada. A remoo de arquivos desnecessrios abre espao para mais arquivos de dados. Multitarefa A capacidade de multitarefa do UNIX permite que mais de uma tarefa seja realizada simultaneamente. Esta uma das principais caractersticas do UNIX. As tarefas que esto em execuo concorrem pelos recursos da mquina que so controlados pelo sistema. possvel, portanto, que um programa que actualize uma base de dados esteja a se executado ao mesmo tempo que a impresso de um relatrio esteja a ser realizada e dados para o terminal estejam a ser enviados. Numa interface grfica com um ambiente de janelas pode-se iniciar cada tarefa numa janela shell. J num ambiente no grfico, as tarefas que podem ser executadas sem a interveno do utilizador so colocadas em background. Em foreground deixa-se as tarefas que necessitam da interveno do utilizador, como a edio de um arquivo. Multiutilizador Um sistema multiutilizador permite que vrios utilizadores utilizem o computador simultaneamente. Terminais (teclado e cran) podem ser ligados a um computador e os utilizadores destes terminais podem aceder ao sistema e executar tarefas simultaneamente. O sistema ir controlar todos os acessos aos seus recursos. Estes terminais no precisam estar directamente ligados ao computador, podendo ser terminais remotos a aceder por uma rede. Portabilidade A portabilidade a possibilidade dos softwares que operam numa mquina operarem numa outra diferente. H dois tipos de portabilidade a serem considerados: Portabilidade do sistema operativo Portabilidade dos aplicativos Mais de 90% do kernel est escrito em C e menos de 10% em linguagem de mquina. Assim, na pior das hipteses, apenas 10% do kernel ter de ser rescrito ao se deslocar o kernel para uma mquina com arquitectura diferente. Os programas aplicativos escritos em linguagem de nvel mais alto, como C, so facilmente portveis para vrios sistemas UNIX. Basta que sejam recompilados, exigindo, s vezes, poucas alteraes. Comunicaes No UNIX temos dois tipos de comunicaes, entre programas e entre utilizadores. A comunicao entre programas realizada atravs de mensagens, semforos ou memria compartilhada. Estes mecanismos, tambm conhecidos por IPC, interprocess comunications, so extenses do System V. A comunicao entre utilizadores pode realizar-se de diversas maneiras, e entre elas h: o mail, que um programa para enviar e receber mensagens electrnicas; o write, que escreve uma mensagem no terminal de outra pessoa ligada ao sistema; o wall, que escreve mensagens nos terminais de todas as pessoas ligadas no sistema; e o talk, que permite ter uma conversa em tempo real. H tambm a comunicao entre os sistemas, tais como uucp (UNIX to UNIX Copy Protocol). O Sistema Operativo UNIX Pgina 4 de 26

Este documento possui uma abordagem centrada na estrutura bsica do UNIX e nos seus comandos principais. As interfaces grficas do UNIX (Openwindows, Motif, etc...) no sero abordadas. H quem ache que no existe a necessidade de se aprender comandos do UNIX em modo caracter, porm, requerido conhecimento de UNIX para operaes que no so cobertas atravs de itens de menus e cones, ou, para quando no h nenhum sistema de interface grfica disponvel, por exemplo, numa sesso de acesso remoto, por emulao de terminal, com um programa de telnet. O UNIX , fundamentalmente, composto de trs partes: o kernel (ncleo), o shell (interface) e os arquivos. O Kernel O kernel do UNIX o ncleo do sistema operativo: aloca tempo e memria para programas e faz a gesto de arquivos e comunicaes em resposta a chamadas de sistema. Como uma ilustrao do modo que o shell e o kernel trabalham juntos, suponha que um utilizador digita rm meu_arq (que tem o efeito de remover o arquivo meu_arq). O shell procura o local do arquivo que contm o programa rm, e ento envia os pedidos ao kernel, por chamadas de sistema, para executar o rm do arquivo meu_arq. Quando o processo de remoo terminou, o shell devolve o prompt para o utilizador [%], indicando que est esperando por comandos adicionais
% prompt do UNIX. %rm meu_arq comando para a remoo do arquivo meu_arq. % retorno do prompt aps a execuo do comando.

O shell O shell age como uma interface entre o utilizador e o ncleo. Quando um utilizador entra no sistema (login) ele introduz o seu nome de utilizador e a sua senha, ento, o sistema operativo executa a autenticao deste e abre uma nova sesso do programa chamado de shell. Para cada novo utilizador ligado ao sistema criado uma nova shell, o que a principal caracterstica de um sistema multiutilizador. O shell um intrprete de linha de comando. Interpreta os comandos digitados pelo utilizador e organiza-os para eles serem executados. Quando terminam, o shell retorna aos utilizadores o prompt ( % nos diversos exemplos). Os utilizadores mais experientes configuram os seus ambientes de shell possuindo interfaces particulares. No mesmo servidor, temos ento, diferentes utilizadores com diferentes shells. As shells mais usadas, e conhecidas, so as seguintes, com as principais caractersticas: C Shell(CSH) verso BSD; processamento background e foreground; history, alias; programao parecida com C; controlo de processos; prompt: %. Bourne Shell (SH) padro do Unix; possui as mesmas caractersticas do CSH sem a facilidade de history e controle de processos; prompt: $. Kernel Shell (KSH) comandos mais poderosos; prompt: #. Arquivos e processos Tudo em UNIX um arquivo ou um processo. Um processo um programa em fase de execuo identificado por um PID nico (identificador de processo). Um arquivo uma coleco de dados. Eles so criados por utilizadores que usam os editores de texto, os compiladores, linkadores, etc.
UID PID PPID C STIME TTY TIME CMD root 21704 21703 0 16:14:08 pts/2 0:00 ps -ef | | | | | | | |____ | | | | | | |_________ | | | | | |______________ | | | | |___________________ | | | |_______________________ nome do processo (programa ps c/ variveis -ef) tempo em execuo terminal origem do comando hora da activao do comando escalonamento do processo (swap)

Pgina 5 de 26

| | |___________________________ processo pai que originou este processo | |________________________________ Process Identifier (n identificador do processo) |___________________________________ utilizador que "disparou" o processo

Exemplos de arquivos: um documento (relatrio, folha de clculo, imagens, sons, etc.) o cdigo de um programa escrito numa linguagem de programao (C, Pascal, Cobol, Java); instrues compreensveis directamente para a mquina e incompreensvel a um utilizador casual, por exemplo, um conjunto de dgitos binrios (um arquivo executvel ou binrio); uma directoria, contendo informao sobre seus contedos que podem ser uma mistura de outras directorias (subdirectories) e arquivos ordinrios. A Estrutura das Directorias Todos os arquivos se agrupam na estrutura de directorias. O sistema de arquivos organizado numa estrutura hierrquica, como uma rvore invertida. O topo da hierarquia chamado " raiz " (root) tradicionalmente.
/ - raiz _________|_________ | | | /opt /var /etc | | | ___|___ ___|___ ___|___ | | | | | | | | | A B C D E F G H passwd

No diagrama acima, ns vemos que a directoria /-raiz contm a subdirectoria /etc e esta o arquivo passwd. No h um limite quanto a quantidade de nveis de subdirectorias, excepto aqueles impostos pelo hardware, e pelas implicaes de desempenho quando h uma quantidade excessiva de nveis a serem percorridos para alcanarmos um arquivo. No exemplo temos algumas directorias. Outras tambm consideradas importantes so as seguintes: / - root /boot - arquivos de boot /unix ou /vmunix - kernel /bin ou /usr/bin - executveis principais /dev - dispositivos, arquivos de I/O /etc - arquivos para administrao Iniciando uma Sesso O incio de uma sesso num terminal feita tendo um acesso autorizado. Isso significa ter um Login (nome de utilizador) e a Password correspondente. Exemplo:
AIX Version 3 (C)Coprights by IBM and by others 1982, 1993. login: <user_name> (login ) <user_name>'s Password:####### ( password )

Terminando uma Sesso O trmino de uma sesso feito recorrendo a um dos seguintes comandos: exit ou logout.

1 Directorias
1.1 Listar arquivos e directorias ls (list schema) Quando feito o login, a directoria de trabalho a directoria home. Esta, geralmente, tem o nome igual ao nome de utilizador, por exemplo, aluno01, onde os arquivos pessoais e subdirectorias, do aluno01, sero criadas. Vamos supor que temos uma conta de utilizador com o nome aluno01 e que a directoria home desta conta seja /export/home/aluno01. Para listar o contedo da directoria digite:
% ls despesas % documentos imagens indice

Pgina 6 de 26

O comando ls lista o contedo da directoria de trabalho actual, e tanto neste caso como no caso em que no h nenhum arquivo visvel na directoria home, o prompt do UNIX retornado. No exemplo acima, o comando ls retornou quatro itens contidos na directoria home. De facto, o ls no exibe todos os arquivos da directoria, mas s aqueles cujo nome no comea com um ponto(.). Os arquivos que comeam com um ponto (.) so conhecidos como arquivos ocultos e normalmente contm informao de configurao do utilizador ou de programas. A razo de estarem escondidos para no serem editados e/ou apagados, excepto por utilizadores que estejam muito familiarizados com o UNIX . Para listar todos os arquivos de uma directoria, incluindo aqueles cujos nomes comeam com um ponto, digite:
% ls -la drwxr-xr-x drwxr-xr-x -rw-r--r--rw-r--r--rw-r--r-drwxr-xr-x drwxr-xr-x -rw-r--r-5 aluno01 13 root 1 aluno01 1 aluno01 1 aluno01 2 aluno01 2 aluno01 1 aluno01 staff root staff staff staff staff staff staff 512 Jul 10 09:44 . 512 Jul 10 09:37 .. 137 Jul 10 09:42 .cshrc 575 Jul 10 09:37 .login 324 Jul 10 09:45 despesas 512 Jul 10 09:43 documentos 512 Jul 10 09:43 imagens 3636 Jul 10 09:45 indice

ls um exemplo de um comando que pode ter opes: -la um exemplo de uma opo. As opes mudam as caractersticas do comando. H pginas de manuais on-line que falam das opes que um comando particular pode ter, e como cada uma o modifica. 1.2 Criar directorias mkdir (make directory) Agora iremos criar uma subdirectoria na directoria home. Ela ir armazenar os arquivos que serviro de exemplo neste documento. Para criar uma directoria com o nome TUTORIAL:
% mkdir TUTORIAL

Para visualizar a directoria recm criada, digite:


% ls -la total 24 drwxr-xr-x drwxr-xr-x -rw-r--r--rw-r--r-drwxr-xr-x -rw-r--r-drwxr-xr-x drwxr-xr-x -rw-r--r-5 aluno01 13 root 1 aluno01 1 aluno01 2 aluno01 1 aluno01 2 aluno01 2 aluno01 1 aluno01 staff root staff staff staff staff staff staff staff 512 Jul 10 09:44 . 512 Jul 10 09:37 .. 137 Jul 10 09:42 .cshrc 575 Jul 10 09:37 .login 512 Jul 10 10:07 TUTORIAL 324 Jul 10 09:45 despesas 512 Jul 10 09:43 documentos 512 Jul 10 09:43 imagens 3636 Jul 10 09:45 indice

1.3 Mudar para uma directoria diferente cd (change directory) O comando cd significa mudana da directoria de funcionamento actual para 'directory'. Para entrar na directoria que acabou de criar, digite:
% cd TUTORIAL

Digite ls para ver os contedos (que dever estar vazio). Exerccio Faa outra directoria dentro da directoria TUTORIAL chamada Projectos. 1.4 As directorias " ." e " .." Ainda na directoria TUTORIAL digite:
% ls -la total 4 drwxr-xr-x drwxr-xr-x 2 aluno01 staff 6 aluno01 staff 512 Jul 10 10:07 . 512 Jul 10 10:07 ..

Pgina 7 de 26

Como pode ver, na directoria TUTORIAL (e em todas as outras directorias), h duas directorias especiais chamadas "." e ".." . "." (ponto) posiciona a directoria actual, digitando-se,
% cd .

Isto pode parecer pouco til no princpio, mas usando "." como o nome da directoria actual economizar muita digitao, como ns veremos depois. ".." guarda o caminho "pai" da directoria actual, digitando-se:
% cd . .

Ir nos posicionar uma directoria acima na hierarquia (de volta directoria home). Nota: cd digitado sem argumentos devolve-o sua directoria home. Isto muito til caso esteja perdido no sistema de arquivos, ou deseja deslocar-se rapidamente para a sua directoria home. 1.5 Pathnames (Caminhos) pwd (print work directory) Pathnames permitem trabalhar fora de onde est em relao ao sistema de arquivos. Por exemplo, para descobrir o pathname absoluto da sua directoria home, digite:
% pwd

Neste exemplo dever obter as linhas abaixo:


% pwd /export/home/aluno01 %

A linha devolvida pelo comando pwd indica que a sua directoria home aluno01 que est abaixo das directorias (filesystems) /export/home. Exerccio Use os comandos ls, pwd e cd para explorar o sistema de arquivos. (Lembre-se caso se perca dentro do sistema de arquivos, digite cd sem argumentos para voltar sua directoria home.) 1.6 Mais sobre directorias home e pathnames V para a directoria home, e digite:
% ls TUTORIAL Projectos %

Em seguida digite:
% ls Projectos

Assim ir receber a seguinte mensagem:

Projectos: No such file or directory

A razo que Projectos no est na directoria de trabalho actual. Para aplicar um comando num arquivo (ou directoria) que no est na directoria de trabalho actual (a directoria em que est no momento), ter de especificar o seu full pathname (caminho completo). Ento, para listar o contedo da directoria Projectos, deve digitar:
% ls TUTORIAL/Projectos

Directorias home tambm podem ser referenciadas pelo caracter til (~). Podendo ser usado para especificar caminhos que comeam na sua directoria home. Digitando-se assim:
% ls ~/TUTORIAL/Projectos

Mostra o contedo da directoria /TUTORIAL/Projectos, independentemente da sua localizao no sistema de arquivo. Experimente as combinaes abaixo:
% ls ~

Pgina 8 de 26

ou: ou ainda:

% ls ~ /..

% % % %

cd / pwd cd ~ pwd

Resumo ls Lista os arquivos da directoria corrente ls l Lista os arquivos da directoria corrente em formato longo ls la Lista os arquivos com a exibio dos arquivos ocultos tambm mkdir <nome> Cria uma directoria com o nome passado como parmetro cd e cd ~ Desloca o utilizador para a sua directoria home cd <directoria> Muda da directoria actual para o passado como parmetro cd .. Muda para a directoria "pai" da directoria actual pwd Exibe o caminho absoluto da directoria actual

2 Arquivos
2.1 Copiando arquivos cp (copy) cp faz a cpia de arquivos, da mesma directoria ou entre directorias. No exemplo seguinte pretende-se copiar um arquivo armazenado na directoria home para a mesma directoria com o nome modificado e posteriormente para uma outra directoria.
% pwd /export/home/aluno01 % cp despesas despesas.bak % ls -l despesas* -rw-r--r-- 1 aluno01 staff 324 Jul 10 09:45 despesas -rw-r--r-- 1 aluno01 staff 324 Jul 10 15:57 despesas.bak

O comando ls -l mostra dois arquivos, despesas e despesas.bak, sendo este ltimo uma cpia do despesas original criado com o comando cp. Se desejssemos copiar este arquivo para uma outra directoria bastaria que incluir na linha de comando o caminho para esta directoria. Contudo para ilustrar o que foi dito no item 1.4 , com relao ao ponto (.) para o UNIX. Observe a sequncia de comandos abaixo:
% cd TUTORIAL % pwd /export/home/aluno01/TUTORIAL % cp /export/home/aluno01/despesas.bak . % ls -l total 4 drwxr-xr-x 2 aluno01 staff 512 Jul 10 12:16 Projectos -rw-r--r-1 aluno01 staff 324 Jul 10 16:40 despesas.bak

Nota: No se esquea do ponto "." ao fim do comando cp. Lembre-se que, em UNIX, o ponto significa a directoria actual. No final do processo teremos dentro da directoria TUTORIAL uma cpia do arquivo despesas.bak. Exerccio Repita os comandos acima /export/home/aluno01/TUTORIAL/Projectos. copiando os arquivos para

2.2 Mover arquivos mv (move) Para mover um arquivo de uma directoria para outra, use o comando de mv. Tambm pode ser usado para renomear um arquivo, "movendo" o arquivo para a mesma directoria, mas dando um nome diferente ao mesmo. Mude da directoria actual para a directoria TUTORIAL (ainda se lembra como?). Pgina 9 de 26

% pwd /export/home/aluno01 % ls -l total 4 drwxr-xr-x 2 aluno01 staff 512 Jul 10 12:16 Projectos -rw-r--r-1 aluno01 staff 324 Jul 10 16:40 despesas.bak % mv despesas.bak despesas.old % ls -l despesas* -rw-r--r-- 1 aluno01 staff 324 Jul 10 09:45 despesas -rw-r--r-- 1 aluno01 staff 324 Jul 10 15:57 despesas.old

Observe que ao movermos o arquivo despesas.bak para despesas.old, estamos na verdade a renomear o arquivo de origem. 2.3 Remover arquivos e directorias rm (remove), rmdir (remove directory) Para apagar (remover) um arquivo, use o comando rm. Como exemplo, ns vamos remover a cpia do arquivo da sua directoria TUTORIAL. Primeiro vamos para a directoria TUTORIAL, ento digite:
% cd TUTORIAL % pwd /export/home/aluno01/TUTORIAL % ls -l total 4 drwxr-xr-x 2 aluno01 staff 512 Jul 10 12:16 Projectos -rw-r--r-1 aluno01 staff 324 Jul 10 16:40 despesas.bak % rm despesas.bak . % ls -l total 4 drwxr-xr-x 2 aluno01 staff 512 Jul 10 12:16 Projectos

Para remover directorias usamos o comando rmdir. Este comando apenas funciona correctamente se a directoria estiver vazia. A remoo de uma directoria, sem a necessidade de a esvaziar primeiro, feita atravs da opo r (rmdir r <directoria>). ATENO!! Quando usar este comando na remoo de directorias, certifique-se que est na directoria correcta atravs do comando pwd, ou poder causar perdas de arquivos. Agora experimente efectuar a remoo da directoria Projectos pelos dois mtodos propostos acima. Lembre-se de certificar-se em que directoria voc est atravs do comando pwd! 2.4 Exibir o contedo de um arquivo no cran clear Antes de continuar, pode limpar a janela do terminal dos comandos j executados, para assim a execuo dos seguintes ser visualizada mais claramente. Para limpar o cran digite:
% clear

Isto remover todo o texto presente no cran e o deixar o prompt (%) no topo da janela. cat (concat) O comando cat pode ser usado para exibir os contedos de um arquivo no cran. Digite:
% cat indice

Isto ir exibir o contedo do arquivo sem pausas no cran. more O comando more permite "paginar" um arquivo no cran do terminal. Para experimentar digite:
% more indice

Este comando ir listar o contedo do arquivo indice at preencher o cran, para continuar listando o contedo do arquivo pressione a barra de espao, digite q se voc quer abandonar o comando. Como pode ver, prefervel o uso do comando more para listar arquivos longos. Pgina 10 de 26

head O comando head exibe o cabealho (as primeiras dez linhas) de um arquivo no cran. Primeiro limpe o cran e ento digite:
% clear % head indice

Repita a operao e adicione o parmetro -15 ao comando head. Qual o resultado?


% clear % head -15 indice

tail O comando tail exibe o rodap (as ltimas dez linhas) de um arquivo no cran. Primeiro limpe o cran e ento digite:
% clear % tail indice

Exerccio Como faria para exibir as ltimas 15 linhas do arquivo? 2.5 Pesquisar o contedo de um arquivo Pesquisar com o comando more O comando more permite pesquisar num arquivo de texto uma qualquer chave. Por exemplo, para procurar a palavra viagem, no arquivo despesas, digite:
% more despesas

Isso ir exibir o contedo parcial ou completo do arquivo (dependendo do seu tamanho), ento digite:
% /viagem

Digite a tecla n para procurar a prxima ocorrncia da palavra Pesquisar com o comando grep grep um dos muitos utilitrios standard do UNIX. O grep consegue ler diversos arquivos na pesquisa de palavras isoladas ou padres. Limpe o cran e digite:
% grep viagem despesas

O comando grep imprimiu cada linha do arquivo que continha a palavra viagem. Contudo o comando grep muito mais poderoso. Vamos supor que precisamos saber todos os arquivos que possuam a palavra viagem numa determinada directoria. Com o uso de wildcards o grep pode fazer esta tarefa:
% grep viagem * % grep viagem *.xls % grep viagem *.d??

O comando de grep sensvel ao contexto, ou seja, distingue entre viagem e Viagem. Para ignorar distines de contexto de maisculas/minsculas, use a opo -i, como no exemplo:
% grep -i viagem despesas

Para procurar uma frase ou padro, tem que inserir os mesmos entre aspas simples. Por exemplo para procurar o trecho "...do aeroporto at..", digite:
% grep -i 'do aeroporto at' despesas

Algumas outras opes do comando grep so: v - exiba essas linhas que no emparelham n - exibir para cada item encontrado o respectivo nmero da linha dentro do arquivo. c - exibir somente o total de linhas contendo o padro/texto procurado. Tente algumas e veja os diferentes resultados. No esquea que pode usar mais de uma opo de cada vez, por exemplo, grep -ivc. Pgina 11 de 26

wc (word count) O comando wc permite a contagem de palavras ou linhas num arquivo de texto. Por exemplo para saber quantas palavras possui o arquivo despesas, digite:
% wc -w despesas

Para descobrir quantas linhas o arquivo contm digite:


% wc -l despesas

Ou ainda para saber quantos caracteres possui o arquivo, digite:


% wc -c despesas

Resumo cp <file1> <file2> mv <file1> <file2> rm <arquivo> rmdir <directoria> cat <arquivo> more <arquivo> head <arquivo> tail <arquivo> grep <palavra/padro> wc <arquivo>

Copia o file1 com o nome file2 Move ou renomeia o file1 para file2 Remove um arquivo Remove uma directoria Exibe o contedo de um arquivo Exibe o contedo de um arquivo com paginao Exibe o cabealho de um arquivo Exibe o rodap de um arquivo Procura um arquivo com a palavra/padro fornecido Exibe a soma de linhas/palavras/caracteres do arquivo

3.1 Redireccionamento A maioria dos processos exibe um resultado no cran do terminal, e os dados, para que estes processos funcionem, so introduzidos atravs da consola (digitados via teclado). Ns j vimos que um uso do comando cat era exibir o contedo de um arquivo no cran. Agora digite cat sem especificar um nome de arquivo:
% cat

3 Redireccionamento

Ento digite algumas palavras no teclado e aperte a tecla [Enter/Return] . Para finalizar a edio de texto pressione [Ctrl]+[d] (escrito como ^d para simplificar). O que aconteceu? Se executar o comando cat sem especificar um arquivo para leitura, este l o dispositivo padro de entrada (o teclado), e ao receber o caracter de " fim de arquivo " (^D), mostra os dados digitadas na sada padro (o cran do terminal) No UNIX, podemos redireccionar a entrada e sada de dados nossa medida. 3.2 Redireccionar a sada Ns usamos smbolo " >" para redireccionar a sada de um comando. Por exemplo, para criar um arquivo chamado lista1, que contm uma lista de nomes de animais, digite:
% cat > lista1

Ento digite alguns nomes de animais finalizando com [Enter/Return] aps cada item:
. zebra leo hiena co ^D [Ctrl+d para finalizar]

O smbolo " >" redirecciona o resultado do cat, que normalmente iria para o cran, para um arquivo chamado lista1. Para visualizar o contedo do arquivo recm criado, digite:
% cat lista1

Exerccio Pgina 12 de 26

Usando o mesmo mtodo, crie outro arquivo chamou lista2 contendo os seguintes itens: hipoptamo, macaco, leopardo e rinoceronte . A forma encadeada do smbolo " >>" concatena o resultado de um comando com o resultado de outro. Assim se desejamos adicionar novos itens no arquivo lista1 devemos digitar:
% cat >> lista1

Ento digite alguns novos nomes de animais finalizando com [Enter/Return] aps cada item:
. guia falco francelho abutre ^D [Ctrl+d para finalizar]

Para visualizar o contedo do arquivo recm criado, digite:


% cat lista1

Ns agora usaremos o comando cat para unir (concatenar) os arquivos lista1 e lista2 num novo arquivo chamados lista3. Digite:
% cat lista1 lista2 > lista3

O comando cat l o contedo dos arquivos lista1 e lista2 e junta-os no arquivo lista3. Para visualizar o contedo deste, digite:
% cat lista3

3.3 Redireccionar a entrada O smbolo usado para redireccionar a entrada de um comando " < " . O comando sort ordena numrica ou alfabeticamente uma lista. Digite:
% sort

Ento digite nos nomes de alguns legumes, pressione [Enter/Return] aps cada entrada..
batata pepino cebola ^D [Ctrl+d para finalizar]

O resultado ser:
batata cebola pepino

Usando o " < " pode redireccionar a entrada para esta ser de um arquivo em vez do teclado. Por exemplo, ordenar a lista3, digite:
% sort < lista3

e a lista ordenada ser exibida no cran. Para enviar a lista ordenada para um arquivo, digite:
% sort < lista3 > lista4

Use o cat para ler os contedos do arquivo lista4. 3.4 Pipes Pipe uma caracterstica muito valiosa do sistema UNIX. Esta permite que vrios programas sejam concatenados, deste modo, o output de um programa input do prximo. Esse recurso muito utilizado para aplicar filtros. Para sabermos quem est ligado no sistema com voc, digite: % who Um mtodo para adquirir uma lista ordenada de nomes digitar,
% who > nomes

Pgina 13 de 26

% sort < nomes

Isto um pouco lento e temos que nos lembrar de remover o arquivo temporrio chamado nomes quando terminarmos. O que realmente queremos fazer executar o comando who e encaminh-lo para o comando sort. Isto exactamente que os pipes fazem. O smbolo para um pipe " | ". Por exemplo, digitando-se:
% who | sort

Obtemos mesmo resultado do mtodo anterior, contudo mas mais rpido e eficiente. Para descobrir-mos o total de utilizadores que esto activos no momento, digite:
% who | wc -l

Outro exemplo poderia ser:

% who | sort | tee logados | wc l

Visualizarmos os processos do utilizador joao:


% ps | grep joao

Exerccio lpr -Pplotter psfile o comando usado para imprimir um arquivo tipo PostScript na impressora plotter. Com o uso do pipe, imprima o arquivo tipo texto lista4 para a impressora plotter, ordenado alfabeticamente. Resumo comando > <arquivo> comando >> <arquivo> comando <arq1> < <arq2> comando1 | comando2 cat <arq1> <arq2> > <arq3> sort who lpr -P<printer> <arquivo> Redirecciona a sada de um comando para um arquivo Insere a sada de comando no fim de um arquivo Redirecciona a entrada para um arquivo A sada do comando1 a entrada do comando2 Concatena os arquivos arq1 e arq2 gerando arq3 Ordenao de dados Lista os utilizadores "logados" actualmente no sistema Imprime o arquivo na impressora printer

4 Wildcars
4.1 Wildcards (Coringas) Os caracteres * e ? O caracter * chamado de wildcard (ou coringa), e ser equivalente a um ou mais caracter(es) num arquivo (ou no nome de uma directoria) . Por exemplo, na directoria home, digite:
% ls -l desp* -rw-r--r-- 1 aluno01 staff -rw-r--r-- 1 aluno01 staff 324 Jul 10 09:45 despesas 324 Jul 10 15:57 despesas.bak

Sero listados todos os arquivos da directoria actual, que comeam com o nome "desp". Caso desejemos apenas exibir os arquivos de uma determinada extenso:
% ls -l *.bak -rw-r--r-- 1 aluno01 staff 324 Jul 10 15:57 despesas.bak

Isto listar todos os arquivos na directoria actual que termina com a extenso ".bak" No UNIX os caracteres "coringas" permitem a execuo de comandos com a incluso dos mesmos em formas que no so possveis no DOS ou Windows. Por exemplo para irmos para a directoria TUTORIAL normalmente digitaramos:
% cd /export/home/aluno01/TUTORIAL

Com o uso do * podemos abreviar a digitao:


% cd /expo*/hom*/aluno01/TUT*

Observe que no exemplo acima digitamos de forma abreviada o caminho, mas a directoria "aluno01" foi escrita integralmente, isto devido ao facto de abaixo de /export/home possuirmos mais de uma directoria de alunos, como aluno01, aluno02, etc.. Caso digitssemos a forma abreviada obteramos um Pgina 14 de 26

erro, pois o comando no saberia escolher qual directoria pretendida. O seguinte exemplo demonstra esse caso:
% cd /expo*/hom*/aluno* aluno*: Ambiguous

O caracter ? equivale a um caracter nico. Assim ls ?ouse poder listar arquivos como house e mouse. Para ilustrar melhor o exposto acima, vamos combinar os dois caracteres coringa para criar um filtro para o comando ls. Listamos uma directoria qualquer:
% ls -l -rw-r-----rw-r-----rw-rw-r--rw-rw-r--rw-rw-r-1 1 1 1 1 eetaps eetaps eetaps eetaps eetaps 575 Jul 25 09:47 local.login 560 Jul 25 09:47 local.profile 936 May 6 16:55 planet_colours 19825 Dec 11 1997 planet_def 0 Dec 11 1997 planet_def.BAK

Agora vamos supor que gostaramos que fossem listados apenas os arquivos que iniciassem o seu nome com planet, independente do resto do nome e da extenso final do mesmo:
% ls -l ?lan* -rw-rw-r-- 1 eetaps -rw-rw-r-- 1 eetaps -rw-rw-r-- 1 eetaps 936 May 6 16:55 planet_colours 19825 Dec 11 1997 planet_def 0 Dec 11 1997 planet_def.BAK

Como pode ver o uso destes caracteres reduz o trabalho de digitao e d mais flexibilidade aos comandos do UNIX. 4.2 Convenes de nomes de arquivos Convm destacar que uma directoria um tipo especial de arquivo. Assim as regras e convenes para nomear arquivos tambm se aplicam a directorias. Atribuir nomes a arquivos, usando caracteres com significados especiais como / (barra) devem ser evitados. O modo mais seguro para nomear um arquivo usar somente caracteres alfanumricos, quer dizer, letras e nmeros, junto com _ (sublinhado) e . (ponto). Os nomes dos arquivos, convencionalmente, so construdos com letras minsculas, e podem terminar com um ponto seguido por um grupo de letras que indicam os contedos deste. Por exemplo, podem ser nomeados todos os arquivos que consistem em cdigo em linguagem Pascal com a extenso .pas, por exemplo, prog1.pas. Ento, para listar todos os arquivos que contm programas em Pascal, apena necessita digitar o comando ls *.pas. Nota: algumas aplicaes, quando executadas, do o mesmo nome a um arquivo criado. Por exemplo, alguns compiladores, a menos que determinada a opo seja usada, geram arquivos compilados sempre com o nome a.out. Este caso ocorre com o compilador C que existe em muitas verses do UNIX. Quando usamos a sintaxe: cc prog1.c o compilador ir gerar um prcompilado chamado a.out. Se a este arquivo no for alterado o nome, a prxima execuo do compilador ir rescrever este arquivo, independente do nome do arquivo fonte. Outra opo o uso dos "flags" do compilador que j permitem a gerao de arquivos de sada com um nome especfico, neste caso, cc -o prog1.bin prog1.c ir gerar, aps a compilao um arquivo chamado prog1.bin. 4.3 Obter ajuda Manuais on-line H manuais on-line que do informaes sobre a maioria dos comandos. As pginas dos manuais explicitam quais as opes que podemos incluir num comando, e como cada opo actua sobre a execuo do comando. Digite man <comando> para ler as pginas do manual para um comando. Por exemplo, para saber mais sobre o comando wc (contador de palavras) digite:
% man wc Reformatting page. Wait... done wc(1) User Commands wc(1) NAME wc - display a count of lines, words and characters in a file SYNOPSIS wc [ -c | -m | -C ] [ -lw ] [ file ... ] AVAILABILITY

Pgina 15 de 26

SUNWcsu DESCRIPTION The wc utility reads one or more input files and, by default, writes the number of newline characters, words and bytes contained in each input file to the standard output. ...........

claro que o arquivo de ajuda no se limita a estas linhas, aqui s foi mostrado o incio do mesmo, dependendo do comando este arquivo poder ter diversas pginas. A visualizao das pginas de ajuda feita da mesma forma, e com recurso aos comandos de pesquisa e movimentao do more. Quando desejamos, simplesmente, obter uma descrio breve do comando, podemos usar o comando whatis. Este comando exibe uma descrio do comando numa linha apenas. Digite: E a resposta ser:
wc % whatis wc wc (1) - display a count of lines, words and characters in a file

Quando no est totalmente seguro do nome exacto de um comando, a utilizao de apropos <comando> devolver uma lista de manuais onde aparecem menes palavra-chave procurada:
% apropos hosts

E a resposta ser:

hosts hosts.equiv ping rhosts ttyhstmgr

hosts (4) - host name database hosts.equiv (4) - trusted remote hosts and users ping (1m) - send ICMP ECHO_REQUEST packets to network hosts hosts.equiv (4) - trusted remote hosts and users ttyhstmgr (1m) -administer hosts on a network

Resumo ? * man <comando> whatis <comando> apropos <palavra-chave>

Substituio de um nico caracter Substituio de qualquer nmero de caracteres Exibe pginas do manual on-line para um comando Descrio breve de um comando Pesquisa de manuais que contenham a palavra-chave

5 Permisses e Processos
5.1 Arquivo segurana de sistema (direitos de acesso) Na directoria home, tendo os arquivos referidos at ao momento, digite:
% ls -l

Teremos muitos detalhes sobre o contedo da directoria, semelhante ao exemplo abaixo:


-rw-r--r--rw-r--r--rw-r--r-drwxr-xr-x drwxr-xr-x -rw-r--r-drwxr-xr-x 1 aluno01 1 aluno01 1 aluno01 2 aluno01 2 aluno01 1 aluno01 2 aluno01 staff staff staff staff staff staff staff 137 Jul 10 09:42 .cshrc 575 Jul 10 09:37 .login 324 Jul 10 09:45 despesas 512 Jul 10 09:43 documentos 512 Jul 10 09:43 imagens 3636 Jul 10 09:45 indice 512 Jul 10 09:43 planilhas

Cada arquivo e directoria possui direitos de acesso que especificam quem e como pode manipular e aceder a eles.
drwxr-xr-x 2 aluno01 staff 512 Jul 10 09:43 indice | | | | | | |_______nome do arquivo | | | | | |__________data de criao | | | | |________________tamanho do arquivo | | | |________________________grupo do utilizador | | |___________________________nome do utilizador | |______________________________nmero de ligaes |___________________________________direitos de acesso

Pgina 16 de 26

Na primeira coluna existe uma sequncia de 10 caracteres que consiste nos smbolos d, r, w, x, -, e, ocasionalmente, s ou S. O primeiro caracter define o tipo de arquivo. A tabela seguinte mostra os tipos de arquivos que temos: d l b,c,p,s arquivo directoria link especiais

Os 9 smbolos restantes indicam as permisses, ou direitos de acesso, e so divididos em trs grupos de 3 caracteres, que devem ser interpretados da esquerda para a direita: O primeiro grupo de 3 caracteres d as permisses do arquivo para o dono deste (ou directoria), no nosso exemplo acima, o utilizador aluno01; O segundo grupo de 3 caracteres d as permisses para o grupo das pessoas para quem o arquivo (ou directoria) pertence, staff no exemplo acima; O terceiro grupo de 3 caracteres d as permisses para os outros utilizadores que no sejam nem o prprio dono do arquivo ou membros do grupo. Os smbolos r, w, etc., tm significados ligeiramente diferentes quando se referem a um arquivo simples ou ento uma directoria . Direitos de acesso em arquivos. r (ou -), indica permisso de leitura (ou caso contrrio), quer dizer, a presena ou ausncia de permisso para ler e copiar o arquivo; w (ou -), indica permisso de escrita (ou caso contrrio), quer dizer, a presena ou ausncia de permisso para mudar o contedo de um arquivo; x (ou -), indica permisso de execuo (ou caso contrrio), quer dizer, a presena ou ausncia de permisso de execuo de um arquivo, script ou binrio. Direitos de acesso em directorias. r permite aos os utilizadores listar arquivos da directoria; wpermite aos utilizadores apagar arquivos da directoria e/ou mover/criar arquivos nesta; x permite ter acesso aos arquivos da directoria. Isto implica que obtm acesso aos arquivos dentro da directoria, contudo a leitura, escrita e execuo dos mesmos ainda est condicionada s permisses individuais de cada um. Assim, para ler um arquivo, necessitamos permisso de execuo na directoria que o contm, e, sucessivamente, em qualquer directoria que contm aquela directoria como um subdirectory, e assim por diante, subindo na rvore. Alguns exemplos: rwxrwxrwx Um arquivo com estas permisses pode ser lido, gravado e executado por qualquer utilizador, independente de ser ou no o dono ou pertencer ou no ao grupo do dono do arquivo. rwx-----Um arquivo com estas permisses pode ser lido, gravado e executado somente pelo dono do arquivo. 5.2 Alterar direitos de acesso chmod (mudar os modos de acesso a um arquivo) S o dono de um arquivo (ou o super-utilizador) pode usar chmod para mudar as permisses de um arquivo. As opes de chmod so as seguintes: Smbolo u g o a Significando utilizador [user] grupo [group] outros [other] tudo [all] Pgina 17 de 26

r w x + -

leitura escrita (e apagamento) execuo adiciona permisso retira permisso

Por exemplo, para remover as permisses de escrita, leitura e execuo do arquivo lista01.txt ao grupo e a outros:
% chmod go-rwx list01.txt

As outras permisses (dono) permanecero inalteradas. Para dar permisses de escrita e leitura para todos (dono, grupo e outros):
% chmod a+rw list01.txt

5.3 Processos e jobs Um processo um programa em execuo identificado por um PID (identificador de processo) nico. Para analisar os processos em execuo no sistema, e obter informaes, digite:
% ps

Um processo pode estar em primeiro plano, em segundo plano, ou pode estar suspenso. Numa execuo normal, a shell no devolve o prompt do UNIX at que o processo termine a sua execuo. Alguns processos podem consumir muito tempo, portanto colocar em Background um processo longo, com devoluo por parte do UNIX do identificador, permite que outras tarefas possam ser levadas a cabo enquanto o processo original continua a sua execuo. Enviar um processo para segundo plano (background) Para executar um processo em segundo plano, acrescente um & ao trmino da linha de comando. Por exemplo, o comando sleep suspende a execuo de um processo por um determinado nmero de segundos antes de continuar. Digite:
% sleep 10

Iro passar 10 segundos antes de termos o prompt de comando %. At que o prompt seja devolvido, no poder fazer nada, a no ser esperar. Para executar o mesmo comando em segundo plano:
% sleep 10 & [1] 6259

O & fora a passagem do processo para background e liberta o prompt imediatamente, o que permite executar outros programas enquanto espera o termino do primeiro processo. A primeira linha no exemplo o comando digitado pelo utilizador; a linha seguinte indica nmero de jobs e o PID. O utilizador ser notificado quando um processo que estava em segundo plano finalizar. Processos em segundo plano so teis para trabalhos que necessitam de muito tempo para finalizar. Colocar em segundo plano um processo que actualmente est em primeiro plano, digite:
% sleep 10

Poderemos suspender o processo que est em primeiro plano digitando [Ctrl+Z] (escrito como ^Z) e ento passar o processo para segundo plano digitando:
% bg

Nota: no coloque em background, programas que requeiram interaco com o utilizador. 5.4 Suspender e listar processos em background Quando um processo est a ser executado, este estar numa lista junto com um nmero, nico, de execuo. Para examinar esta lista, digite:
% jobs

Um exemplo de uma lista de trabalho poderia ser


[1] [2] [3] Suspended Running Suspended sleep 100 netscape find

Pgina 18 de 26

Para reiniciar, ou seja, colocar em primeiro plano, um processo suspenso, digite:


% fg %<job_number>

Por exemplo, colocar em primeiro plano sleep 100, digite:


% fg %1

fg, digitado sem nenhum parmetro, ir trazer para primeiro plano o ltimo processo a ser suspendido. 5.5 Terminar um processo s vezes necessrio terminar um processo, por exemplo, quando um programa est em "looping", sem possibilidade de ser terminado normalmente, ou quando est a consumir muitos recursos da mquina. Para finalizar um processo que est a ser executado em primeiro plano, digite [Ctrl+C] (escrito ^C). Por exemplo, execute sleep 1000 e em seguida digite [Ctrl+C]. Para terminar um processo em background, digite: Por exemplo, execute sleep 10 para background, e em seguida execute jobs para verificar qual o seu nmero:
% sleep 10 & [1] 6259 % kill %<job_number>

Para cancelar o comando sleep digite:


% kill %1

Para conferir se funcionou, examine a lista de jobs novamente para ver se o processo foi terminado. Alternativamente, os processos podem ser eliminados atravs do nmero identificador do processo (PIDs) e usando kill PID_number. Por exemplo, execute sleep 10 em background, e em seguida digite:
% ps PID TT S 20077 pts/5 S 21563 pts/5 T 21873 pts/5 S % kill 20077 TIME COMMAND 0:05 sleep 10 0:00 netscape 0:25 asedit

Exterminar o processo sleep 100, digite: E ento digite ps novamente e ver que o mesmo foi removido da lista. Se um processo se recusa a ser cancelado, use a opo -9, i.e. digite:
% kill -9 20077

Nota: No possvel exterminar processos de outros utilizadores a menos que tenhamos as permisses de super-utilizador. Resumo ls lag chmod [opes] <arquivo> comando & ^C ^Z bg jobs fg %1 kill %1 Ps kill 26152 Listar direitos de acessos de todos os arquivos. Mudana de direitos de acesso de um arquivo. Execuo de um comando em segundo plano (Background). Cancela o job que est a ser executado em primeiro plano. Suspende o job que est a ser executado em primeiro plano. Transfere para segundo plano um job. Lista o status dos jobs. Transfere para primeiro plano o job nmero 1. Termina o job nmero 1. Lista os processos correntes. Termina o processo nmero 26152.

quota

6 Outros Comandos
Pgina 19 de 26

O utilizadores podem ter disponvel um certo espao no disco do sistema de arquivos, como limite. O tamanho desta rea determinado pelo tipo de utilizador e actividade do mesmo, sendo definido pelo administrador de sistema. Um utilizador que trabalhe com arquivos de texto simples poder confortavelmente usar uma rea de 20 MB. Por outro lado um Designer grfico poder precisar de 10 vezes este espao. Para conferir sua quota actual e o espao usado, digite:
% quota v <nome de utilizador>

df O comando df informa qual a ocupao do disco do sistema de arquivos. Por exemplo, para sabermos quanto espao est a ser usado actualmente na mquina, digite:
% df

Iremos obter uma listagem semelhante mostrada abaixo:


/ (/dev/dsk/c0t3d0s0 ): 146360 blocks 44655 files /usr (/dev/dsk/c0t3d0s6 ): 79196 blocks 110011 files /proc (/proc ): 0 blocks 1942 files /dev/fd (fd ): 0 blocks 0 files /var (/dev/dsk/c0t3d0s4 ): 6762 blocks 9685 files /export/local (/dev/dsk/c0t3d0s7 ): 83000 blocks 26021 files /opt (/dev/dsk/c0t3d0s5 ): 186024 blocks 156552 files /tmp (swap ): 635336 blocks 23551 files

Pode parecer um pouco confusa a listagem exibida deste modo, mas com a opo -k a mesma ser formatada para exibir os dados em kb. Digite:
% df -k

Iremos obter uma listagem semelhante mostrada abaixo:


Filesystem /dev/dsk/c0t3d0s0 /dev/dsk/c0t3d0s6 /proc fd /dev/dsk/c0t3d0s4 /dev/dsk/c0t3d0s7 /dev/dsk/c0t3d0s5 swap kbytes 96455 243439 0 0 22207 47975 311623 317660 used 23275 203841 0 0 18826 6475 218611 12 avail capacity Mounted on 63540 27% / 15258 94% /usr 0 0% /proc 0 0% /dev/fd 1161 95% /var 36710 15% /export/local 61852 78% /opt 317648 1% /tmp

Note que esta forma mais clara e agradvel de obter os dados.

du O comando du mostra o nmero de kilobytes usado por cada subdirectoria. til quando queremos saber qual a directoria que possui mais arquivos num file-system. Na directoria home, digite:
% du -k

Semelhante ao comando df, pode-se adicionar a opo -k para exibir os valores em kb.
......................................... 1 ./.netscape/cache/0D 89 ./.netscape/cache 93 ./netscape ........................................

compress Semelhante aos programas de compresso de arquivos do DOS, como pkzip e arj. Este comando comprime arquivos no UNIX e pode ser muito til quando precisamos guardar arquivos antigos, libertando espao no disco ou quando desejamos enviar um arquivo por disquete ou por FTP reduzindo o tamanho do mesmo. Para restaurar o arquivo original use o comando uncompress. Veja os prximos exemplos:
% ls -l

Pgina 20 de 26

-rwxr-x---

1 edboper sysadmin 512519 May 23 1997 proj4

Observe o tamanho do arquivo proj4, agora digite:


% compress proj4

Liste novamente a directoria:


% ls -l -rwxr-x--1 edboper other 91431 May 23 1997 proj4.Z

Observe que alm da reduo do tamanho do arquivo foi colocada a extenso .Z que identifica um arquivo compactado com o comando compress. Para descompactar o arquivo, use o comando de uncompress:
% uncompress proj4.Z

Existe ainda o comando tar que permite a compresso e arquivamento de ficheiros para tapes. Ver manual para as diferentes opes e possibilidades. file O comando file classifica os arquivos nomeados de acordo com o tipo de dados que eles contm, por exemplo ascii (texto), imagens, dados comprimidos, etc.. Para listar todos os tipos de arquivos na sua directoria home digite:
% file * .................. tkx-seq2.Z: compressed data block compressed 16 bits Script_backup: executable c-shell script city.jpg: JPEG file indice_jpg.txt: ascii text ...........................................................

Comunicao entre utilizadores Os comandos disponveis que permitem a comunicao entre utilizadores registados no sistemas so os seguintes: talk comunicao directa entre dois utilizadores; write envia mensagem a utilizador activo no sistema; wall envia a mensagem para todos os utilizadores activos no sistema. mesg n/y cancela o recebimento de mensagens via os comandos anteriores. O envio de mensagens entre utilizadores de diversos sistemas, ou de um sistema apenas, poder ser feito atravs do comando mail. Este no mais que o famoso e-mail, usado j universalmente. De seguida apresentamos um pequeno conjunto de comando e opes para a utilizao do mail. mail Programa para ler e enviar e-mail Sintaxe:
% mail % mail [-s subject] user

Exemplo 1:
% mail joe Subject: Reunio Oi Joe, hoje faremos uma pequena reuniao para apresentacao de um novo funcionario, depois do almoco, na sala 2. Ate logo. <CTRL-D> Cc: <ENTER> %

Neste exemplo, enviou-se uma mensagem para joe, um utilizador da mesma rede de computadores. Aps o comando mail, especifica-se o endereo eletrnico do utilizador. Se o utilizador joe fosse de outra rede, deveria ser especificado seu e-mail completo (ex. joe@redexyz.com). Pgina 21 de 26

Confirmada a linha da comando com <ENTER>, o sistema apresentar a mensagem Subject:, para que seja digitado o assunto sobre o qual se trata a mensagem. Depois aberto um editor de linha, onde a mensagem ser digitada. A mensagem pode ser concluda com CTRL-D ou com . (ponto). Em seguida aparece a mensagem Cc: para que seja especificado outros endereos eletrnicos para os quais deseja-se enviar cpias desta mensagem. Encerrado o comando, a mensagem imediatamente remetida ao destinatrio. Exemplo 2:
% mail Mail [5.2 UCB] [AIX 4.1] Type ? for help. "/var/spool/mail/wvvsouza": 5 messages 1 new 1 flavio@mercserv. Tue Dec 3 17:14 43/1533 "Pedido de Orcamento" 2 jeniap@provale.c Wed Dec 4 13:29 14/690 "Teste de e-mail" 3 evandro@libnet.c Sat Dec 7 18:31 28/923 "Kill job" 4 myzpah@copene.co Mon Dec 9 10:12 34/1401 "Leitor de CD-ROM" >N 5 marcio@jasmim.fc Thu Dec 12 13:38 37/1535 "Re: Leitor de CD-ROM" &

O comando mail entra no modo de leitura de mensagens e apresenta o seu prompt (&) onde alguns comandos podem ser executados. O indicador > aponta para a mensagem corrente, sobre a qual pode-se executar os comandos. Abaixo tem-se alguns comandos do mail: n <ENTER> Exibe a n-sima mensagem. d [n[-m] Remove a mensagem actual, ou a mensagem n, ou de n a m. m Envia nova mensagem. r Responde a mensagem. q Sai do mail, removendo mensagens lidas e alterando o status das mensagens novas para no lidas. x Sai do mail sem gravar alteraes. Uma forma mais simples de manipular as mensagens recebidas, e a enviar, pode ser feito atravs da utilizao da aplicao pine. Editor vi A visualizao e edio de arquivos pode ser feito por diversos programas existentes. Os mais conhecidos so o emacs, joe, pico; que j possuem algumas caractersticas bastante elaboradas. Mas no entanto, o editor standard em todas as verses do UNIX o vi. De seguinte mostra-se os principais comandos e forma de utilizao do editor. O vi possui dois modos de operao, o modo de comando e o modo de edio. Quando se inicia o vi, ele entra em modo de comando, e cada tecla corresponde a um comando especfico. A prxima lista mostra os principais comandos do vi. Edio i inserir texto na posio actual do cursor a inserir texto a partir do cursor A inserir texto no final da linha o abrir uma linha abaixo do cursor e iniciar edio O abrir uma linha acima do cursor e iniciar edio Manipulao de Arquivos :w guarda o arquivo :x guarda o arquivo e sai do editor :w [nome] guarda o arquivo com nome especificado :x [nome] guarda o arquivo com nome especificado e sai do editor :q sai do editor se documento no foi alterado :q! sai sem guarda o documento Movimentao h retrocede cursor l avana cursor j desce uma linha k sobe uma linha H vai para o primeiro caracter do cran L vai para o ltimo caracter do cran Pgina 22 de 26

w move para a prxima palavra W move para a prxima palavra ou pontuao 0 vai para o incio da linha $ vai para o fim da linha G vai para a ltima linha do documento ^U sobe metade do cran ^D desce metade do cran ^F avana um cran ^B retrocede um cran ^G mostra estatsticas na ltima linha do cran Configurao :set number :set nonumber :set all :set auto ident :set ignore case coloca nmero de linha remove nmero da linha mostra todos os comandos set tabulao automtica (til para programao) ignora diferena entre maisculas e minsculas nas buscas

Eliminao x elimina caractere sob o cursor xn elimina n caracteres a partir do cursor dd elimina a linha do cursor Recuperao de Erros . repete o ltimo comando :u desfaz o ltimo comando Repetio de Comandos nComando repete o comando n vezes Cpia de Blocos mk marca o incio do bloco yk marca o fim do bloco p insere o texto Busca /palavra / ?palavra posiciona o cursor na primeira ocorrncia da palavra a partir do cursor. prxima ocorrncia da busca anterior. posiciona o cursor na primeira ocorrncia da palavra antes do cursor.

Busca e Troca :s/palavra/troca/ procura todas as ocorrncias de palavra e substitui por troca.

Pgina 23 de 26

Pgina 24 de 26

CTM

Glossrio

CTM

Pgina 25 de 26

Abreviaes
MIT GE Multics PID CMD UID I/O Massachusetts Institute of Technologies General Electric Multiplexed Information and Computing Service Process Identifier Command User Identifier Input/Output

Bibliografia e Referncias
Livros: The UNIXTM System V Environment; S.R. Bourne, Addison-Wesley, 1987 Linux - Curso Completo; Pereira, Fernando; FCA, 2000 Sites: http://www.pop-rs.rnp.br/ovni/unix/ http://nucc.pucsp.br/indexnovo.html http://www.feg.unesp.br/polo/guia_unix.html