You are on page 1of 23

APOSTILA DE SISTEMAS OPERACIONAIS

UNIX

COMANDOS

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

ii

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

iii

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

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

Arquitetura do sistema UNIX

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

2.1 - Caractersticas Gerais


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

2.2 - Acesso ao Sistema


Para acessar o sistema, o usurio deve ter sido previamente cadastrado pelo administrador do sistema, onde receber um nome de usurio (username) e uma senha (password). Ao acessar o sistema o usurio ser solicitado a digitar seu username no campo login, e a senha de acesso no campo password. Quando o usurio digita a senha ela no ecoada na tela, por questes de segurana. Uma vez identificado pelo sistema, o usurio recebe a linha de comando (prompt) onde poder executar seus comandos. A partir deste momento o usurio passa a interagir com o programa Shell. As respostas geradas pela execuo dos comandos sero mostradas na tela. Para encerrar a sesso digite o comando exit na linha de comando ou as teclas Ctrl-D. Ateno: Quando a conexo for feita pelo administrador do sistema (username = root) o prompt a ser exibido o #. O sistema UNIX sensvel a letras maisculas e minsculas tratando-as como letras diferentes. Por questo de padronizao o nome de usurio e senha sero sempre minsculas. Quando a senha for informada pela primeira vez, o sistema pede para entrar novamente para confirmao. O sistema retorna ao prompt de login e ento a sequncia de login dever ser completada com a nova senha.

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

Usurio solicita comando

Shell executa

Resultado do comando

Interao usurio-Shell

2.4 - Organizao de Usurios no UNIX


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

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

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

III - SISTEMA DE ARQUIVOS DO UNIX


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

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

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

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

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

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

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

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

1 1 2

ricardo ricardo ricardo


proprietrio

computacao computacao computacao

37 127 1024

Ago Ago Ago

15 15 15

12:10 12:20 12:34

readme.txt .profile aula


nome

links

grupo

tamanho data e hora

Tipo de Arquivo Permisso Links Proprietrio Grupo Tamanho Data Nome -

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

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

4.2 Tipos de Arquivos


Os tipos de arquivos no sistema UNIX so identificados atravs do primeiro caracter de sada do comando ls -l. Os arquivos geralmente so tratados de duas formas: Comuns Diretrios Especiais Link arquivos de dados ou programas; arquivo que contm nome de outros arquivos, juntamente com ponteiros para seus i-nodes. um tipo de arquivo utilizado por dispositivo de caractere ou de bloco; um tipo de arquivo que aponta para outro arquivo.

Smbolo d c b l

Tipo do Arquivo Comun Diretrio Especial caracter Especial bloco Link

Tipos de Arquivos

IV COMANDOS: NOTAO E DOCUMENTAO


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

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

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

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

Cada item

V - REDIRECIONAMENTO DE E/S E PIPELINES


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

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

Entrada e Sadas Padres

10

2 - COMANDOS DE REDIRECIONAMENTO DE E/S


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

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


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

2.2 - REDIRECIONANDO A ENTRADA PADRO ( < )


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

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


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

ls: arquivo_nao_existente: No such file or directory


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

ls: arquivo_nao_existente: No such file or directory


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

ls: arquivo_nao_existente: No such file or directory


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

ls: arquivo_nao_existente: No such file or directory ls: arquivo_nao_existente2: No such file or directory
11

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

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

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

12

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

1.1 - CLEAR
Sintaxe: Descrio: Exemplo: clear o comando clear limpa a tela atualmente ativa $ clear

1.2 - CAL
Sintaxe: Descrio: Exemplo: cal [ms [ano] ] cal apresenta o calendrio do ano e ms especificados. Na falta dos argumentos, so assumidos o ms e o ano corrente. $ cal 6 1997
June 1997 Sun 1 8 15 22 29 Mon 2 9 16 23 30 Tue 3 10 17 24 Wed 4 11 18 25 Thu 5 12 19 26 Fri 6 13 20 27 Sat 7 14 21 28

1.3 - DATE
Sintaxe: Descrio: Exemplo: date sem nenhum argumento, so apresentadas a hora e a data corrente. somente o administrador do sistema pode alterar a data. $ date Tue Jun 17 17:01:02 EST 1997

1.4 - PASSWD
Sintaxe: Descrio: Exemplo: passwd passwd altera a senha de um usurio. O superusurio (root) pode usar passwd para alterar a senha de qualquer usurio. $ passwd

13

2 - COMANDOS DE MANIPULAO DE DIRETRIOS


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

2.1 - PWD
Sintaxe: Descrio: Exemplo: pwd pesquisa a rvore de diretrio, em direo a raiz para informar o path corrente. $ cd /home/antonio $ pwd

/home/antonio

2.2 - LS
Sintaxe: Descrio: Opes: Exemplos: ls [ -l R ] [diretrio] o comando ls usado para listar arquivos. Na ausncia do parmetro arquivo representando o nome de um arquivo ou diretrio, o comando ls lista o diretrio corrente. -R lista a rvore de diretrios recursivamente; -l listagem com formato longo $ ls -l

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

1 antonio 3 antonio

users users

32 512

Jun 17 22:40 arquivo.txt Jun 17 21:05 teste/

2.3 - CD
Sintaxe: Descrio: cd [diretrio] diretrio torna-se o novo diretrio corrente. Na execuo do comando o sistema verifica a permisso de acesso ao diretrio especificado. Sem argumento, o comando cd retorna ao diretrio home do usurio. $ cd /home/antonio $ cd .. $ cd ./../home/ana

Exemplo:

2.4 - MKDIR
Sintaxe: Descrio: Exemplos: mkdir nome_diretrio cria um diretrio na rvore de diretrios. $ mkdir ../textos

2.5 - RMDIR
Sintaxe: Descrio: Exemplos: rmdir nome_diretorio remove diretrios (somente se estes estiverem vazios). $ rmdir /usr/ana/textos $ rmdir arquivo.txt

14

3 - COMANDOS DE MANIPULAO DE ARQUIVOS


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

3.1 - CAT
Sintaxe: Descrio: Exemplos: cat arquivo [arquivo ... ] o comando cat concatena de lista contedo de arquivos. $ cat arq.dat Linha 1 Linha 2

3.2 - MORE
Sintaxe: Descrio: Exemplo: more [arquivo ... ] more o paginador de arquivos padres para UNIX. Aps cada tela cheia, o comando apresenta uma mensagem solicitando ao usurio para continuar a apresentao do arquivo. $ more arq.dat Linha 1 Linha 2

3.3 - TAIL
Sintaxe: Descrio: tail - D opo [arquivo] onde: D=deslocamento o comando tail escreve o contedo do arquivo especificado para a sada padro, iniciando no ponto (deslocamento) definido pelo usurio. Se o deslocamento precedido do sinal - significa que o ponto de referncia para o deslocamento o final do arquivo. -b -c -l Exemplo: o arquivo interpretado como blocos de 512-bytes; o arquivo interpretado como uma seqncia de bytes; o arquivo interpretado como linhas, que devem terminar com <CR>.

Opes:

$ tail -8c arq.dat Linha 2

3.4 - CP
Sintaxe: Descrio: Exemplos: cp arq-origem arq-destino o comando cp copia o contedo de um arquivo/diretrio para outro. $ cp arq001 /usr/src/bkp

3.5 - MV
Sintaxe: Descrio: Exemplos: mv arq-origem arq-destino o comando mv move arquivos e diretrios pelo sistema de arquivos. Permite tambm renomear um arquivo ou diretrio, caso o nome destino seja igual da origem. $ mv /home/antonio /home/bkp $ mv teste.txt teste1.txt
15

3.6 - RM
Sintaxe: Descrio: rm [-r ] arquivo o comando rm usado para remover arquivos e diretrios (inclusive aqueles no vazios). Para apagar um arquivo ou diretrio, o usurio no precisa ter direitos de leitura ou escrita sobre ele, mas precisa ter direito de escrita no diretrio onde ele se encontra. -r a opo para apagar um diretrio, removendo todos arquivos e sub-diretrios; $ rm teste.txt $ rm -r teste

Opes: Exemplos:

3.7 - FIND
Sintaxe: Descrio: Expresses: Exemplos: find [caminho ... ] [expresso ] o comando find procura arquivos recursivamente em cada diretrio especificado em caminho, confrontando-os com a expresso booleana expresso. -name arquivo -print verdadeiro se arquivo confronta com o nome do arquivo corrente; sempre verdadeiro, causa a impresso do path corrente.

$ find -name arq -print

./arq

16

VII - OUTROS COMANDOS


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

1.1 - WC
Sinopse: Descrio: wc [ -lwc ] [arquivo ... ] o comando wc conta o nmero de linhas, palavras e caracteres de um arquivo especificado como parmetro. Se nenhum nome de arquivo for especificado, o arquivo de entrada do comando wc ser a entrada padro. Caso nenhuma opo seja definida, o comando imprime o nmero de linhas, palavras e caracteres. -l -w -c conta linhas; conta palavras (words); conta caracteres. 16

Opes:

Exemplos:

$ wc arq.dat 2 4 $ wc -c arq.dat 16

1.2 - GREP
Sinopse: Descrio: Expresso: Exemplos: grep expresso [arquivos de entrada] o comando grep procura por um padro especificado em arquivos, escrevendo a linha do arquivo que possui o padro equivalente. expresses podem ser cadeias de caracteres ou expresses regulares, que, embora tambm sejam cadeias de caracteres. $ cat > arquivo.dat Ana Antonio Maria Marco ^Z $ grep an arquivo.dat Ana Antonio

17

VIII - PERMISSES E ACESSO A ARQUIVOS


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

Nome usurio (user/owner) grupo (group)

Descrio Usurio que criou o arquivo Membros de grupos. Grupos so usurios que concordam em partilhar certos arquivos e diretrios e so geralmente formados no decorrer de um projeto ou por sees/departamentos de uma empresa. Outros usurios do sistema (o usurio e os membros do grupo esto fora desse conjunto de usurios. Propriedade de Arquivos

outros (others)

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

2 - TIPOS DE ACESSOS
O sistema de arquivos do UNIX permite que se defina para cada arquivo ou diretrio, trs tipos bsicos de controle de acesso. Tipo de Acesso r w x Aplicado em Arquivos permite ler o contedo do arquivo permite alterar o contedo do arquivo permite executar um arquivo (programa) Aplicado em Diretrios permite listar o contedo do diretrio permite alterar o contedo do diretrio permite pesquisar o diretrio

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

18

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

- rwx rwx rwx


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

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

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

-rw- r-- r--rwx r-x r-dr w x r - x r - -

1 1 2

ricardo ricardo ricardo

computacao computacao computacao

37 127 1024

Ago Ago Ago

15 15 15

12:10 12:20 12:34

readme.txt .profile aula

Usurio

Grupo

Outros

proprietrio

grupo

19

4 - COMANDOS DE MANIPULAO DE PERMISSO DE ACESSO


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

4.1 - CHMOD
Sintaxe: Descrio: chmod nova-permisso arquivo Altera a permisso de acesso de um arquivo. nova-permisso: 3 posies numricas indicando o dono, o grupo e os outros respectivamente Exemplos: $ ls -l

total 2 -rw-r--r-drwx-----$ chmod 000 * $ ls -l

1 antonio 3 antonio

users users

32 512

Jun 17 22:40 arquivo.txt Jun 17 21:05 teste/

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

1 antonio 3 antonio

users users

32 512

Jun 17 22:40 arquivo.txt Jun 17 21:05 teste/

$ chmod 421 teste $ ls -l

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

1 antonio 3 antonio

users users

32 512

Jun 17 22:40 arquivo.txt Jun 17 21:05 teste/

$ chmod 221 teste $ ls -l

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

1 antonio 3 antonio

users users

32 512

Jun 17 22:40 arquivo.txt Jun 17 21:05 teste/

4.2 - CHOWN
Sintaxe: Descrio: chown novo_dono arquivo o comando chown muda o dono de um arquivo para o novo_dono especificado. O novo_dono pode ser um UID vlido ou um nome de login vlido. Somente o superusurio (root) pode usar o comando chown $ chown antonio /home

Exemplos:

4.3 - CHGRP
Sintaxe: Descrio: Exemplos: chgrp novo_grupo arquivo o comando chgrp muda o grupo associado a um determinado arquivo. $ chown users arquivo.txt

20

You might also like