Unix

Apostila B�sica
�de Unix
�

Autor: Marcelo Palmieri Martins
(Analista de Sistemas - Imp. Eletr.)
�Introdu��o ao Unix

Hist�rico

�A primeira vers�o do sistema operacional Unix foi desenvolvida em 1969 por Ken Thompson do grupo de pesquisas da Bell (bra�o subsidi�rio da AT&T). V�rias vers�es do Unix foram desenvolvidas a partir da�, at� que em 1978 a Universidade de Berkeley lan�ou uma vers�o do Unix para computadores VAX, al�m de incluir diversas facilidades no S.O. V�rios fabricantes passaram ent�o a se interessar pelo produto (que j� possu�a boa receptividade no meio acad�mico) desenvolvendo suas pr�prias vers�es.

Caracter�sticas B�sicas

�O sistema operacional Unix permite que v�rias pessoas o utilizem simultaneamente (multiusu�rio), arbitrando as v�rias solicita��es para distribuir os recursos do computador justa e eficazmente. Diversos programas podem �rodar� simultaneamente (multiprograma��o).
�O sistema parcela o tempo do computador em uma s�rie de partes e os aloca entre os v�rios usu�rios. O objetivo desta t�cnica, denominada �tempo compartilhado�, � dar a cada usu�rio a ilus�o de uso exclusivo da m�quina. Cada tarefa a ser executada pelo computador (programas, editora��o, etc...) recebe uma fatia de tempo da CPU da m�quina. Portanto, quanto mais tarefas, menor o tempo de CPU que cada uma recebe.
�Todos estes conceitos demonstram que o sistema Unix � um sistema operacional complexo e que necessita da figura de um administrador denominado pelo sistema de �super-usu�rio�. Este tem privil�gios que os demais usu�rios do sistema n�o possuem.
�O sistema operacional Unix controla os recursos do computador, faz sua distribui��o entre os v�rios usu�rios concorrentes, executa o escalonamento de tarefas (processos), controla os dispositivos perif�ricos conectados ao sistema, fornece fun��es de gerenciamento do sistema, e de um modo geral oculta do usu�rio final a arquitetura interna da m�quina. Isso � realizado atrav�s de uma arquitetura que usa camadas de software projetadas para diferentes finalidades.
�

Shell

�O �shell� � um interpretador de comandos (interpreta os comandos inseridos pelo teclado), ou seja, prov� a interface entre o usu�rio e o sistema operacional. Em muitos sistemas o interpretador de comandos � uma parte da estrutura interna do S.O.. No Unix por�m, o �shell� � um programa como outro qualquer, al�m de ser uma linguagem de programa��o sofisticada (scripts em shell), que ser� visto mais adiante. Existem diversos tipos de �shell� como o /bin/sh (�Bourne Shell�), /bin/ksh (�Korn Shell�) e o /bin/csh (�C Shell�).

OBS: No Unix espa�os em branco, letras mai�sculas e min�sculas s�o extremamente importantes.
�Ex.: o comando �echo hello� � diferente de �echohello� e de �ECHOhello� (os dois �ltimos errados).
�O Sistema de Arquivos

�O sistema de arquivos do Unix � um importante aspecto do sistema operacional. O sistema de arquivos � o local em que s�o armazenados os arquivos do sistema e dos usu�rios. Ele � organizado como uma estrutura de arquivo que se parece com uma �rvore invertida, estando a raiz no topo, e ramificando-se para baixo.

RAIZ

SUB-1�� SUB-2�� SUB-3

A B C� A B C� A B C

arquivo 1
arquivo 2
.
.
.
arquivo n

�O diret�rio raiz pode conter arquivos, elos, ou outros diret�rios, chamados subdiret�rios. Os subdiret�rios algumas vezes s�o chamados n�s ramos, enquanto que os arquivos em diret�rios algumas vezes s�o chamados n�s folhas. N�o h� limite imposto � quantidade de n�veis, exceto aqueles impostos pelo hardware, embora haja certas implica��es de desempenho quando h� uma quantidade excessiva de n�veis.
�

Inodos

�Os arquivos do Unix s�o armazenados em meios auxiliares, como disco r�gido ou disquete. Cada arquivo do disco tem um inodo �nico, ou nodo de informa��o. Um inodo cont�m informa��es usadas pelos processos, como informa��es de acesso que incluem permiss�es a arquivo, tamanho do arquivo em caracteres, a informa��o de propriedade do arquivo, e a sua localiza��o (endere�o como disco, cilindro, trilha e setor) da �rea de dados do arquivo no sistema de arquivos do Unix.
�V�rios campos comp�em um inodo, tais como: de Propriedade do Arquivo, de Tipo de Arquivo, de Permiss�es do Arquivo, de Datas e Horas do Arquivo, de Liga��es, de TOC de� Tamanho de Arquivo.
�

�Diret�rios

�Um diret�rio no sistema Unix � um tipo especial de arquivo que cont�m como dados n�meros de inodos e nomes dos arquivos contidos no diret�rio. Cada registro do diret�rio tem 16bytes de tamanho; 2 bytes para o n�mero do inodo e 14 bytes para o nome do arquivo. (No sistema Unix os � nomes de arquivos est�o limitados a um m�ximo de 14bytes e podem ter um m�nimo de 1 byte).
�Se o n�mero do inodo de um diret�rio for 0, indicar� que a entrada est� vazia; n�o existe arquivo em tal diret�rio. O n�cleo do Unix manipula diret�rios de forma muito semelhante ao modo como manipula arquivos, usando inodos. Para garantir modifica��o e constru��o correta de diret�rios, os processos podem l�-lo, mas somente o n�cleo pode gravar em diret�rios.
�As permiss�es de acesso de diret�rios s�o similares �s permiss�es de acesso de arquivos, elas t�m os mesmos tr�s n�veis de acesso - dono, grupo e outros. O atributo de leitura permite que o conte�do do diret�rio seja lido; o atributo de grava��o permite que o conte�do do diret�rio seja modificado (remover diret�rios e arquivos, criar novos subdiret�rios e arquivos); e as permiss�es de execu��o simplesmente permitem que os processos procurem um nome de arquivo ou subdiret�rio no diretorio. (N�o � poss�vel executar um diret�rio).
�

Ligar e Desligar Arquivos

�Uma liga��o de arquivos � criada atrav�s do comando ln do Unix ou chamada de sistema link. Uma liga��o � um modo de criar novos nomes para arquivos do Unix. O resultado � um novo nome que, quando referenciado, afeta o arquivo real ao qual est� ligado. � poss�vel ligar diret�rios, mas somente o superusu�rio pode fazer isso. � preciso tomar muito cuidado ao ligar diret�rios, pois � poss�vel criar liga��es que criem um la�o infinito.
�Se um arquivo tiver uma liga��o para si, ent�o qualquer altera��o feita nele afetar� igualmente aos usu�rios de outras liga��es. Da mesma forma, se qualquer usu�rio modificar um nome de arquivo que seja uma liga��o, o arquivo original ser� afetado, e o mesmo acontece com todos os outros usu�rios do arquivo e suas outras liga��es.
�� poss�vel remover uma liga��o de um arquivo ou diret�rio usando o comando ou chamada do sistema unlink. Os comandos e chamadas de sistema ln/link/unlink s�o documentados no Unix System V User Reference e Unix System V Programmer�s Reference. Lembre-se, � preciso muito cuidado ao ligar e desligar arquivos.
�

NFS

�O Network File System (NFS - Sistema de Arquivos em Rede) foi originalmente implementado pela Sun Microsystems, Inc., e foi endossado pela IBM, Hewlett-Packard, Apollo Computer, Apple Computer, e muitos outros fornecedores de sistemas Unix, exceto a AT&T. Em resumo, a mais ampla implementa��o dos esquemas de compartilhamento de arquivos em rede � o NFS.
�O NFS � um servi�o independente de sistema operacional, que permite que todo um sistema de arquivo seja montado em redes. Assim, esses sistemas de arquivo podem ser tratados como parte do sistema de arquivos local. Parte importante do projeto do NFS foi remover todas as depend�ncias do sistemas operacionais, juntamente com todas as depend�ncias de hardware. O NFS oferece tamb�m facilidades para recupera��o em caso de queda, alto desempenho, e acesso transparente - independentemente de rede ou sistema operacional.
�Um exemplo disso � um produto dispon�vel para Pc�s baseados em DOS: PC-NFS. O PC-NFS comunica-se com instala��es NFS baseadas em Unix. Para o PC, todas as partes do sistema de arquivos Unix aparecem como se fossem discos DOS locais. O PC-NFS ainda n�o oferece facilidades de servidor, somente servi�os de cliente NFS.
�Em sistemas baseados em Unix, o NFS � integrado ao n�cleo por raz�es de efici�ncia, embora a integra��o n�o seja obrigat�ria. De import�ncia para os desenvolvedores de aplica��es � por que e como o NFS pode afetar suas aplica��es, e como implementar esfor�os de programa��o para oferecer compatibilidade com o NFS.
�A primeira parte da quest�o pode ser respondida considerando-se como uma aplica��o � projetada. As partes mais sujeitas a serem afetadas s�o, quase certamente, as fun��es de I/O; mais provavelmente, I/O baseada em um sistema de arquivos. Se uma aplica��o for projetada para trabalhar com certas rotinas de I/O de arquivo � poss�vel que essas rotinas de I/O possam fazer com que a aplica��o se comporte de maneira impr�pria quando executada usando um sistema de arquivos remoto.
�

Scripts do Shell

�O shell do Unix suporta o conceito de scripts. Os comandos do Unix podem ser colocados em um arquivo, e executados entrando-se com o nome do arquivo no prompt do shell. Os scripts do shell do Unix s�o an�logos aos arquivos de execu��o em lote do DOS (BAT). Para que um script do shell possa ser executado, n�o � necess�rio seguir nenhuma conven��o especial de nomes, como acontece no DOS; em vez disso, o arquivo com o script deve receber permiss�es de execu��o. H� uma vaga conven��o de nomes para os scripts do Unix.
�Para indicar que um comando � um script do shell do Unix, acrescenta-se a extens�o.sh. Isto n�o � obrigat�rio, e o shell do Unix n�o trata os arquivos que usam esta conven��o de nomes de forma diferente do que qualquer outro arquivo comum. � simplesmente uma conven��o que torna mais f�cil para o usu�rio reconhecer que um comando �, na realidade, um script do shell e n�o um execut�vel bin�rio. Observe, ainda, que as conven��es de nomes do Unix n�o imp�em padr�es espec�ficos para indicar execut�veis bin�rios, como acontece no DOS.
�Programadores e usu�rios rec�m-chegados ao Unix devem compreender que o shell do Unix � t�o vers�til, e os recursos da programa��o em shell s�o t�o poderosos, que frequentemente acontece de novas aplica��es poderem ser escritas em linguagem shell, e n�o em C, mais dif�cil e mais pesada. Isto � particularmente verdadeiro para ferramentas de programa��o personalizada. Em muitos sistemas Unix provavelmente ser�o encontradas ferramentas personalizadas j� dispon�veis. De fato, � uma b�n��o e uma maldi��o no ambiente Unix.
�O Cron

�Talvez um dos recursos mais pr�ticos do Unix seja o cron (cron�grafo), que oferece a possibilidade de executar comandos Unix e scripts do shell em tempos predeterminados. Um recurso como este seria extremamente �til no ambiente DOS.
�O cron pode ser usado para executar fun��es simples como verificar periodicamente a correspond�ncia, evitar lembretes para um destinat�rio qualquer, despachar recados quando do acontecimento de um evento qualquer, e muitas outras fun��es limitadas apenas pela imagina��o do usu�rio.
�O cron � extensivamente usado pela arquitetura do Unix para ajudar no controle automatizado do sistema como um todo, como na automa��o das c�pias de seguran�a (backup) do sistema. Tamb�m o Subsistema de Comunica��o UUCP usa o cron extensivamente.
�

Conex�o (Abertura de Sess�o)

�Para usar os servi�os do Unix, o usu�rio precisa ter uma conta; isto �, uma ID (identifica��o) criada pelo administrador (a pessoa geralmente encarregada de criar contas de usu�rios). Uma ID de usu�rio � necess�ria porque o Unix � projetado para suportar m�ltiplos usu�rios concorrentemente e, por conseguinte, precisa de uma forma para diferenciar um usu�rio do outro. O DOS foi projetado para ser usado por um �nico usu�rio de cada vez e n�o suporta um ambiente multiusu�rio, da� a falta de seguran�a intr�nseca.
�Uma vez que o usu�rio tenha recebido sua ID - geralmente as iniciais de seu pr�-nome, nome e sobrenome - ele poder� entrar no Unix. Normalmente � necess�rio ter uma senha, mas em alguns casos um usu�rio que esteja entrando pela primeira vez pode n�o t�-la. Isto n�o � problema pois os usu�rios podem criar ou modificar suas senhas em qualquer momento. Imaginaremos que a ID de nosso usu�rio seja tsm e que sua senha seja go4it.
�A primeira coisa que precisa ser feita � localizar o terminal a ser usado na sess�o.O Unix n�o requer uma console ativa enquanto o sistema est� rodando, como acontece com certos computadores de grande porte que constantemente exibem informa��es em uma console especial do operador.
�Na tela do monitor deve aparecer um prompt como o seguinte:

login:

�O prompt login significa que o Unix est� esperando que algu�m digite sua ID no teclado. Nossa resposta ser� tsm, que aparece como segue:

login: tsm

�Os caracteres �tsm� s�o seguidos pela tecla enter ou return, dependendo da tecla usada para emitir um retorno do carro/avan�o de linha (CRLF). Em PCs esta � chamada tecla (enter). Certos terminais t�m uma ou outra tecla, algumas vezes ambas. Ap�s entrar a ID do usu�rio, o prompt seguinte pede a senha da conta, e aparece como segue:
�
login: tsm
Password:

�Neste ponto entramos com a senha �go4it�, como segue:

login: tsm
Password: go4it

�Quando a senha est� sendo realmente digitada, os caracteres n�o s�o ecoados na tela por motivos de seguran�a. No exemplo anterior ela aparece somente para dar mais clareza ao exemplo; em situa��es reais ela n�o apareceria. Ap�s entrar com a senha, ela � validada contra um registro em um arquivo especial do sistema. Se houver sucesso na valida��o ent�o ser� permitido o acesso ao sistema; caso contr�rio, ser� exibida uma mensagem de erro (�Login incorrect�) e reaparecer� o pronto.
�Quando o acesso � permitido, o usu�rio entra em contato com outro componente do Unix: o shell. O shell � uma camada de software entre o usu�rio e o sistema operacional. Ele foi projetado para interpretar os comandos digitados pelo usu�rio. � o sistema operacional que realmente providencia a execu��o dos comandos de usu�rio; o shell � o mecanismo usado para coletar as instru��es.
�Se a conex�o for bem-sucedida, ser� exibido o caracter de prompt padr�o do shell (o caracter $), e a tela fica assim:

login: tsm
Password: *****
$

�Em outros sistema podem aparecer outras coisas antes que o prompt apare�a, como boas-vindas, mensagem do dia, novidades, ou outras informa��es. No DOS h� um arquivo especial chamado AUTOEXEC.BAT que � automaticamente executado durante a partida do sistema. No Unix, h� um arquivo com fun��o similar, mas a execu��o ocorre a cada vez que o usu�rio abre uma sess�o no sistema. No Unix System V, esse arquivo chama-se .profile.

Conex�o Remota

�A principal forma de se criar conex�o com um computador remoto na rede � atrav�s do programa telnet. Este programa permite ao usu�rio utilizar os recursos de um computador distante at� milhares de quil�metros.

�telnet� ?� Conecta o usu�rio ao computador especificado.������� O usu�rio precisa estar cadastrado no computador.������� remoto para a conex�o ser estabelecida.
�Ex.: Exemplo de uma sess�o telnet para o computador ADSRJ01:

$ telnet ADSRJ01
Trying 192.9.250.1 ...
Connected to ADSRJ01.
Escape character is '^]'.
�

UNIX System V Release 3.2 (ADSRJ01.ads) (ttyp0)

login:
�

�Para terminar a sess�o com o computador remoto basta digitar exit. O programa rlogin tamb�m realiza a conec��o remota tal como o programa telnet, por�m com algumas facilidades, quando configurado o sistema do computador remoto e do local. O arquivo /etc/hosts.equiv cont�m uma lista dos computadores remotos que compartilham as contas dos usu�rios, fazendo com que n�o seja necess�rio dar a password, quando o programa rlogin � invocado com o mesmo usu�rio em um computador ligado a mesma rede de sistema remoto. Existem tamb�m listas privadas dos computadores remotos no arquivo .rhosts no diret�rio de entrada de cada usu�rio.
�A linha de comando deste programa � a seguinte:
rlogin
�Ex.: Exemplo de uma abertura de sess�o da ADSRJ01 para ADSRJ02:

$ rlogin ADSRJ02
Last login: Tue Aug 22 10:52:51 on console
SunOS Release 4.1.3 (GEN_SYBASE) #1: Mon Jun 21 10:20:27 EST 1993

$
�

Correio Eletr�nico (mail)

�O objetivo do correio eletr�nico � permitir que usu�rios se comuniquem uns com os outros, utilizando a rede como um meio de transmiss�o da mesma forma como se envia uma carta pelo correio. O programa mail � utilizado para ler correspond�ncia que nos � enviada, ou para enviar correspond�ncia a outros usu�rios dentro de uma determinada rede de computadores. Cada usu�rio do sistema possui a sua �caixa de correio� (mailbox) que � um arquivo pessoal que armazena as mensagens que chegaram e n�o foram lidas. Existe uma outra �caixa de correio� que fica no diret�rio pessoal de cada usu�rio e que armazena as mensagens j� lidas (geralmente o arquivo mbox).

Examinando o conte�do da sua �caixa de correio� (mailbox)

�Quando um usu�rio entra no sistema, caso algu�m lhe tenha enviado uma mensagem, aparecer� na tela a o seguinte aviso (ou similar):
�you have mail�
� Para listar as mensagens recebidas digite:

$ mail

�Voc� entrou no programa mail (cujo �prompt� inclusive � diferente) e uma sa�da similar a esta ser� apresentada:
SCO System V Mail (version 3.2)� Type ? for help.
"/usr/spool/mail/marcelo": 1 message 1 new
>N� 1 produc���������� Thu Aug 17 15:48�� 13/369�� teste
&

Cada linha da tela anterior tem os seguintes campos:

status: > ? mensagem corrente
�N ? mensagem nova
�R ? mensagem lida
�U ? mensagem n�o lida
n�mero: indica a numera��o da mensagem.
remetente: identifica o endere�o da pessoa que enviou a mensagem.
data: identifica a data de recebimento da mensagem.
tamanho: identifica o n�mero de linhas e caracteres da mensagem (incluindo o cabe�alho).
assunto: identifica o assunto da mensagem (opcional).

Para ler qualquer uma das mensagem basta digitar o n�mero correspondente no �prompt� do mail. Para apagar, basta digitar o comando �d�:
Message� 1:
From produc Thu Aug 17 15:48:26 1995
Received:� by ADSRJ01.ads.COM (5.65/25-eef)
������� id AA14313; Thu, 17 Aug 95 15:48:26 +0300
Return-Path:
Message-Id: <[email protected]>
From: [email protected] (Master for Producao)
X-Mailer: SCO System V Mail (version 3.2)
To: marcelo
Subject: teste
Date: Thu, 17 Aug 95 15:48:25 BRA
Status: R

Estou testando o mail

& d
&

�Para terminar o programa mail digite Ctrl-d ou q(volta ao �prompt� do sistema). As mensagens que tiverem sido lidas ser�o guardadas na �caixa de correio� do seu diret�rio. Para verificar o conte�do desta, digite:

$ mail -f ?lista as mensagens j� lidas com seus respectivos n�meros correspondentes e entra no�� programa mail.
�Dentro do programa mail, al�m de poder apagar mensagens (i.�.,d ), pode-se copiar estas para arquivos comuns no diret�rio pessoal, mantendo-as ou n�o na �caixa de correio�.
$ copy ? copia a mensagem indicada pelo n�mero, para o������� arquivo indicado (criado na hora) e a mant�m no mailbox.
$ save ? remove a mensagem para o arquivo indicado (remove������ da mailbox).

ENVIADO UMA MENSAGEM:

�Ao enviar uma mensagem voc�, al�m de conhecer o e-mail da outra pessoa deve informar o assunto da mesma de forma resumida (2 ou 3 palavras). Embora isto seja opcional � quase um padr�o no servi�o de correio eletr�nico. Para enviar uma mensagem para um usu�rio qualquer digite:

$ mail [email protected]�nio.dom�nio (Sistema Remoto)
$ mail username ( Sistema Local)

Ap�s isto, o que voc� deve informar � o assunto, teclar ENTER e come�ar a escrever a mensagem. Concluindo a mensagem, � s� digitar Ctrl-d em uma linha em branco para envi�-la. Suponha que voc� est� enviando uma mensagem para o usu�rio marcelo:

$ mail marcelo
Subject: Teste

Marcelo,

Isto e somente um teste do mail!

Obrigado,
�
EOT
$
� ? envia a mensagem e sai do programa mail.
�Para interromper uma mensagem durante sua elabora��o digite duas vezes Ctrl+c.
�O programa mail n�o permite, por exemplo retroceder linhas para corre��es. Portanto, se voc� pretende escrever mensagem mais longas, onde n�o pode haver erros de editora��o, � poss�vel escrev�-las utilizando o editor de textos (vi), salvar seu conte�do num arquivo e depois enviar este arquivo atrav�s do mail.
�Ex.: Voc� digitou o arquivo �carta� no editor de textos vi. Para envi�-lo para outra pessoa, por exemplo marcelo, digite:

$ mail marcelo < carta

Este comando redireciona a entrada do mail para o arquivo carta atrav�s do caracter especial �<�.
�Conte�do do Diret�rio

�O sistema de arquivos do DOS armazena informa��es como o nome do arquivo, tamanho do arquivo em bytes, data de cria��o e �ltima altera��o, hora de cria��o e �ltima altera��o, bem como outros atributos (leitura, grava��o arquivo/diret�rio) de cada entrada no diret�rio. O sistema de arquivos do Unix armazena os atributos da entrada, quantidade de liga��es, identifica��o do dono, identifica��o do grupo, tamanho do arquivo em bytes, data e hora da cria��o e �ltima altera��o, e nome do arquivo/diret�rio.
�� evidente que a quantidade de informa��es sobre o arquivo que o Unix mant�m � consideravelmente maior do que no DOS. Isso acontece porque o sistema de arquivos do Unix foi pensado para permitir acesso multiusu�rio concorrente. A sa�da do comando ls -l exibe informa��es detalhadas sobre as entradas no diret�rio. O primeiro campo dessa sa�da � usado para determinar o tipo de entrada e suas permiss�es de acesso. A seguir temos um exemplo desse campo:
drwxrwxrwx
0123456789

Tipo e Permiss�es de Acesso

�A segunda linha do exemplo anterior n�o � parte normal da sa�da, mas foi colocada como ilustra��o para indicar a posi��o dos caracteres na linha acima. Se o primeiro caracter, na posi��o 0, for um �d�, isso significa que a entrada � um diret�rio. Se for um �-�, significa que � um arquivo comum. Se esse caracter for um �b�, �c� ou �p�, significa que se trata de um arquivo especial usado pelo Unix para executar opera��es de I/O.
�O grupo seguinte de caracteres, nas posi��es de 1 a 3, indica as permiss�es do dono do arquivo; os caracteres rwx s�o usados para indicar as permiss�es de leitura (read), grava��o (write) e execu��o (execution). Se aparecer um �-� em qualquer dessas posi��es, isso indicar� aus�ncia da respectiva permiss�o. A permiss�o de acesso x indica que o arquivo � execut�vel podendo ser um comando bin�rio execut�vel ou um script do shell. Arquivos que n�o cont�m essa permiss�o n�o podem ser executados, independentemente de serem realmente programas bin�rios execut�veis� ou scripts do shell. O DOS, por outro lado, usa o pr�prio nome do arquivo como mecanismo para determinar se o arquivo � execut�vel e como ser� tratado.
�As tr�s posi��es, de 4 a 6, indicam as permiss�es de acesso no n�vel do grupo. Os �ltimos tr�s caracteres, nas posi��es de 7 a 9, indicam as permiss�es de acesso de todos os outros usu�rios do sistema. Os tr�s n�veis de acesso aqui indicados s�o chamados, respectivamente, n�vel de permiss�o de usu�rio, de grupo� e de outros. Os tipos de permiss�es de acesso para os tr�s grupos s�o os mesmos. O sistema de arquivos do DOS n�o tem nada correspondente a essa funcionalidade, pois j� foi projetado como sistema monousu�rio, as permiss�es de acesso n�o receberam considera��o.
�

Seguran�a do Sistema de Arquivos

�A implementa��o da seguran�a de sistema de arquivos come�a com a compreens�o de como � dada permiss�o aos usu�rios para acessar os arquivos.
�O comando chmod � usado para mudar os valores de modo de acesso associados a um arquivo. O valor de modo de acesso de um arquivo define, entre outras coisas, as permiss�es de acesso dadas ao dono do arquivo, ao grupo e ao resto do mundo (chamado outros). As permiss�es de acesso s�o de leitura, grava��o e execu��o, indicadas por r, w e x.
�Os valores do modo de acesso aplicam-se a diret�rios e subdiret�rios, bem como a arquivos, portanto a termo �arquivo� mencionado nesse t�pico vale para os dois. (Note que os valores do modo de acesso n�o se aplicam a superusu�rios!).
�Basicamente , h� tr�s tipos de usu�rios que podem acessar um arquivo: o dono do arquivo, os usu�rios pertencentes ao grupo ao qual o arquivo est� associado, e todos os outros usu�rios. Dentro de cada uma destas categorias de usu�rio, � poss�vel definir como o arquivo poder� ser acessado: para leitura, grava��o ou execu��o. Quando o usu�rio lista as informa��es detalhadas sobre um arquivo, usando a op��o -l do comando ls, a informa��o retornada inclui as permiss�es de modo de acesso, representadas da seguinte forma:
rwxrwxrwx
�Essa tr�ade de caracteres rwx vai da esquerda para a direita. O primeiro grupo refere-se ao dono, o seguinte refere-se ao acesso do grupo, e o �ltimo refere-se aos outros (o resto do mundo). Podem ser fornecidas outras informa��es como uma indica��o de que a entrada � um diret�rio ou um arquivo. O exemplo a seguir ilustra como os grupos s�o associados aos modos de acesso:
� dono� grupo� outros
� rwx� rwx� rwx
�Cada modo de acesso dentro de cada grupo tem um valor num�rico associado a ele, como indica a tabela abaixo:
MODO VALOR DESCRI��O
- 0 Nenhuma permiss�o
x 1 Permiss�o de execu��o
w 2 Permiss�o de grava��o
wx 3 Permiss�o de grava��o e execu��o
r 4 Permiss�o de leitura
rx 5 Permiss�o de leitura e execu��o
rw 6 Permiss�o de leitura e grava��o
rwx 7 Permiss�o de leitura/grava��o/execu��o

�Esses valores num�ricos podem ser usados para ajustar as permiss�es de acesso que cada grupo tem. O comando chmod usa valores num�ricos para cada uma das tr�ades; por exemplo, se as permiss�es de dono, grupo e outros fossem ler, gravar e executar, o valor num�rico a especificar com o comando chmod seria 777. Se, em lugar de permitir acesso pleno ao grupo e outros, fosse necess�rio dar acesso pleno apenas ao dono, sem qualquer outra permiss�o de acesso, o valor num�rico seria 700.
�Como pode ser visto, o n�mero octal de tr�s d�gitos tem uma rela��o posicional correspondente � tr�ade rwx. O primeiro n�mero (� esquerda) corresponde ao campo do dono, o segundo n�mero (no meio) corresponde ao campo do grupo, e o terceiro n�mero (� direita) corresponde ao campo reservado para outros. Isso pode ser confuso para alguns usu�rios do Unix, por isso h� um modo diferente de realizar a mesma coisa, mas que � um pouco mais f�cil de entender.
�O m�todo alternativo de especificar o valor do modo no comando chmod � usando caracteres alfab�ticos. Os caracteres alfa r, w e x podem ser usados em combina��o com os caracteres u, g, o e a. O caracter u refere-se ao usu�rio que possui o arquivo, o caracter g refere-se ao grupo, o caracter o refere-se aos outros (todos os outros usu�rios), e a (all=todos) aplica as mudan�as aos tr�s grupos (u,g e o).
�Os caracteres + (mais), -(menos) e = (igual) s�o tamb�m usados no processo de atribui��o. O caracter + significa acrescentar o(s) valor(es) de permiss�o(�es) � direita dele, o caracter - significa remover o(s) valor(es) de permiss�o(�es) � direita dele, o caracter=significa retirar (nenhuma permiss�o) todos os valores de permiss�o para os usu�rios especificados � esquerda do caracter. A seguir temos alguns exemplos:
chmod a+rw nome_do_arquivo
chmod uo-x nome_do_arquivo
chmod a= nome_do_arquivo

�O primeiro exemplo atribui permiss�es de leitura e grava��o a todos os usu�rios que acessam nome_do_arquivo. Na segunda linha s�o retiradas as permiss�es de execu��o para o dono e outros, mas n�o para o grupo. A �ltima linha remove todos os atributos (nenhuma permiss�o � concedida) do dono, grupo e outros. A fim de manipular esse arquivo, o dono deve antes usar o chmod para dar-lhe as permiss�es apropriadas.
Quando um arquivo � criado, ele recebe certos valores de propriedade, como a uid do dono (normalmente o criador do arquivo), o valor de propriedade do grupo (geralmente o grupo a que o dono pertence quando o arquivo � criado), e outros valores de permiss�o de acesso derivados dos valores associados ao valor umask do dono, no momento da cria��o.
�Pode haver muitas situa��es em que se torna necess�rio mudar um ou outro desses valores; o comando chgrp � usado para atribuir uma nova propriedade do grupo. O grupo deve existir, caso contr�rio ser� retornada uma mensagem de erro. O valor de propriedade de grupo n�o se aplica ao superusu�rio. A fim de mudar as propriedades de grupo, o usu�rio deve ter autoriza��o; deve ser membro do grupo ao qual o arquivo d� permiss�es de modifica��o.
�O novo grupo ao qual a propriedade est� sendo associada pode ser qualquer grupo, desde que j� existia (geralmente mantido pelo administrador do sistema). Uma vez reatribu�da a propriedade de grupo, o acesso no n�vel dogrupo fica restrito aos membros do novo grupo. As permiss�es de acesso de grupo anteriormente ajustadas continuam valendo.
�O comando chown � usado para trocar a propriedade de um arquivo, passando-a de um usu�rio para outro.�� A fim de mudar ovalor de propriedade de um arquivo, o usu�rio deve ser autorizado, deve ser dono do arquivo ou ter privil�gios de superusu�rio. Para usu�rios autorizados n�o superusu�rio, uma vez mudada a propriedade do arquivo, eles passam a sujeitar-se �s permiss�es de acesso definidas para o arquivo.
�Se um usu�rio acidentalmente mudar a propriedade para outro usu�rio, ent�o deve pedir ao novo dono para devolv�-la, o que tamb�m poder� ser feito por um superusu�rio (geralmente � feito pelo administrador do sistema).
Servi�o de Transfer�ncia de Arquivos:

�Este servi�o � comumente conhecido como ftp (�file transfer protocol�). Havendo permiss�o, � poss�vel copiar ou enviar arquivos entre equipamentos localizados em diferentes continentes por exemplo.

�ftp � ? conecta o usu�rio ao computador especificado������� (hostname) se ele tiver autoriza��o para tal.

Ex.: $ ftp ADSRJ01 (neste exemplo s� utilizado o hostname)

�O programa ftp sempre pede ao usu�rio sua identifica��o (username e senha) para permitir o acesso � m�quina requisitada. Uma vez dado este acesso � como se voc� estivesse de fato trabalhando naquele computador (portanto � preciso que voc� esteja cadastrado nele).
� Os subcomandos mais utilizados dentro do programa ftp (cujo prompt � ftp> ) s�o:

?
(ascii)
binary
dir
get ��
mget
mput
open
put
pwd
quit ou bye

Crtl+c� lista os subcomandos dispon�veis.
transfere arquivos do tipo ASCII.
transfere arquivos bin�rios.
lista o conte�do do diret�rio remoto especificado.
copia o arquivo remoto espec�fico para o arquivo local..
copia a s�rie de arquivos remotos especificados para o diret�rio corrente no computador local.
copia os arquivos listados para o computador remoto (� preciso ter permiss�o de escrita no diret�rio remoto que vai abrigar este arquivos).
estabelece uma conex�o ftp com o computador especificado.
copia o arquivo local para o arquivo remoto listado.
apresenta o diret�rio corrente no computador remoto.
fecha a conex�o entre os computadores e sai do programa ftp (volta ao �prompt do sistema).
interrompe a transfer�ncia de qualquer arquivo.

�Ex.: Exemplo de uma sess�o de ftp marcelo para ADSRJ01:

$ ftp ADSRJ01
Connected to ADSRJ01.
220 ADSRJ01.ads FTP server (Version 5.60 #1) ready.
Name (ADSRJ01:marcelo):
331 Password required for marcelo.
Password:
230 User marcelo logged in.
ftp> pwd
257 "/w1/USERS/marcelo" is current directory.
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls (0 bytes).
total 1876
-rw-r--r--��� 1 marcelo� desenv������ 822 Jul 06 15:13 .cshrc
-r--r--r--���� 1 marcelo� desenv������� 53 Sep 09� 1994 .cueprofile
-rw-r--r--��� 1 marcelo� desenv������ 371 Jan 26� 1995 .exrc
-r--------���� 1 marcelo� auth���������� 0 Aug 01 16:01 .lastlogin
-rw-r--r--��� 1 marcelo� desenv������ 385 Sep 09� 1994 .login
-rw-r--r--��� 1 marcelo� desenv����� 2166 Jul 19 12:18 .profile
drwxr-xr-x�� 2 marcelo� other�������� 64 Jul 07 12:36 DOS
drwxr-xr-x�� 2 marcelo� other������� 128 Apr 04 23:36 amherj
drwxr-xr-x�� 2 marcelo� other������� 128 Apr 04 23:37 backup
drwxr-xr-x�� 2 marcelo� other�������� 48 Apr 04 23:37 bin
-rw-------�� 1 marcelo� desenv������ 190 Feb 03� 1995 ccrj1
-rw-------�� 1 marcelo� desenv����� 4751 Feb 24 09:50 cshrc
-rwxr-xr-x�� 1 marcelo� desenv����� 6614 Jan 30� 1995 envmer.doc
drwxr-xr-x�� 2 marcelo� other�������� 80 Apr 04 23:37 fax
226 Transfer complete.
1553 bytes received in 0.23 seconds (6.5 Kbytes/s)
ftp> cd fax
250 CWD command successful.
ftp> binary
200 Type set to I.
ftp> get sqlv10.sun
200 PORT command successful.
150 Opening ASCII mode data connection for sqlv10.sun (12079 bytes).
226 Transfer complete.
local: sqlv10.sun remote: sqlv10.sun
12079 bytes received in 0.06 seconds (2e+02 Kbytes/s)
ftp> quit
221 Goodbye.
$

�Quando se realiza uma transfer�ncia de arquivos de um lugar para outro, est�-se aumentando o tr�fego de informa��es na rede de comunica��o (principalemente se o arquivo for grande). Portanto, � recomend�vel que sess�es de ftp, de modo geral, sejam feitas fora do hor�rio comercial, em hor�rios de baixo tr�fego na rede.
�Editor de Texto VI

�O vi � o editor de textos mais utilizado em m�quinas Unix (outros s�o os editores ex e ed). Este editor opera em, basicamente, dois modos, onde em cada um deles existem comandos espec�ficos.
modo texto� ?� o modo utilizado para inserir um texto, o que � poss�vel ap�s a inser��o de subcomandos espec�ficos. Para voltar ao modo comando basta pressionar a tecla ESC.
modo comando ?� o modo em que o editor se encontra logo ap�s ser invocado. Para cancelar um subcomando espec�fico deste modo basta pressionar a tecla ESC.

�O editor pode ser invocado atrav�s dos comandos:
vi
ou
vi

(neste �ltimo caso o nome do arquivo a ser editado dever� ser fornecido no momento em que for salvo).

MODO TEXTO

Subcomandos de inser��o de texto:

i insere texto antes do cursor
r insere texto no in�cio da linha onde se encontra o cursor
a insere texto depois do cursor
A insere texto no fim da linha onde se encontra o cursor
o adiciona linha abaixo da linha corrente
O adiciona linha acima da linha corrente
Ctrl + h apaga �ltimo caracter
Ctrl + w apaga �ltima palavra min�scula
Esc passa para o modo comando

MODO COMANDO:

Subcomandos para Movimenta��o pelo Texto:

Ctrl+f
Ctrl+b
H
M
L
k
j
h
l
w
W
b
B
0 (zero)
^
$
nG
G passa para a tela seguinte.
passa para a tela anterior.
move o cursor para a primeira linha da tela.
move o cursor para o meio da tela.
move o cursor para a �ltima linha da tela.
move o cursor para linha acima.
move cursor para linha abaixo.
move cursor para caracter a esquerda.
move cursor para caracter a direita.
move cursor para in�cio da pr�xima palavra (Ignora pontua��o).
move cursor para in�cio da pr�xima palavra (N�o ignora pontua��o).
move cursor para in�cio da palavra anterior (Ignora pontua��o).
move cursor para in�cio da palavra anterior (N�o ignora pontua��o).
move cursor para in�cio da linha corrente.
move cursor para o primeiro caracter n�o branco da linha.
move cursor para o fim da linha corrente.
move para a linha n.
move para a �ltima linha do arquivo.

Subcomandos para Localiza��o de Texto:

/palavra
?palavra
Ctrl+g move para a pr�xima ocorr�ncia da palavra procurada (para repetir a busca usar n).
move para a ocorr�ncia anterior da palavra(para repetir a busca usar n).
mostra o nome do arquivo corrente, o n�mero da linha corrente e o n�mero total de linhas.

Subcomandos para Altera��o de Texto:

rx
Rtexto
cw
cc
C

u
U

J
s:/velho/novo substitui o caracter sob o cursor pelo especificado x (� opcional indicar o caracter).
substitui o texto corrente pelo texto indicado (opcional indicar o texto adicionado).
substitui a palavra corrente. Pode-se indicar a nova palavra inserida ou n�o.
substitui a linha corrente. Pode-se inserir o novo conte�do da linha automaticamente.
substitui restante da linha corrente. Pode-se inserir o conte�do restante da logo ap�s o comando.
desfaz a �ltima modifica��o.
desfaz todas as modifica��es feitas na linha (se o cursor n�o mudou de linha desde a �ltima mudan�a).
une a linha corrente a pr�xima.
substitui a primeira ocorr�ndcia de �velho� por �novo�.

Subcomandos para Salvar o Texto:

:wq
:w

:w!

:q
:q! salvar as mudan�as feitas no arquivo e sai do editor.
salva o arquivo corrente com o nome especificado. Continua edi��o. N�o � necess�rio fornecer o nome do arquivo se este j� tiver um.
salva (de modo for�ado) o arquivo corrente no arquivo especificado (cujo conte�do original � destru�do!).
sai do editor. Se mudan�as n�o foram salvas � apresentada mensagem de advert�ncia.
sai do editor sem salvar as mudan�as realizadas.

�Praticando

$ pwd
/w2
$ cd /w1/WORKADS
$ pwd
/w1/WORKADS
$ ls -l
total 18
drwxrwxrwx�� 2 produc�� produc������� 32 Apr 05 00:33 arq
drwxrwxrwx�� 3 produc�� produc������� 48 Apr 04 23:47 fax
drwxrwxrwx�� 9 produc�� produc������ 144 Apr 05 00:33 implanta
drwxrwxrwx�� 2 produc�� produc������ 128 Jun 22 16:27 keep
drwxrwxrwx�� 5 produc�� produc������� 80 Apr 05 00:33 libera
drwxrwxrwx�� 5 produc�� produc������� 80 Apr 05 00:33 log
drwxrwxrwx�� 6 produc�� produc������ 112 Jun 20 18:20 receive
drwxrwxrwx�� 6 produc�� produc������ 176 Aug 01 08:53 send
drwxrwxrwx� 11 produc�� produc������ 208 Jun 06 16:02 ship
$ cd teste
$ cp /w2/SCCD/arq/*.dat .

$ ls -l
total 22
-rwxrwxrwx� 1 produc�� produc������ 708 Aug 03 12:38 dtt326.dat
-rwxrwxr-x�� 1 produc�� produc����� 1746 Aug 03 12:38 hln0414.dat
-rwxrwxr-x�� 1 produc�� produc����� 1830 Aug 03 12:38 hln0807.dat
-rwxrwxr-x�� 1 produc�� produc����� 1072 Aug 03 12:38 hln0858.dat
-rw-r-----���� 1 produc�� produc����� 1542 Aug 03 12:38 mv031031.dat
-rwxrwxrwx� 1 produc�� produc���� 1620 Aug 03 12:38 rngd1406.dat
$ rm *.dat
$ ls -l
total�� 0
$ cd ..
$ rmdir teste
$ who
produc���� ttyp0������� Aug 03 12:36
$ finger
Login������ Name�������������� TTY Idle��� When����������� Office
produc�� Master for Producao�� p0������ Thu 12:36
$ lp manual
request id is emilia_unix-3109 (1 file)
$ lpstat
emilia_unix-3109������� marcelo��������� 43253�� Aug� 4 12:20 on emilia_unix
$ cancel emilia_unix-3109
request "emilia_unix-3109" cancelled
$ chmod 755 teste
$ chgrp desenv teste
$ chown produc teste
$ compress teste
$ uncompress teste.Z
$ tar cvf fontes *.cbl.Z
a lf0303v1.cbl.Z 41 tape blocks
a lf0309v1.cbl.Z 49 tape blocks
a lf0310v1.cbl.Z 78 tape blocks
$ ps -ef
���� UID�� PID� PPID� C��� STIME� TTY����� TIME COMMAND
��� root���� 0���� 0� 0� Aug� 4�� ?������� 0:00 sched
��� root���� 1���� 0� 0� Aug� 4�� ?������� 2:25 /etc/init
��� root���� 2���� 0� 0� Aug� 4�� ?������� 0:00 vhand
��� root���� 3���� 0� 0� Aug� 4�� ?������� 0:02 bdflush
marconde� 5937���� 1� 0 11:37:13� 01������ 0:02 -sh
��� root� 6039��� 1� 0 12:03:57� 02��� 0:01 /etc/getty tty02 sc_m
��� root�� 143���� 1� 0� Aug� 4�� ?������� 0:00 /etc/slattach +c ttyy1a 192.9.12 0.3 192.9.120.1 38400
��� root��� 58����� 1� 0� Aug� 4�� ?������� 0:00 /etc/logger /dev/error /usr/adm/messages /usr/adm/hwconfig
��� root�� 111���� 1� 0� Aug� 4�� ?������� 0:07 /etc/cron
��� root�� 135���� 1� 0� Aug� 4�� ?������� 0:00 cpd
��� root�� 117���� 1� 0� Aug� 4�� ?������� 0:04 /usr/lib/lpsched
��� root�� 137���� 1� 0� Aug� 4�� ?������� 0:00 slink
��� root�� 144���� 1� 0� Aug� 4�� ?������� 0:00 /etc/slattach ttyy1b 192.9.50.6 192.9.50.8 2400
��� root�� 145���� 1� 0� Aug� 4�� ?������� 0:00 /etc/slattach ttyy1c 192.9.50.7 192.9.50.19 19200
��� root�� 146���� 1� 0� Aug� 4�� ?������� 0:00 strerr
��� root�� 881���� 1� 0� Aug� 4�� 03����� 0:01 /etc/getty tty03 sc_m
��� root�� 574���� 1� 0� Aug� 4�� ?������� 0:00 pcnfsd
��� mmdf�� 555�� 1� 0� Aug� 4�� ?������� 0:05 /usr/mmdf/bin/deliver -b
��� root�� 573���� 1� 0� Aug� 4�� ?������� 0:01 portmap
��� root�� 581���� 1� 0� Aug� 4�� ?������� 0:02 mountd
��� root�� 611���� 1� 3� Aug� 4�� ?������ 61:42 /usr/sybase/bin/dataserver -d/usr/sybase/master.dat -e/usr/sybase/install/error
��� root�� 618���� 1� 0� Aug� 4�� 07������ 0:00 /etc/getty tty07 sc_m
��� root�� 619���� 1� 0� Aug� 4�� 08������ 0:00 /etc/getty tty08 sc_m
��� root�� 620���� 1� 0� Aug� 4�� 09������ 0:00 /etc/getty tty09 sc_m
��� root�� 621���� 1� 0� Aug� 4�� 10������ 0:01 /etc/getty tty10 sc_m
��� root�� 622���� 1� 0� Aug� 4�� 11������ 0:01 /etc/getty tty11 sc_m
��� root� 6004157� 0 12:02:19� ?������� 0:04 telnetd
��� root� 5778��� 1� 0 11:04:32� 12����� 0:00 /etc/getty tty12 sc_m
lazarini� 60056004� 0 12:02:20� p0��� 0:02 -sh
��� root� 6058157 15 12:09:28� ?������� 0:01 telnetd
��� root�� 627���� 1� 0� Aug� 4�� ?��������� 0:00 /tcb/files/no_luid/sdd
�marcelo� 6059� 6058� 0 12:09:29� p1������ 0:02 -sh
�marcelo� 6080� 6060 42 12:10:08� p1����� 0:00 ps -ef
$ kill -9 6059

$ ps -ef | grep marcelo
�marcelo� 6059� 6058� 0 12:09:29� p1������ 0:02 -sh
�marcelo� 6079� 6059 42 12:10:08� p1������ 0:00 grep marcelo
�marcelo� 6080� 6060 42 12:10:08� p1������ 0:00 ps -ef
$ ls lf0303v1.cbl | cut -f2 -d.
cbl
$ exit - Mostra o diret�rio corrente

- Caminha para o diret�rio /w1/WORKADS
- Verifica o diret�rio corrente
- Lista o conte�do do diret�rio corrente
- Caminha para o diret�rio teste
copia todos os arquivos *.dat do diret�rio /w2/SCCD/arq para diret�rio corrente
- Lista o conte�do do diret�rio corrente
- Remove todos os arquivos *.dat do diret�rio corrente
- Lista o conte�do do diret�rio corrente
- Retorna ao diret�rio pai
- Remove o diret�rio teste
- Identifica os usu�rios conectados
- Identifica com mais detalhes os usu�rios conectados
- Envia o arquivo manual para a fila de impress�o (o processo da impress�o � de n� 3109)
- Mostra o estado dos processos na fila de impress�o
- Cancela o processo emilia_unix-3109 da fila de impress�o
- Muda a permiss�o do arquivo teste para 775
- Muda o grupo do arquivo teste para desenv
- Muda o dono do arquivo teste para produc
- Comprime o arquivo teste que passa a ser teste.Z
- Descomprime o arquivo teste.Z
- Compacta todos os arquivos com extens�o �cbl.Z� no arquivo fontes
- Fornece todos os processos ativos na m�quina
- Mata o processo 6059, eliminando a sess�o do usu�rio marcelo
- Mostra as linhas que cont�m a palavra marcelo atrav�s do resultado do comando ps -ef
- Recorta o segundo campo delimitado pelo ponto
- Desconecta-se da sess�o

�Comandos do Unix

Sintaxe de Comando Descri��o
�
at� time� [data]� [incremento] Enfileira comandos para a execu��o em um momento posterior.
Ex.: at� 5� pm� Friday� next� week� <� backup.sh
ar� op��o� nome�� arquivos Agrupa arquivos em um �nico arquivo de acervamento (semelhante ao comando tar).
Ex.:� ar� -rv� fontes� *.c� (compacta os arquivos *.c no arquivo fontes)
banner�� caracter(es) Converte caracteres normais em garrafais para a sa�da padr�o. Ex.: banner� BOM DIA
cancel� ID number Cancela a impress�o de processo ID number. Este � dado pelo comando lpstat -p file. Ex.: cancel� emilia-195
cat� file1 file2 ... Concatena o file1, file2 ... e mostra na tela. Ex.: cat� .profile
cd� pathname Muda o diret�rio de trabalho para pathname(caminho do diret�rio desejado).
Ex.: cd /w1/WORKADS
cd Muda para o diret�rio home(inicial).
chgrp� grupo� file1 ... file n Muda os arquivos file1 at� filen para um determinado grupo.
Ex.: chgrp� produc� .profile
chmod� n�mero, + -, rwx file ou diret�rio Muda a permiss�o de um arquivo ou diret�rio.(4-leitura, 2-grava��o e 1-execu��o)� Ex.: chmod� 640� .profile
chown� proprit�rio� file1 ... filen Muda o propriet�rio dos arquivos file1 ... filen.� Ex.: chown� produc� .login
clear Limpa a tela.
compress� file1 Comprime o file1, gerando um file1.Z. Ex.: compress lf0303v1.cbl
cp� file1 file2 Copia file1 para file2 (copia por cima do file2).
Ex.: cp� /w1/WORKADS/teste� /w2/USERS
cut� [-d �delimitador�]
������ [-f(numero_do_campo)] Extrai informa��es selecionadas de um arquivo de entrada.
Ex.: cat� /etc/passwd� |� cut� -d�:�� -f1,5
date� Mostra a data e hora corrente.
df Informa o n�mero de blocos livres em disco.
dircmp� diret�rio1� diret�rio2 Compara diret�rios entre si.
du Fornece um resumo da utiliza��o do disco.
echo� message Mostra message na tela. Ex.:� echo� Estou aqui
env� vari�vel=valor Classifica vari�vel de ambiente.
exit Sai do sistema.
find pathname� -name� file1� -print Mostra a localiza��o do file1 procurando a partir do pathname.
Ex.: find /w1/USERS� -name �marcelo�� -print
finger� [op��es] Obtem informa��es detalhadas dos usu�rios conectados.
ftp� nome_da_m�quina Abre uma sess�o para transfer�ncia de arquivos. (Ver lista de comandos do ftp).
Ex.: ftp -i� ADSRJ02
grep� op��es� express�o� file1 Mostra as linhas em que ocorre a express�o dentro do file1. Ex.: grep -i �echo� .profile
head� -n�mero� arquivo Exibe as linhas iniciais(n�mero) do arquivo na sa�da padr�o.� Ex. head� -20� .login
id Exibe informa��es sobre as ID�s de usu�rio e grupo do usu�rio.
kill� -nu_sinal� PID Encerra processos ativos no sistema Unix, onde nu_sinal � o n�mero do sinal e PID � o n�mero do processo a ser eliminado. Ex.:� kill� -9� 135
logname Fornece o nome da conta do usu�rio.
lp� file{1...n} Imprime do file1 at� o file n.� Ex.:� lp .login
ls Lista o conte�do do diret�rio corrente.
ls -a Lista todo o conte�do do diret�rio corrente.
ls -l Lista o conte�do do diret�rio corrente, indicando tamanho e permiss�es.
mail Envia correspond�ncia aos usu�rios ou as l�. No caso de envio, finaliza-se com� .
man� comando Mostra na tela a pagina do manual referente ao comando.
mesg� [op��o] Permite ou impede a recep��o de mensagens. Ex.: mesg� n
mkdir� diret�rionovo Cria um diret�rionovo. Ex.: mkdir� ADS
more� file1 Mostra o conte�do de file1.( q - quit). Ex.: more� .profile
mv� file1 file2 Move file1 para file2.� Ex.:� mv� .login� .login.old
nohup� comando� argumento Executa um comando imune � desconex�o e aos sinais de quit.
pack�� arquivo(s) Comprime arquivos, similar ao comando compress. Ex.:� pack� *.c
passwd Cria ou muda uma password para o usu�rio.
pcat�� arquivo.z Exibe o conte�do do arquivo coprimido com o comando pack na sa�da padr�o.
pr� arquivo Quebra o arquivo em p�ginas, onde a sa�da � formatada com um cabe�alho em cada p�gina, com o nome do arquivo a data e a hora, e o n�mero de p�gina.
ps� [ -op��o] Reporta a situ��o de processos ativos no sistemas
pwd Mostra o diret�rio corrente.
rm� file1 Remove o file1.
rmdir� diret�rio Remove o diret�rio ( este diret�rio deve estar sem arquivos).
rlogin� nome_da_m�quina Abre uma conex�o com nome_da_m�quina. Ex.: rlogin� ADSSP01
sleep�� segundos Suspende a execu��o por um determinado de tempo.
sort� file1 Ordena o file1 e mostra na tela. OBS: n�o grava a altera��o do file1.
su� [ - ]� usu�rio Abre uma nova sess�o com a conta do usu�rio mencionado. A op��o �-� faz herdar o ambiente do usu�rio desejado.� Ex.:� su� -� root
tail� [op��o]� file1 Mostra na tela as 10 �ltimas linhas do file1. Este valor pode ser ajustado com as op��es +n�mero(a partir do in�cio) -n�mero(a partir do fim).� Ex.: tail� +15� .login
tar {cvf, xvf e tvf} nome� file{1...n} Compacta file1 at� file n� dentro de um arquivo chamado nome.
Ex.: tar� cvf� arquivos.tar� .login� .profile� (cria arquivos.tar compactado)
������� tar� xvf /dev/rst0� *�� (extrai todos os arq. contidos em fita streamer)
������� tar� tvf /dev/rst0� *�� (verifica o conte�do em fita streamer)
tee� Este comando encaminha a entrada para o terminal e para o(s) arquivo(s) nomeado(s).
Ex.: ls | tee listagem | sort
telnet� nome_da_m�quina Abre uma conex�o com nome_da_m�quina. Ex.: telnet� ADSRJ01
tty Exibe o terminal que est� sendo usado.
uncompress� arquivo(s) Descomprime arquivos (*.Z).� Ex.:� uncompress� *.Z
unpack�� arquivo(s) Descomprime arquivos (*.z).� Ex.:� unpack� *.z
wall�� Envia mensagem para todos os usu�rios logados. Para finalizar CTRL+D.
wc� file1 Realiza a contagem das palavras do arquivo file1. Ex.:� wc� .profile
who Mostra os usu�rios correntes no sistema.
write� usu�rio mensagem Envia mensagem para o usu�rio. Ex.: write� produc� fim de implanta��o
zcat� arquivo.Z Exibe na tela o conte�do do arquivo comprimido pelo comando compress.

Caracteres Especiais
file�� >�� file1 Redireciona sa�da do comando especificado.
file�� <�� file1 Redireciona a entrada para o comando especificado
file�� >>��� file1 Redireciona sa�da do comando para o fim do file1.
comando1�� |�� comando2 Utiliza a sa�da do comando1 como entrada do comando2.
$vari�vel Fornece o conte�do da vari�vel de ambiente.
\metacaracter Anula a fun��o do metacaracter.
* Equivale a qualquer caracter.
comando� & Faz com que um processo seja executado em background.
�

�Bibliografia:

- Unix para Usu�rios e Programadores do MS-DOS
�Steven Mikes� -� Editora Campus

- Unix System V Manual do Usu�rio e Guia do Programador
�Mitchell Waite, Don Martin e Stephen Prata

- Apostila de Administra��o do SunOS I
�Medidata

- Guia de Refer�ncia do Sistema Operacional Unix
�PUC

- Shells User�s Guide
�Hewlett Packard
�

Hosted by www.Geocities.ws


1