Вы находитесь на странице: 1из 14

Volume

1
1 CICLO EM INFORMTICA

Arquitecturas de Computadores e Sistemas Operativos

Guia das Aulas Prticas

ARQUITECTURA DE COMPUTADORES E SISTEMAS OPERATIVOS

Guia das Aulas Prticas

Universidade Portucalense Departamento de Inovao, Cincia e Tecnologia Rua Dr. Antnio Bernardino de Almeida, 514 Telefone +351 22 5572000

Aula

1
Comandos bsicos da utilizao do Linux

esta aula, sero discutidos os aspectos principais de utilizao do sistema operativo, tais como, a entrada no sistema, o sistema de ficheiros, alguns comandos bsicos, os formatos dos comandos, caminhos de acesso, regras de nomes de ficheiros e directrios, metacaracteres, permisses e o manual de referencia dos comandos do sistema operativo.

Entrada no sistema
A comunidade de utilizadores de um sistema operativo (SO) Unix necessita de ter um nome de utilizador (login name) sempre que acede ao sistema. Este nome pode ser comparado com uma conta na qual o utilizador pode armazenar e manipular a sua informao com um carcter de exclusividade. Estas contas podem ser apenas de um utilizador, de um grupo ou at pertencentes a todos os utilizadores do sistema. Uma das facilidades concedidas devido partilha de uma conta em grupo essencialmente o desenvolvimento de aplicaes. Para alm deste nome especial, o utilizador necessita de possuir uma palavra chave (password) que lhe possibilitar aceder sua rea restritivamente. A Figura 1 ilustra o procedimento a realizar pelo utilizador no acesso ao sistema.

login: identificao_do_utilizador Password: palavra_chave (invisvel) Figura 1 - Incio de uma sesso de trabalho.

Sistema de ficheiros
O sistema de ficheiros do SO tem uma organizao hierrquica, podendo at ser designada como uma estrutura em rvore. Nesta organizao hierrquica existe um tipo de ficheiro especial designado por directrio. Este tipo de ficheiro pode conter uma lista de nomes de ficheiros e informao que indica o lugar onde estes podem ser encontrados. Na Figura 2 apresentado um exemplo dum sistema de ficheiros tpico do SO Unix.

bin ()

dev

usr

etc

tmp ()

users

include ()

lib ()

games ()

bin () prog ()

maria

joao

texto ()

temp ()

Figura 2 Organizao tpica de um sistema de ficheiros

Alguns comandos bsicos


A apresentao que se segue inclui apenas alguns comandos de uso simples, mas bastante teis para o normal funcionamento de uma sesso de trabalho. Estes comandos permitem ao utilizador saber, por exemplo, em qualquer instante os utilizadores que esto ligados ao sistema ou o contedo dos seus directrios, etc. A Figura 3 mostra um conjunto de comandos bsico para a manipulao do sistema.

$ date Wed Sep 25 $ who root maria i2678 $ who am I maria $ pwd /users/maria

13:13:17

MET

DST

1996

console Sep 13 21:20 pty/ttys0 Sep 24 18:00 pty/ttys5 Sep 25 09:40 pty/ttys0 Sep 24 18:00

$ ls prog texto $ ls -a .profile $ ls -l


drw-r--r-prog drw-r--r-texto drw-r--r-temp

temp

1 maria 1 maria 1 maria

other 25 SET 20 14:00 other 25 SET 20 14:00 other 25 SET 20 14:00

$ ls -R
Lista toda a informao recursivamente do directrio corrente e de todos os subdirectrios

$ ls -l/bin/who
-rwxr-xr-x who 1 root other 3348 MAR 8 10:20

$ passwd Changing password for maria Old password: New password: Re-enter new password: Figura 03 Comandos bsicos

Formato dos comando em Unix


Aps o estudo dos comandos da Figura 3 poder-se- verificar que existem comandos com apenas uma palavra (date, who, etc.) e outros com mais do que uma palavra (who am I, por exemplo). Os comandos que tm mais do que uma palavra so definidos como comandos a primeira palavra e as restantes, separadas por espaos, por argumentos desse comando. Contudo, se um determinado argumento constitudo por mais do que uma palavra, ento esse conjunto deve estar entre aspas () ou entre apstrofos (). Para alm destas facilidades o sistema permite que o utilizador escreva mais do que um comando na linha de comandos atravs da utilizao de um ponto e virgula (;) entre cada comando.

Caminhos de acesso - Relativos e Absolutos

Raiz () () ()

/ () () tmp () maria texto Pascal p.pas p1.pas p2.pas temp () Prog1 () users joao textos () Tmp1 ()

Home Directory (~) ou $HOME


Directrio pai (..) Directrio corrente (.) prog C a.c a11.c b2.c

$ ls . a.c a11.c b2.c $ ls .. C Pascal $ ls ../.. prog texto temp $ ls ../../.. maria joao $ ls ~ prog texto temp $ ls / bin dev usr etc tmp $ ls /users/joao Prog1 textos Tmp1 $ ls -l c/a.c -rwxr-xx
Permisses (atributos)

users

maria

alunos

9129

MAR 3 18:30

a.c

N de links

Dono

Grupo

Tamanho do Data e hora ficheiro da ltima modificao

Nome do ficheiro

Figura 4 - Raiz, Pai e corrente.

Considerar a rvore de directrios da Figura 4 e assuma a etiqueta Home Directory (~) ou $HOME como indicao do directrio de conexo e o (.) o directrio corrente (/users/maria/prog/C). A movimentao dentro do sistema de ficheiros pode ser realizado de duas formas: Comear na posio corrente e indicar o caminho correspondente at ao destino; designa-se por caminho relativo porque relativo ao directrio corrente. Comear a partir da raiz e especificar o caminho at ao destino; designa-se por caminho absoluto.

Regras para os nomes dos ficheiros e directrios


Os nomes dos ficheiros e directrios podem ter at no mximo 40 caracteres e podem ser, teoricamente, de qualquer tipo. Contudo, alguns caracteres ASCII podem ter um significado especial para o interpretador de comandos (Shell) utilizado, o que pode trazer alguns problemas; portanto caracteres deste tipo devem ser evitados. A Shell possui certos caracteres que tm significado especial tal que possvel fazer referncia aos ficheiros individualmente ou em grupo. possvel, por exemplo, listar todos os ficheiros comeados pela letra a, todos os ficheiros com um digito no incio do seu nome, etc, sendo este tipo de caracteres designado por metacaracteres. Exemplos de nomes possveis: abc 123 34abc25 Hoje_de_Tarde erros ficheiro-antigo

Exemplos de nomes de ficheiros invlidos: >linha 3|www ?123 *erro abc?123

A escolha do nome para os ficheiros deve obedecer a uma regra geral para evitar qualquer significado ambguo por parte do Shell. Os nomes dos ficheiros e dos directrios podem ser constitudos por letras, dgitos, pelo caracter underscore (_) e o ponto (.) em qualquer uma das posies. O ponto pode ser usado sem problemas no meio dos nomes, mas se for usado no incio o ficheiro passar a ser considerado escondido (.profile, por exemplo). Para alm destas regras existe ainda a distino entre letras

maisculas e minsculas, uma vez que, em comparao com o MSDOS, em Unix o significado das letras maisculas e minsculas diferente (por exemplo, Abc e abc so nomes distintos).

Metacaracteres

Os metacaracteres so uma facilidade introduzida pelo Shell que permite manipular ficheiros e directrios individualmente ou em grupo. A utilizao destes caracteres especiais permite ao utilizador fazer referncias a nomes de ficheiros e directrios, tais como, todos os ficheiros que tm a letra c seguida por um digito, ficheiros apenas com 4 letras, etc. Os principais metacaracteres utilizados na Shell so: ? (ponto de interrogao) Representa uma e uma s ocorrncia na posio onde se encontra * (asterisco) Representa uma cadeia arbitrria de caracteres; [ ] (parntesis rectos) Inclui uma lista de caracteres onde o significado qualquer caracter includo nos parntesis. A utilizao do caracter hyphen (-) dentro dos parntesis indica um intervalo de varincia, por exemplo, [a-z] significa todas as letras do alfabeto. O ponto de admirao (!) dentro dos parntesis inverte o significado. \ (backslash) retira o significado do caracter que se encontra na sua frente.

A Figura 5 apresenta um conjunto de exemplos, o mais abrangente possvel no sentido de mostrar a potencialidade da utilizao dos metacaracteres; no entanto neste exemplo apenas utilizado o comando ls, mas possvel usar estas combinaes com qualquer outro.

$ ls c? c1 c2 c3 c4 c5 $ ls ? a $ ls c?? c10 c11 c12 c13 $ ls c* c1 c2 c3 c4 c5 c10 c11 c12 c13 $ ls fig1-[13] fig1-1 fig1-3 $ ls cap[123]*

c6

c7

c8

c9

c6

c7

c8

c9

cap1 cap10 cap100 cap11 cap12 cap2 cap3 $ ls cap[3-7] cap3 cap4 cap7 $ls f[!1-7]* f8-1 f8-2 $ echo \* imprime o caracter * Figura 5 - Exemplo prtico sobre metacaracteres.

Permisses

O SO Unix disponbiliza aos seus utilizadores a possibilidade de atribuir permisses a ficheiros e directrios, podendo estas indicar quem os pode manipular. Todos os ficheiros e directrios criados no SO tm um dono, usualmente o utilizador que o cria. O seu dono pode atribuir vrios tipos de permisses, podendo permitir ou proibir o seu acesso. Para cada ficheiro ou directrio, existem trs classes de utilizadores: Dono: O dono o utilizador que inicialmente cria o ficheiro. Este pode dar a permisso a quem quiser atravs do comando chown (para alm do dono, s o superuser (root) pode usar este comando); Grupo: Vrios utilizadores agrupados para poderem partilhar ficheiros e assim terem a possibilidade de desenvolvimento em grupo; Outros: Todos os utilizadores do SO tm acesso aos ficheiros e directrios.

Os ficheiros ou directrios tm trs tipos de permisses que descrevem as vrias operaes que podem ser realizadas. O significado atribudo a cada uma : Read - permisso de leitura; Write - permisso de escrita; Execute - permisso de execuo.

Alterao de permisses

O comando chmod altera o modo de um ficheiro ou directrio. Este comando aceita a especificao de duas formas diferentes: Valor absoluto ou numerao octal; Modo simblico.

O formato do comando chmod o seguinte: chmod modo ficheiro A Figura 7 ilustra de forma clara como os ficheiros e directrios tm as suas permisses, alm de exemplificar como estas so atribudas.

drw-r--r--rwxr-xr-x

1 maria other 25 SET 20 14:00 prog 1 maria other 25 SET 20 14:00 abc

ficheiro

rwx
Dono Directrio

rwx
Grupo

rwx
Outros

r - leitura (read) w - escrita (write) x - execuo (execute)

Exemplos de permisses
rwx 111 7 rwx 111 7 r-x 101 5 rwx 111 7 r-x 101 5 rwx 111 7 Binrio Octal Binrio Octal

$ chmod 644 prog $ chmod 755 abc Figura 6 - Permisses.

Manual de referncia do HP-UX

A documentao do SO bastante extensa, por essa razo dividida em oito seces. Cada seco representa uma categoria diferente do sistema. As seces tradicionais dos SOs Unix so:

1. 2. 3. 4. 5. 6. 7. 8.

Comandos; Chamadas ao sistema; Subrotinas; Ficheiros especiais; Formatos de ficheiros e convenes; Jogos; Pacotes de macros e linguagens; Comandos de manuteno e procedimentos.

Um exemplo de uma pgina tpica do manual interactivo do SO Unix mostrado na Figura 8, na qual apresentado o caso do comando cat. Para utilizar o manual de referncia do HP-UX o utilizador deve recorrer ao comando man comando.
$ man cat cat(1) NAME cat - concatenate, copy, and print files SYNOPSIS cat [-su] [-v [-t] [-e]] file ... DESCRIPTION cat reads each file in sequence and writes it on the standard output. Thus: cat file output device; cat file1 file2 >file3 concatenates file1 and prints file on the default standard cat(1)

file2, and places the result in file3. If - is appears as a file argument, cat uses standard input. To combine standard input and other files, use a mixture of - and file arguments.

Options cat recognizes the following options:

10

-s Silent option. cat suppresses error messages about non- existent files, identical input and output, and write errors. Normally, input and output files cannot have identical names unless the file is a special file. -u Do not buffer output (handle character-byharacter). Normally, output is buffered.

(...) EXAMPLES To create a zero-length file, use any of the following: cat /dev/null >file cp /dev/null file touch file SEE ALSO cp(1), pg(1), pr(1), rmnl(1), ssp(1). WARNINGS Command formats such as overwrites the data in file1 before the concatenation begins, thus destroying the file. Therefore, be careful when using Shell special characters. STANDARDS CONFORMANCE cat: SVID2, XPG2, XPG3, POSIX.2 Hewlett-Packard Company Release 9.0: August 1992 - 2 HP-UX

Figura 7 - Exemplo de uma pgina do manual de referncia do HP-UX.

Exerccios
1. 2. 3. 4. 5. 6. Entrar no sistema com o seu login. Verificar quem se encontra ligado ao sistema. Verificar a data do sistema. Verificar qual a sua posio corrente. Listar o contedo do directrio corrente. Listar o contedo do directrio corrente mostrando todos os ficheiros e directrios. Na listagem deve constar a informao detalhada dos ficheiros e directrios. Alterar a palavra chave. Listar o contedo do directrio corrente, incluindo o contedo de todas as suas subdirectorias.

7. 8.

11

9. 10. 11.

Listar o contedo do directrio /etc de forma a que a informao aparea o mais detalhadamente possvel. Listar o contedo do directrio /bin e /usr na mesma linha de comandos. A resoluo dos exerccios apresentados neste mdulo deve ter em considerao a rvore de directrios da figura seguinte. O directrio corrente do utilizador ser aquele que est indicado por uma seta.

()

()

()

()

()

tmp

users

I0001 c docum

()

I9999

include

source

a) b) c) d) e) f) g) h)

Listar o contedo do seu Home Directory. Listar o contedo do directrio /etc utilizando o caminho absoluto e o caminho relativo. Listar todos os ficheiros do directrio /usr/mail, cujo nome comea por i2 e o terceiro caracter o 4 ou o 5. Executar e interpretar o comando: ls $HOME/c/include Executar e interpretar /users/alunos/so/i[1-3][1-5]* o comando: ls

Listar os ficheiros e subdirectrios do directrio /etc, cujo nome no comea por a, b, c, f, h ou p. Quais os nomes representados por: i[2-45]. Listar todos os ficheiros do directrio docum, cujo nome comea por a, b, c ou d e tm um digito na terceira posio. Listar todos os ficheiros do directrio c/source, cujo nome comea com um digito ou uma letra e no termine com um digito. Listar todos os ficheiros do directrio c/include, cujo nome comea por um digito, tem o caracter (-) na quarta posio e no contem nenhum digito na primeira posio da extenso.

i)

j)

12. 13.

Analise o resultado da seguinte instruo: man man Tendo em conta a rvore de directrios apresentada na Figura 6, analisar as permisses do seguinte ficheiro

12

-rwxr-x--x

1 maria alunos 9129 MAR 3 18:30

a.c

14.

Suponha que lhe dado o ficheiro aulas com as seguintes permisses: -rwxrr-a) Execute um comando que permita que todos os utilizadores tenham permisso para executar o referido ficheiro. Execute um comando que permita que os utilizadores do seu grupo possam escrever e executar o ficheiro Imagine que a permisso concedida na alnea anterior trouxe alguns problemas, por isso existe a necessidade de retirar essas permisses. Escreva o comando que lhe permite executar a tarefa.

b) c)

15. 16. 17.

Alterar as permisses do ficheiro /etc/passwd para que todos os utilizadores do sistema possam adicionar-lhe informao. Interprete o resultado obtido. Altere as permisses de leitura do directrio c/include e de seguida liste o seu contedo. Interprete o resultado obtido. Altere as permisses concedidas na pergunta anterior permitindo assim que todos os utilizadores possam ler e escrever nos ficheiros que se encontram no seu interior.

13

Вам также может понравиться