Volume

1
1º CICLO EM INFORMÁTICA

Arquitecturas de Computadores e Sistemas Operativos

Guia das Aulas Práticas

514 Telefone +351 22 5572000 . António Bernardino de Almeida. Ciência e Tecnologia Rua Dr.ARQUITECTURA DE COMPUTADORES E SISTEMAS OPERATIVOS Guia das Aulas Práticas  Universidade Portucalense Departamento de Inovação.

permissões e o manual de referencia dos comandos do sistema operativo. de um grupo ou até pertencentes a todos os utilizadores do sistema. A Figura 1 ilustra o procedimento a realizar pelo utilizador no acesso ao sistema. Uma das facilidades concedidas devido à partilha de uma conta em grupo é essencialmente o desenvolvimento de aplicações. a entrada no sistema. 2 . metacaracteres. alguns comandos básicos. o utilizador necessita de possuir uma palavra chave (password) que lhe possibilitará aceder à sua área restritivamente. tais como.Início de uma sessão de trabalho.Aula 1 Comandos básicos da utilização do Linux N esta aula. login: identificação_do_utilizador Password: palavra_chave (invisível) Figura 1 . serão discutidos os aspectos principais de utilização do sistema operativo. Para além deste nome especial. caminhos de acesso. Este nome pode ser comparado com uma “conta” na qual o utilizador pode armazenar e manipular a sua informação com um carácter de exclusividade. Estas “contas” podem ser apenas de um utilizador. os formatos dos comandos. 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. o sistema de ficheiros. regras de nomes de ficheiros e directórios.

em qualquer instante os utilizadores que estão ligados ao sistema ou o conteúdo dos seus directórios. Na Figura 2 é apresentado um exemplo dum sistema de ficheiros típico do SO Unix. Estes comandos permitem ao utilizador saber. $ 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 3 . / bin (…) dev usr etc tmp (…) users include (…) lib (…) games (…) bin (…) prog (…) maria joao texto (…) temp (…) Figura 2 – Organização típica de um sistema de ficheiros Alguns comandos básicos A apresentação que se segue inclui apenas alguns comandos de uso simples.Sistema de ficheiros O sistema de ficheiros do SO tem uma organização hierárquica. Este tipo de ficheiro pode conter uma lista de nomes de ficheiros e informação que indica o lugar onde estes podem ser encontrados. Nesta organização hierárquica existe um tipo de ficheiro especial designado por directório. mas bastante úteis para o normal funcionamento de uma sessão de trabalho. podendo até ser designada como uma estrutura em árvore. etc. A Figura 3 mostra um conjunto de comandos básico para a manipulação do sistema. por exemplo.

$ ls prog texto $ ls -a .) e outros com mais do que uma palavra (who am I. Contudo.) entre cada comando. who. então esse conjunto deve estar entre aspas (“) ou entre apóstrofos (´). separadas por espaços. por argumentos desse comando. 4 . Para além destas facilidades o sistema permite que o utilizador escreva mais do que um comando na linha de comandos através da utilização de um ponto e virgula (. se um determinado argumento é constituído por mais do que uma palavra. por exemplo). Os comandos que têm mais do que uma palavra são definidos como comandos a primeira palavra e as restantes.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 informação recursivamente do directório corrente e de todos os subdirectórios $ 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 básicos Formato dos comando em Unix Após o estudo dos comandos da Figura 3 poder-se-á verificar que existem comandos com apenas uma palavra (date. etc.

/.) prog C a.c -rwxr-x—x Permissões (atributos) users 1 maria alunos 9129 MAR 3 18:30 a. 5 . maria joao $ ls ~ prog texto temp $ ls / bin dev usr etc tmp $ ls /users/joao Prog1 textos Tmp1 $ ls -l c/a.c $ ls .c b2..pas p1.c a11.pas p2.....Caminhos de acesso ./.. a.Raiz. C Pascal $ ls .c a11. Pai e corrente.c Nº de “links” Dono Grupo Tamanho do Data e hora ficheiro da última modificação Nome do ficheiro Figura 4 .Relativos e Absolutos Raiz (…) (…) (…) / (…) (…) tmp (…) maria texto Pascal p. prog texto temp $ ls .) Directório corrente (..c $ ls .c b2.pas temp (…) Prog1 (…) users joao textos (…) Tmp1 (…) Home Directory (~) ou $HOME Directório pai (./.

etc. mas se for usado no início o ficheiro passará a ser considerado escondido (. designa-se por “caminho relativo” porque é relativo ao directório corrente. portanto caracteres deste tipo devem ser evitados. Os nomes dos ficheiros e dos directórios podem ser constituídos por letras. “todos os ficheiros com um digito no início do seu nome”.) o directório corrente (/users/maria/prog/C). listar “todos os ficheiros começados pela letra a”. o que pode trazer alguns problemas. por exemplo. • Regras para os nomes dos ficheiros e directórios Os nomes dos ficheiros e directórios podem ter até no máximo 40 caracteres e podem ser. É possível.profile. pelo caracter “underscore” (_) e o ponto (. Exemplos de nomes possíveis: abc 123 34abc25 Hoje_de_Tarde erros ficheiro-antigo Exemplos de nomes de ficheiros inválidos: >linha 3|www ?123 *erro abc?123 A escolha do nome para os ficheiros deve obedecer a uma regra geral para evitar qualquer significado ambíguo por parte do Shell. designa-se por “caminho absoluto”. alguns caracteres ASCII podem ter um significado especial para o interpretador de comandos (Shell) utilizado. A movimentação dentro do sistema de ficheiros pode ser realizado de duas formas: • Começar na posição corrente e indicar o caminho correspondente até ao destino. por exemplo). de qualquer tipo. Contudo.Considerar a árvore de directórios da Figura 4 e assuma a etiqueta “Home Directory (~) ou $HOME” como indicação do directório de conexão e o (.) em qualquer uma das posições. teoricamente. dígitos. Para além destas regras existe ainda a distinção entre letras 6 . O ponto pode ser usado sem problemas no meio dos nomes. Começar a partir da raiz e especificar o caminho até ao destino. sendo este tipo de caracteres designado por metacaracteres. A Shell possui certos caracteres que têm significado especial tal que é possível fazer referência aos ficheiros individualmente ou em grupo.

Abc e abc são nomes distintos). [ ] (parêntesis rectos) – Inclui uma lista de caracteres onde o significado é “qualquer caracter incluído nos parêntesis”. A utilização destes caracteres especiais permite ao utilizador fazer referências a nomes de ficheiros e directórios. \ (backslash) – retira o significado do caracter que se encontra na sua frente. • • • A Figura 5 apresenta um conjunto de exemplos.maiúsculas e minúsculas. “ficheiros apenas com 4 letras”. [a-z] significa todas as letras do alfabeto. por exemplo. mas é possível usar estas combinações com qualquer outro. “todos os ficheiros que têm a letra c seguida por um digito”. Metacaracteres Os metacaracteres são uma facilidade introduzida pelo Shell que permite manipular ficheiros e directórios individualmente ou em grupo. uma vez que. A utilização do caracter “hyphen” (-) dentro dos parêntesis indica um intervalo de variância. em Unix o significado das letras maiúsculas e minúsculas é diferente (por exemplo. o mais abrangente possível no sentido de mostrar a potencialidade da utilização dos metacaracteres. Os principais metacaracteres utilizados na Shell são: • ? (ponto de interrogação) – Representa uma e uma só ocorrência na posição onde se encontra * (asterisco) – Representa uma cadeia arbitrária de caracteres. no entanto neste exemplo apenas é utilizado o comando ls. $ 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 7 . etc. O ponto de admiração (!) dentro dos parêntesis inverte o significado. tais como. em comparação com o MSDOS.

O seu dono pode atribuir vários tipos de permissões.Exemplo prático sobre metacaracteres. Todos os ficheiros e directórios criados no SO têm um dono. Este pode dar a permissão a quem quiser através do comando chown (para além do dono. usualmente é o utilizador que o cria. só o superuser (root) pode usar este comando).permissão de leitura.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 . Outros: Todos os utilizadores do SO têm acesso aos ficheiros e directórios. podendo permitir ou proibir o seu acesso. • • Os ficheiros ou directórios têm três tipos de permissões que descrevem as várias operações que podem ser realizadas. Permissões O SO Unix disponbiliza aos seus utilizadores a possibilidade de atribuir permissões a ficheiros e directórios. Grupo: Vários utilizadores agrupados para poderem partilhar ficheiros e assim terem a possibilidade de desenvolvimento em grupo.permissão de execução. podendo estas indicar quem os pode manipular. 8 . Para cada ficheiro ou directório.permissão de escrita. • Write . existem três classes de utilizadores: • Dono: O dono é o utilizador que inicialmente cria o ficheiro. • Execute . O significado atribuído a cada uma é: • Read .

execução (execute) Exemplos de permissões rwx 111 7 rwx 111 7 r-x 101 5 rwx 111 7 r-x 101 5 rwx 111 7 Binário Octal Binário Octal $ chmod 644 prog $ chmod 755 abc Figura 6 . Modo simbólico.Alteração de permissões O comando chmod altera o modo de um ficheiro ou directório. 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 Directório rwx Grupo rwx Outros r . Este comando aceita a especificação de duas formas diferentes: • • Valor absoluto ou numeração octal.leitura (read) w . O formato do comando chmod é o seguinte: chmod modo ficheiro … A Figura 7 ilustra de forma clara como os ficheiros e directórios têm as suas permissões. além de exemplificar como estas são atribuídas. 9 .escrita (write) x .Permissões.

6. 7. As secções “tradicionais” dos SOs Unix são: 1. Comandos. cat file1 file2 >file3 concatenates file1 and prints file on the default standard cat(1) file2. 5.. Thus: cat file output device. To combine standard input and other files.and file arguments.Manual de referência do HP-UX A documentação do SO é bastante extensa. Subrotinas. Ficheiros especiais. por essa razão é dividida em oito secções. Chamadas ao sistema. and places the result in file3. use a mixture of . 8. Options cat recognizes the following options: 10 .is appears as a file argument. Pacotes de macros e linguagens. 3.. 2. na qual é apresentado o caso do comando cat. Para utilizar o manual de referência do HP-UX o utilizador deve recorrer ao comando man comando. Comandos de manutenção e procedimentos. Cada secção representa uma categoria diferente do sistema. copy. $ man cat cat(1) NAME cat .concatenate. DESCRIPTION cat reads each file in sequence and writes it on the standard output. Formatos de ficheiros e convenções. and print files SYNOPSIS cat [-su] [-v [-t] [-e]] file . 4. Um exemplo de uma página típica do manual interactivo do SO Unix é mostrado na Figura 8. Jogos. cat uses standard input. If .

Na listagem deve constar a informação detalhada dos ficheiros e directórios.Exemplo de uma página do manual de referência do HP-UX. Listar o conteúdo do directório corrente mostrando “todos” os ficheiros e directórios. 7. XPG3. output is buffered. Verificar qual a sua posição corrente. Entrar no sistema com o seu login. and write errors.. pr(1). 8. 5. incluindo o conteúdo de todas as suas subdirectorias. 6. 3.0: August 1992 .. 2. WARNINGS Command formats such as overwrites the data in file1 before the concatenation begins. Exercícios 1. use any of the following: cat /dev/null >file cp /dev/null file touch file SEE ALSO cp(1). input and output files cannot have identical names unless the file is a special file. cat suppresses error messages about non. identical input and output. ssp(1).2 Hewlett-Packard Company Release 9. pg(1).) EXAMPLES To create a zero-length file. 11 . 4. Normally. (. Verificar quem se encontra ligado ao sistema. Listar o conteúdo do directório corrente. Therefore. rmnl(1). thus destroying the file. -u Do not buffer output (handle character-byharacter). be careful when using Shell special characters. Alterar a palavra chave. Verificar a data do sistema. STANDARDS CONFORMANCE cat: SVID2. Listar o conteúdo do directório corrente. Normally.existent files. XPG2.2 HP-UX Figura 7 .-s Silent option. POSIX.

b. analisar as permissões do seguinte ficheiro 12 . cujo nome começa com um digito ou uma letra e não termine com um digito. c. i) j) 12. / (…) (…) (…) (…) (…) tmp users I0001 c docum (…) I9999 include source a) b) c) d) e) f) g) h) Listar o conteúdo do seu Home Directory. Listar todos os ficheiros do directório c/source. Quais os nomes representados por: i[2-45]. cujo nome não começa por a. c ou d e têm um digito na terceira posição. cujo nome começa por um digito. 10. cujo nome começa por a. 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 subdirectórios do directório /etc. Listar todos os ficheiros do directório docum. Listar todos os ficheiros do directório c/include. b. Listar todos os ficheiros do directório /usr/mail. Listar o conteúdo do directório /etc utilizando o caminho absoluto e o caminho relativo. 11. f. tem o caracter (-) na quarta posição e não contem nenhum digito na primeira posição da extensão. Listar o conteúdo do directório /etc de forma a que a informação apareça o mais detalhadamente possível. Analise o resultado da seguinte instrução: man man Tendo em conta a árvore de directórios apresentada na Figura 6.9. cujo nome começa por i2 e o terceiro caracter é o 4 ou o 5. 13. A resolução dos exercícios apresentados neste módulo deve ter em consideração a árvore de directórios da figura seguinte. O directório corrente do utilizador será aquele que está indicado por uma seta. Listar o conteúdo do directório /bin e /usr na mesma linha de comandos. h ou p.

13 . Alterar as permissões do ficheiro /etc/passwd para que todos os utilizadores do sistema possam adicionar-lhe informação.c 14. Interprete o resultado obtido.-rwxr-x--x 1 maria alunos 9129 MAR 3 18:30 a. Altere as permissões concedidas na pergunta anterior permitindo assim que todos os utilizadores possam ler e escrever nos ficheiros que se encontram no seu interior. Altere as permissões de leitura do directório c/include e de seguida liste o seu conteúdo. 17. Execute um comando que permita que os utilizadores do seu grupo possam escrever e executar o ficheiro Imagine que a permissão concedida na alínea anterior trouxe alguns problemas. 16. por isso existe a necessidade de retirar essas permissões. b) c) 15. Interprete o resultado obtido. Escreva o comando que lhe permite executar a tarefa. Suponha que lhe é dado o ficheiro aulas com as seguintes permissões: -rwxr—r-a) Execute um comando que permita que todos os utilizadores tenham permissão para executar o referido ficheiro.

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.