• Nenhum resultado encontrado

Introdução ao UNIX. Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 2004/07

N/A
N/A
Protected

Academic year: 2021

Share "Introdução ao UNIX. Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 2004/07"

Copied!
31
0
0

Texto

(1)

Introdução ao UNIX

Computadores e Redes de Comunicação

Mestrado em Gestão de Informação, FEUP 2004/07

(2)

Sumário

• História

• Estrutura

• Interpretador de comandos

• Comandos essenciais

• Sistema de ficheiros

• Shell Scripts

• Referências

(3)

História

• A primeira versão do UNIX foi desenvolvida em 1969 por Ken

Thompson e Dennis Ritchie nos Laboratórios Bell.

• A Versão 6, lançada em 1976, foi a primeira com uma utilização

significativa fora dos laboratórios Bell e de algumas

universidades.

• Durante os anos 80 e 90 foram desenvolvidas várias versões

comerciais do UNIX.

(4)

História

Imagem: “Operating System

Concepts”, A. Silberschatz e P.

B. Galvin, Addison-Wesley, 1994

(5)

Estrutura

Utilizador

Gestor de Janelas

Kernel

Aplicações

Comandos

Interpretador de

Comandos (Shell)

(6)

Características Principais

• Desenhado para utilização partilhada

(multi-utilizador).

• Execução simultânea de múltiplos programas

(multi-programação).

• Sistema de ficheiros hierárquico com número

arbitrário de níveis.

• Portabilidade – apenas o kernel (<10%) é escrito em

linguagem máquina.

(7)

Interacção com o Utilizador

• A interacção com o utilizador é feita através de sessões.

• As sessões podem ser locais ou remotas, em modo texto ou em

modo gráfico.

(8)

Exemplo de uma Sessão

login: ssn

Password: ******

Last login: Fri Oct 1 17:29:12 2004 from ssn.vpn.fe.up.pt Linux 2.4.27. ssn@gnomo:~> ls public_html/ ssn@gnomo:~> cd public_html ssn@gnomo:~/public_html> ls –la total 35 drwxr-xr-x 4 ssn man 8192 Sep 30 15:40 ./ drwx---x 4 ssn man 8192 Oct 1 18:00 ../

-rw--- 1 ssn man 1273 Sep 30 14:00 .history drwxr-xr-x 2 ssn man 8192 Sep 24 17:18 homepage/ -rw-r--r-- 1 ssn man 12 Sep 30 15:40 index.html drwxr-xr-x 3 ssn man 8192 Oct 1 18:00 sandbox/ ssn@gnomo:~/public_html> logout

(9)

Interpretador de Comandos

• O interpretador de comandos (shell) traduz as linhas, com

comandos, introduzidas pelo utilizador, em instruções ao

sistema operativo.

• Existem vários programas interpretadores de comandos:

C-Shell (csh), Korn C-Shell (ksh), Bourne C-Shell (sh), Bourne Again

Shell (bash).

• Funções: interface para o sistema, interpretação dos comandos,

execução de aplicações, navegação no sistema de ficheiros,

indicações ao utilizador.

(10)

Interpretador de Comandos

• O interpretador de comandos expande os meta-caracteres

usados pelo utilizador.

• Exemplo:

ls notas*.txt Æ ls notas03.txt, notas04.txt, notas05.txt

• Meta-caracteres de expansão (wildcards)

*

(asterisco)

zero ou mais ocorrências de qualquer

carater.

?

(interrogação)

qualquer caracter.

[abc]

(conjunto)

um dos caracteres presentes no

conjunto

(a, b ou c).

[x-z]

(intervalo)

um dos caracteres presentes no

intervalo

(11)

Interpretador de Comandos

• Exemplos:

– Tendo:

prog1.c prog1.o prog2.c prog2.o temp temp1

temp2

– *.o

Æ

prog1.o prog2.o

– temp*

Æ

temp temp1 temp2

– temp?

Æ

temp1 temp2

– [a-r]*

Æ

prog1.c prog1.o prog2.c prog2.o

– prog[12].c

Æ

prog1.c prog2.c

(12)

Interpretador de Comandos

Por omissão, a entrada de dados é feita via teclado e a saída é para o

ecrã.

É possível redireccionar a entrada e saída dos comandos usando

meta-caracteres:

>

Redireccionar saída. Ex: ls > resultado.txt

>>

Redirecciona saída, mas acrescenta ao ficheiro em vez de criar

de um novo.

<

Redireccionar entrada. Ex: programa < dados.txt

|

(pipe)

Combinar vários programas. O resultado de um programa é usado

como entrada de outro. Ex: ls | sort

Exemplos:

– programa < entrada.txt > saida.txt – ls | sort > listagem_ordenada.txt – find | grep meudocumento.txt

(13)

Interpretador de Comandos

Alguns comandos normalmente usados como filtros:

– head Imprime apenas as X primeiras linhas.

– tail Imprime apenas as X últimas linhas. – wc Conta o número de palavras.

– sort Ordena linhas de texto.

– uniq Remove as linhas duplicadas adjacentes. – grep Filtra as linhas de acordo com uma expressão

regular.

Exemplos:

– cat dados.txt | head –n10 Lista apenas as primeiras 10 linhas de um ficheiro de texto.

(14)

Interpretador de Comandos

• Filosofia de encadeamento e filtragem (pipe and

filter

)

Comando Complexo

(15)

Comandos em UNIX

• Sintaxe de um comando UNIX:

– comando [opções] [argumentos]

• Alguns aspectos importantes:

– Os comandos são sensíveis à caixa usada. A maioria é em caixa baixa.

– Opções e argumentos são opcionais.

– A generalidade dos comandos permite a utilização de várias opções em

simultâneo.

– As opções são precedidas de um traço (–).

• Exemplos:

(16)

Exemplo de Comandos

• login Estabelecer uma nova sessão num sistema. Permite definir o utilizador e o sistema. Exemplo: login ssn –h gnomo.fe.up.pt

• logout Terminar a sessão.

• passwd Actualizar a palavra-chave de um utilizador.

• whoami Apresenta o nome associado ao utilizador actual.

• echo Apresenta uma linha de texto. Exemplo: echo “Um teste.” • who Apresenta os utilizadores ligados no sistema.

• uptime Apresenta informações sobre o tempo de actividade do sistema. • write Enviar uma mensagem a outro utilizador.

Exemplo: write ssn

(17)

Exemplo de Comandos

• finger Obter informações sobre outro utilizador. Exemplo: finger ssn • more Pagina texto, um ecrã de cada vez. Exemplo: ls | more

• date Apresenta ou altera a data do sistema.

• history Apresenta uma listagens dos últimos comandos executados pelo utilizador.

• ps Apresenta o estado dos processos no sistema.

(18)

Ajuda

• Os sistemas UNIX disponibilizam um mecanismo de ajuda em

linha.

• O comando man (manual) permite aceder a este sistema.

– man nome-do-comando

• Este sistema fornece informação detalhada sobre os comandos:

descrição, opções, exemplos e referências.

• O comando apropos permite pesquisar uma palavra-chave

entre as descrições dos diversos comandos.

(19)

Ajuda – Exemplo

$ apropos quota

convertquota (8) - convert quota from old file format to new

one

edquota (8) - edit user quotas

quota (1) - display disk usage and limits

quotacheck (8) - scan a filesystem for disk usage, create

check and repair quota files quotactl (2) - manipulate disk quotas

quotaoff [quotaon] (8) - turn filesystem quotas on and off

quotaon (8) - turn filesystem quotas on and off repquota (8) - summarize quotas for a filesystem rpc.rquotad [rquotad] (8) - remote quota server

(20)

Sistema de Ficheiros

Estrutura hierárquica em árvore com número arbitrário de níveis.

<directório>/<directório>/<directório>

Em UNIX, tudo é um ficheiro: directórios, dispositivos, dados, programas.

Cada utilizador tem um directório base (home).

– /usr/local/joao

– ~ – directório do utilizador actual

~maria – directório do utilizador maria.

Alguns directórios importantes:

– . (ponto) – directório actual. – .. – directório anterior. – / – raiz da árvore de directórios. – /usr/bin – programas básicos. – /var – ficheiros do sistema.

Atenção

: não existe “recycle bin”.

/

usr

var

etc

dev

local

joao

(21)

Sistema de Ficheiros

O UNIX distingue os termos em função da caixa usada.

Exemplo:

Ficheiro.TXT

≠ ficheiro.txt

Os nome dos ficheiros e directórios podem conter apenas letras,

números, – (traço), _ (traço baixo) ou . (ponto).

Ficheiros cujo nome começa por . (ponto) são ficheiros escondidos,

não visíveis nas listagens normais.

As extensões não são obrigatórias (ao contrário do Windows) mas são

uma boa prática. Servem para designar o tipo de ficheiro. Algumas

convenções:

– .txt – texto.

(22)

Sistema de Ficheiros

• Alguns comandos para a manipulação de ficheiros:

– touch

Cria um ficheiro de texto vazio.

– cat

Concatena e apresenta o conteúdo de ficheiros.

– more

Pagina texto, um ecrã de cada vez.

– cp

Copia ficheiros ou directórios.

Exemplo: cp origem destino

– mv

Move (renomeia) ficheiros.

Exemplo: mv origem destino

– rm

Remover ficheiros ou directórios.

(23)

Sistema de Ficheiros

• Alguns comandos para a manipulação de directórios:

– pwd

Apresenta o directório actual.

– cd

Alterar directório actual.

– ls

Listar o conteúdo de um directório.

• -a

Listar todos os ficheiros, incluindo ficheiros escondidos.

• -l

Apresentar detalhes.

– mkdir

Criar directório.

– rmdir

Remover directório.

– cp

Copia ficheiros ou directórios.

(24)

Sistema de Ficheiros

gnomo>tree -d . |-- Desktop | `-- Trash |-- bin |-- mail `-- public_html |-- adad |-- ari |-- asi | `-- _notes |-- gi |-- goii | |-- ciie | |-- ciie2 | `-- exame | `-- 3c |-- images | |-- full | `-- thumb |-- is `-- psi

(25)

Sistema de Ficheiros

-rwxr--r--

1

joao

alunos

22334

sep 9 08:09

.profile

-rwxr--r--

2

joao

alunos

2300

oct 2 11:23

imagem.gif

-rwx---

1

joao

alunos

10

oct 1 20:00

texto.txt

Número de ligações para este ficheiro

Dono

Grupo a que pertence

Tamanho em bytes

Data da última modificação

nome

(26)

Sistema de Ficheiros

$cd /

$cd /usr

$cd

$cd docs

$cd univ/0203/os

$cd ../..

$cd ..

$cd ../mail

$cd .

$cd univ

$cd ../docs/house/../univ/0102

$cd ../0203/cs1

$cd

$cd ~maria

/usr/local/pedro docs mail music work house univ

0102

cs1 os 0203

(27)

Sistema de Ficheiros

O UNIX é um sistema multi-utilizador com um sistema de ficheiros partilhado.

Assim, é necessário implementar mecanismos que permitam controlar as

operações sobre os ficheiros. Mecanismos de protecção.

Os ficheiros e directórios têm associados um conjunto de especificações de

protecção.

A protecção de um ficheiro ou directório está dividida em 3 partes: utilizador

(u), grupo (g) e outros (o).

Podem ser controladas 3 operações: r (leitura), w (escrita) e x (execução).

Comandos:

– chmod – alterar protecções.

utilizador grupo outros

(28)

---Sistema de Ficheiros

– chmod g-rw directorio1 – chmod u+x ficheiroA – chmod g-rwx ficheiroA – chmod o-rwx ficheiroA – chown joao ficheiroB – chgrp alunos ficheiroB

drwxrw---- joao alunos [...] directorio1 -rw-rw-rw- joao alunos [...] ficheiroA -rw-r--r-- pedro docentes [...] ficheiroB

drwx--- joao alunos [...] directorio1 -rwx--- joao alunos [...] ficheiroA -rw-r--r-- joao alunos [...] ficheiroB

Atenção: apenas o administrador do

sistema poderia executar estes comandos.

(29)

Shell Scripts

• Ficheiros com comandos UNIX.

• Permitem armazenar uma determinada sequência de

comandos.

– Útil para sequências de uso frequente.

– Útil para construção de sequências complexas.

• Permitem o uso de variáveis e estruturas de controlo

– $nome=pedro

(30)

Shell Scripts - Exemplos

• Listagem personalizada:

#!/bin/bash ls –lah –color

• Informações compiladas:

#!/bin/bash echo “=Nome=” whoami echo “=Localizacao=” pwd echo “=Data=” date

(31)

Referências sobre UNIX

• Livros

– Daniel Gilly – UNIX in a Nutshell. O’Reilly.

– Deborah S. Ray, Eric J. Ray – UNIX: Visual QuickStart Guide.

Peachpit Press.

– Eric S. Raymond – The Art of Unix Programming. Addison-Wesley.

http://www.catb.org/~esr/writings/taoup/html/

• WWW

– WebReference.com – UNIX Tutorials.

http://webreference.com/programming/unix/

– Éric Lévénez – UNIX History. http://www.levenez.com/unix/

– UNIXguide.net. http://www.unixguide.net/

Referências

Documentos relacionados

In this work, improved curves are the head versus flow curves predicted based on the correlations presented in Table 2 and improved by a shut-off head prediction

Segundo o mesmo autor, a animação sociocultural, na faixa etária dos adultos, apresenta linhas de intervenção que não se esgotam no tempo livre, devendo-se estender,

da lesão na orelha interna e isto pode alterar o senso da posição da cabeça destas crianças, tornando-as mais sus- ceptíveis ao surgimento de alterações na

Em todas as vezes, nossos olhos devem ser fixados, não em uma promessa apenas, mas sobre Ele, o único fundamento da nossa esperança, e em e através de quem sozinho todas as

Rosângela Costa Araújo CARTA DE APRESENTAÇÃO AOS PAIS OU RESPONSÁVEIS Salvador, ____ de ______________ de 2011 Senhores pais, mães ou responsáveis, Estou realizando uma pesquisa

Esta compreensão, obtida a partir da análise da evolução histórica da filosofia do direito efetuada na seção precedente, permite traçar a distinção principal

et al., (2012), nos estudos realizados sobre o PCK, são propostas algumas estratégias para reconhecê-lo, como entrevistas, observações de aulas, análise de planejamentos de ensino