FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser...

44
MAD - Material de Apoio Didático FATEC Faculdade de Tecnologia de Carapicuíba/SP 1 Controle de Versão VERSÃO RESPONSÁVEL CONTATO DATA CONTRIBUIÇÃO 1.0 Prof. Rbns [email protected] 04/08/06 Versão Inicial 1.1 idem idem 10/09/06 - correções ortográficas - criação de usuários 1.2 idem idem 20/09/06 - correções ortográficas - novo layout - nova ordenação dos tópicos e distribuição por áreas de interesse 1.3 idem idem 29/04/07 - correções ortográficas - novo layout 1.4 idem idem 05/02/08 - novos tópicos 2.0 idem idem 01/03/08 - ampliação com material para a disciplina SO1 - novos exercícios - revisões Se agradece ao usuário que encontrar imprecisões ou erros, e puder ser gentil de os apontar no Fórum em www.rbns.com.br para correção em futuras versões. Igualmente se agradece ao usuário que queria sugerir revisões ou reformulações no texto ou na abordagem deste material. 1 Fatec Carapicuíba - Avenida Francisco Pignatari, 650 - Vila Gustavo Correia, CEP 06310-390 / Carapicuíba - SP Tel/Fax: (11) 4185-3544 - [email protected] MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt impresso em: 21/04/2008 - 17:28:19 Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf. pg. 1 de 44

Transcript of FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser...

Page 1: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

MAD - Material de Apoio Didático

FATECFaculdade de Tecnologia de Carapicuíba/SP1

Controle de Versão

VERSÃO RESPONSÁVEL CONTATO DATA CONTRIBUIÇÃO

1.0 Prof. Rbns [email protected] 04/08/06 Versão Inicial

1.1 idem idem 10/09/06- correções ortográficas- criação de usuários

1.2 idem idem 20/09/06

- correções ortográficas- novo layout- nova ordenação dos tópicos e distribuição por áreas de interesse

1.3 idem idem 29/04/07- correções ortográficas- novo layout

1.4 idem idem 05/02/08 - novos tópicos

2.0 idem idem 01/03/08- ampliação com material para a disciplina SO1- novos exercícios- revisões

Se agradece ao usuário que encontrar imprecisões ou erros, e puder ser gentil de os apontar no Fórum em www.rbns.com.br para correção em futuras versões. Igualmente se agradece ao usuário que queria sugerir revisões ou reformulações no texto ou na abordagem deste material.

1 Fatec Carapicuíba - Avenida Francisco Pignatari, 650 - Vila Gustavo Correia, CEP 06310-390 / Carapicuíba - SPTel/Fax: (11) 4185-3544 - [email protected]

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 1 de 44

Page 2: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Sobre este documento Este documento começou a ser

desenvolvido como uma apostila de introdução

ao Ubuntu/Linux, e era originalmente pensada

para ser utilizada nas disciplinas introdutórias

Informática I e II do curso de Logística com

ênfase em transportes da FATEC de Carapicuíba.

Mais tarde foi reformulada para servir como

material de apoio e como um guia de consulta

rápida para os meus alunos na disciplina de

Sistema Operacionais I do curso de Análise de

Sistemas e Tecnologia da Informação (ASTI),

também da FATEC de Carapicuíba.

Assim, o objetivo desta apostila não é

ser um guia minucioso da utilização do

GNU/Linux ou um “livro texto” para a disciplina

de Sistemas operacionais, mas sim servir como

introdução a distribuição Ubuntu e material para-

didático para as aulas de SOI.

O público alvo deste documento é o

usuário médio de computadores, sem

conhecimentos prévios dos ambientes Unix like,

sem grande apreço pela utilização do Shell, e

sem os conhecimentos básicos do funcionamento

interno de sistemas operacionais em geral, ou em

outras palavras, meus alunos dos cursos

introdutórios do curso ASTI.

Nos exemplos que envolvam imagens

será utilizando o gerenciador de janelas

(interface gráfica) Gnome, mas em alguns

exemplos também poderá ser utilizando o KDE.

Na elaboração deste documento foram

utilizados majoritariamente os softwares Gimp,

OpenOffice.org Writer, Ubuntu-Linux, Firefox e

Inkscape.

Sobre o autor e Feedback Rbns, o autor inicial deste documento é

Rubens A. Menezes. S. F. - Professor da

FATEC de Carapicuíba © 2006 e Todos os

direitos reservados.

Para contatar o autor inicial utilize o

site: http://www.rbns.com.br. O contato com o

autor inicial pode ser utilizado para apontar erros

neste documento ou encaminhar comentários e

sugestões sobre o conteúdo. De fato

agradecemos quem puder fazê-lo.

Licenciamento Este trabalho está licenciado, exceto

onde indicado, sob uma Licença Creative

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 2 de 44

No endereço www.rbns.com.br existem um Blog e um Fórum, ambos servem como canal de comunicação com os alunos.

Page 3: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Commons Atribuição-Uso Não Comercial-

Compartilhamento pela mesma licença 2.5

Brasil1. Para ver uma cópia desta licença, visite

http://creativecommons.org/licenses/by-nc-

sa/2.5/br/ ou envie uma carta para Creative

Commons, 559 Nathan Abbott Way, Stanford,

California 94305, USA.

Todas as marcas registradas presentes

neste documento pertencem a seus respectivos

proprietários.

Agradecimentos Obrigado a toda comunidade do

Software Livre, quase sempre anonima e

subversiva, que produz e compartilha estes

softwares maravilhosos, vencendo todo tipo de

barreiras e boicotes, dividindo com estranhos um

bem raro e precioso: o conhecimento.

Agradecemos ainda ao Prof. Carlos

Alberto Maziero da PGIA CCET PUCPR pela

iniciativa de partilhar seu conhecimento,

produzindo um livro sobre Sistemas

Operacionais de forma aberta e sob uma licença

que permita a utilização por outros alunos e

professores.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 3 de 44

Page 4: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

SumárioCONTROLE DE VERSÃO..............................................................................................................................1

SOBRE ESTE DOCUMENTO ......................................................................................................................2SOBRE O AUTOR E FEEDBACK ................................................................................................................2LICENCIAMENTO ..................................................................................................................................2AGRADECIMENTOS ...............................................................................................................................3

PARTE I: SISTEMAS OPERACIONAIS: VISÃO GERAL.....................................................................................6O QUE É UM SO..................................................................................................................................6TIPOS DE SISTEMAS OPERACIONAIS.........................................................................................................6FUNCIONALIDADES................................................................................................................................8POLÍTICAS E MECANISMOS...................................................................................................................10ESTRUTURA DE UM SISTEMA OPERACIONAL ...........................................................................................10

PARTE II – LINUX: HISTÓRIA E TRADIÇÃO..............................................................................................12OS SISTEMAS UNIX..........................................................................................................................12O GNU/LINUX E SUAS DISTRIBUIÇÕES..................................................................................................12

CERTIDÃO DE NASCIMENTO.............................................................................................................13PARTE III – DO YOU UBUNTU?............................................................................................................15

UM LINUX MUITO FÁCIL DE USAR.........................................................................................................15DISTRIBUIÇÕES: LINUX, GOSTOSO COMO SORVETE! (E COM MUITOS SABORES!).............................................15

O ESPÍRITO DO “UBUNTU”..............................................................................................................17CONHECENDO A INTERFACE..................................................................................................................18PROPRIEDADES DOS PAINÉIS SUPERIOR E INFERIOR..................................................................................19COPY & PASTE..................................................................................................................................20CRIANDO LINKS NO DESKTOP...............................................................................................................20PASTAS OCULTAS...............................................................................................................................21CRIANDO USUÁRIOS NO UBUNTU ..........................................................................................................22

PARTE IV – O SISTEMA DE ARQUIVOS...................................................................................................24FHS (LINUS FILESYSTEM STANDARD)..................................................................................................24A ESTRUTURA DE DIRETÓRIOS DO UBUNTU.........................................................................................25TABELA COM OS PRINCIPAIS DIRETÓRIOS DE DISTRIBUIÇÃO LINUX TÍPICA.....................................................26

PARTE V – CONHECENDO O SHELL.......................................................................................................27CRIANDO PACOTES TAR....................................................................................................................28DIGITANDO RAPIDAMENTE...................................................................................................................28COMANDOS MAIS COMUNS.................................................................................................................30PERMISSÕES DE ARQUIVOS...................................................................................................................32MÉTODO LETRAS...............................................................................................................................34

EXEMPLOS (MÉTODO LETRAS)........................................................................................................34MÉTODO NÚMEROS............................................................................................................................34

EXEMPLOS (MÉTODO NÚMEROS).....................................................................................................36EXERCÍCIOS DE FIXAÇÃO.......................................................................................................37

EXERCÍCIO 01...............................................................................................................................37EXERCÍCIO 02...............................................................................................................................37EXERCÍCIO 03...............................................................................................................................38EXERCÍCIO 04...............................................................................................................................38

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 4 de 44

Page 5: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

EXERCÍCIO 05...............................................................................................................................38EXERCÍCIO 06...............................................................................................................................38EXERCÍCIO 07...............................................................................................................................38EXERCÍCIO 08...............................................................................................................................39EXERCÍCIO 09...............................................................................................................................39EXERCÍCIO 09...............................................................................................................................39EXERCÍCIO 10...............................................................................................................................39EXERCÍCIO 11...............................................................................................................................39EXERCÍCIO 12...............................................................................................................................40EXERCÍCIO 13...............................................................................................................................40EXERCÍCIO 14...............................................................................................................................40EXERCÍCIO 15...............................................................................................................................40EXERCÍCIO 16...............................................................................................................................40EXERCÍCIO 17...............................................................................................................................41

CONHECENDO NOVOS COMANDOS........................................................................................................42BIBLIOGRAFIA................................................................................................................................43

LIVROS MAIS USADOS...........................................................................................................................43LIVROS CONSULTADOS..........................................................................................................................43

ATRIBUIÇÃO-USO NÃO-COMERCIAL-COMPARTILHAMENTO PELA MESMA LICENÇA 2.5 BRASIL............................44

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 5 de 44

Page 6: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

PARTE I: Sistemas Operacionais: Visão Geral

O que é um SO2

● Abstração de recursos

○ Prover interfaces de acesso aos dispositivos, mais simples de usar que as

interface de baixo nível;

○ Tornar os aplicativos independentes do hardware;

○ Definir interfaces de acesso homogêneas para dispositivos com tecnologias

distintas;

● Gerência de recursos

○ ex.: uso do processador distribuído entre os aplicativos definindo a velocidade

adequada para cumprir suas funções sem prejudicar os outros;

○ ex.: o mesmo ocorre com a memória RAM, que deve ser distribuída de forma

justa entre as aplicações;

○ Impressora gerenciada de forma mutuamente exclusiva (apenas um aplicativo

por vez) ;

○ Impedir que todos os recursos do sistema sejam monopolizados por um só

usuário (ou um pequeno grupo);

Tipos de Sistemas Operacionais3

Os sistemas operacionais podem ser classificados segundo diversos parâmetros e

perspectivas, muitos sistemas operacionais se encaixam bem em mais de uma das categorias

apresentadas:

● Batch (de lote) : os sistemas operacionais mais antigos trabalhavam “por lote”, ou

seja, todos os programas a executar eram colocados em uma fila, com seus dados e demais

2 MAZIERO, Carlos Alberto. Sistemas Operacionais I - Conceitos Básicos. PGIA CCET PUCPR. Disponível em: <http://www.ppgia.pucpr.br/~maziero/doku.php?id=so:livro_de_sistemas_operacionais> Arquivo: so-cap01.pdf. Acesso em: 21/04/2008.

3 Idem.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 6 de 44

Page 7: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

informações para a execução;

○ Exemplos desses sistemas incluem o OS/360 e VMS, entre outros.

● De rede : um sistema operacional de rede deve possuir suporte à operação em rede,

ou seja, a capacidade de oferecer às aplicações locais recursos que estejam localizados em

outros computadores da rede, como arquivos e impressoras. Ele também deve disponibilizar

seus recursos locais aos demais computadores, de forma controlada;

● Distribuído : em um sistema operacional distribuído, os recursos de cada máquina

estão disponíveis globalmente, de forma transparente aos usuários. Ao lançar uma aplicação,

o usuário interage com sua janela, mas não sabe onde ela está executando ou armazenando

seus arquivos: o sistema é quem decide, de forma transparente. Ainda não são uma realidade

de mercado;

● Multi-usuário : um sistema operacional multi-usuário deve suportar a identificação

do “dono” de cada recurso dentro do sistema (arquivos, processos, áreas de memória,

conexões de rede) e impor regras de controle de acesso;

● Desktop : um sistema operacional “de mesa” é voltado ao atendimento do usuário

doméstico e corporativo para a realização de atividades corriqueiras;

● Servidor : um sistema operacional servidor deve permitir a gestão eficiente de

grandes quantidades de recursos (disco, memória, processadores), impondo prioridades e

limites sobre o uso dos recursos pelos usuários e seus aplicativos.

● Embutido ou Embarcado : um sistema operacional é dito embutido (embedded)

quando é construído para operar sobre um hardware com poucos recursos de processamento,

armazenamento e energia.

● Tempo real : ao contrário da concepção usual, um sistema operacional de tempo

real não precisa ser necessariamente ultra-rápido; sua característica essencial é ter um

comportamento temporal previsível (ou seja, seu tempo de resposta deve ser conhecido no

melhor e pior caso de operação). A estrutura interna de um sistema operacional de tempo

real deve ser construída de forma a minimizar esperas e latências imprevisíveis, como

tempos de acesso a disco e sincronizações excessivas.

○ Existem duas classificações de sistemas de tempo real: soft real-time systems,

nos quais a perda de prazos implica na degradação do serviço prestado. Um exemplo

seria o suporte à gravação de CDs ou à reprodução de músicas. Caso o sistema se atrase,

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 7 de 44

Page 8: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

pode ocorrer a perda da mídia em gravação ou falhas na música que está sendo tocada.

Por outro lado, nos hard real-time systems a perda de prazos pelo sistema pode perturbar

o objeto controlado, com graves conseqüências humanas, econômicas ou ambientais.

Exemplos desse tipo de sistema seriam o controle de funcionamento de uma turbina de

avião a jato ou de uma caldeira industrial.

○ Exemplos de sistemas de tempo real incluem o QNX, RT-Linux e VxWorks.

Muitos sistemas embutidos têm características de tempo real, e vice-versa.

Funcionalidades4

As principais funcionalidades implementadas por um sistema operacional típico são:

● Gerência do processador : visa distribuir a capacidade de processamento de forma

justa entre as aplicações. O sistema operacional provê a ilusão de que existe um processador

independente para cada tarefa, o que facilita o trabalho dos programadores de aplicações e

permite a construção de sistemas mais interativos.

● Gerência de memória : tem como objetivo fornecer a cada aplicação uma área de

memória própria, independente e isolada das demais aplicações e inclusive do núcleo do

sistema.

○ Uma importante abstração construída pela gerência de memória é a noção de

memória virtual, que desvincula os endereços de memória vistos por cada aplicação dos

endereços acessados pelo processador na memória RAM. Com isso, uma aplicação pode

ser carregada em qualquer posição livre da memória, sem que seu programador tenha de

se preocupar com os endereços de memória onde ela irá executar.

● Gerência de dispositivos : A função da gerência de dispositivos (também

conhecida como gerência de entrada/saída) é implementar a interação com cada dispositivo

por meio de drivers e criar modelos abstratos que permitam agrupar vários dispositivos

distintos sob a mesma interface de acesso.

● Gerência de arquivos : esta funcionalidade é construída sobre a gerência de

4 MAZIERO, Carlos Alberto. Sistemas Operacionais I - Conceitos Básicos. PGIA CCET PUCPR. Disponível em: <http://www.ppgia.pucpr.br/~maziero/doku.php?id=so:livro_de_sistemas_operacionais> Arquivo: so-cap01.pdf. Acesso em: 21/04/2008.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 8 de 44

Page 9: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

dispositivos e visa criar arquivos e diretórios, definindo sua interface de acesso e as regras

para seu uso.

○ É importante observar que os conceitos abstratos de arquivo e diretório são tão

importantes e difundidos que muitos sistemas operacionais os usam para permitir o

acesso a recursos que nada tem a ver com armazenamento.

○ Exemplos disso são as conexões de rede (nos sistemas UNIX e Windows, cada

socket TCP é visto como um descritor de arquivo no qual pode-se ler ou escrever dados)

e as informações do núcleo do sistema (como o diretório /proc do UNIX).

● Gerência de proteção : com computadores conectados em rede e compartilhados

por vários usuários, é importante definir claramente os recursos que cada usuário pode

acessar, as formas de acesso permitidas (leitura, escrita, etc) e garantir que essas definições

sejam cumpridas.

Além dessas funcionalidades básicas oferecidas pela maioria dos sistemas operacionais,

várias outras vêm se agregar aos sistemas modernos, para cobrir aspectos complementares,

como a interface gráfica, suporte de rede, fluxos multimídia, gerência de energia, etc.

As funcionalidades do sistema operacional geralmente são inter-dependentes: por

exemplo, a gerência do processador depende de aspectos da gerência de memória, assim como a

gerência de memória depende da gerência de dispositivos e da gerência de proteção.

PARA REPRESENTAÇÃO GRÁFICA VIDE:

MAZIERO, Carlos Alberto. Sistemas Operacionais I - Conceitos Básicos. PGIA CCET PUCPR. Disponível em: <http://www.ppgia.pucpr.br/~maziero/doku.php?id=so:livro_de_sistemas_operacionais>Arquivo: so-cap01.pdf. Acesso em: 21/04/2008.

Alguns autores [SGG01, Tan03] representam a estrutura do sistema operacional conforme

indicado na figura 2. Nela, o núcleo central implementa o acesso de baixo nível ao hardware,

enquanto os módulos externos representam as várias funcionalidades do sistema.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 9 de 44

Page 10: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Políticas e Mecanismos5

Uma regra importante a ser observada na construção de um sistema operacional é a

separação entre os conceitos de política e mecanismo. Como política consideram-se os aspectos

de decisão mais abstratos, que podem ser resolvidos por algoritmos de nível mais alto, como

por exemplo decidir a quantidade de memória que cada aplicação ativa deve receber, ou qual o

próximo pacote de rede a enviar para satisfazer determinadas especificações de qualidade de

serviço.

Por outro lado, como mecanismo consideram-se os procedimentos de baixo nível

usados para implementar as políticas, ou seja, atribuir ou retirar memória de uma aplicação,

enviar ou receber um pacote de rede, etc.

Os mecanismos devem ser suficientemente genéricos para suportar mudanças de política

sem necessidade de modificações.

Essa separação entre os conceitos de política e mecanismo traz uma grande flexibilidade

aos sistemas operacionais, permitindo alterar sua personalidade (sistemas mais interativos ou mais

eficientes) sem ter de alterar o código que interage diretamente com o hardware. Alguns sistemas,

como o InfoKernel [ADADB+ 03], permitem que as aplicações escolham as políticas do sistema

mais adequadas às suas necessidades.

Estrutura de um Sistema Operacional6 Um sistema operacional é composto de diversos componentes com objetivos e

funcionalidades complementares. Alguns dos componentes mais relevantes de um sistema

operacional típico são:

● Núcleo : é o coração do sistema operacional, responsável pela gerência dos

recursos do hardware usados pelas aplicações. Ele também implementa as principais

abstrações utilizadas pelos programas aplicativos.

● Drivers : módulos de código específicos para acessar os dispositivos físicos. Existe

5 MAZIERO, Carlos Alberto. Sistemas Operacionais I - Conceitos Básicos. PGIA CCET PUCPR. Disponível em: <http://www.ppgia.pucpr.br/~maziero/doku.php?id=so:livro_de_sistemas_operacionais> Arquivo: so-cap01.pdf. Acesso em: 21/04/2008.

6 Idem.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 10 de 44

Page 11: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

um driver para cada tipo de dispositivo, como discos rígidos IDE, SCSI, portas USB, placas

de vídeo, etc. Muitas vezes o driver é construído pelo próprio fabricante do hardware e

fornecido em forma compilada (em linguagem de máquina) para ser acoplado ao restante do

sistema operacional.

● Código de inicialização : a inicialização do hardware requer uma série de tarefas

complexas, como reconhecer os dispositivos instalados, testá-los e configurá-los

adequadamente para seu uso posterior. Outra tarefa importante é carregar o núcleo do

sistema operacional em memória e iniciar sua execução.

● Programas utilitários : são programas que facilitam o uso do sistema

computacional, fornecendo funcionalidades complementares ao núcleo, como formatação de

discos e mídias, configuração de dispositivos, manipulação de arquivos (mover, copiar,

apagar), interpretador de comandos, terminal, interface gráfica, gerência de janelas, etc.

PARA REPRESENTAÇÃO GRÁFICA VIDE:

MAZIERO, Carlos Alberto. Sistemas Operacionais I - Conceitos Básicos. PGIA CCET PUCPR. Disponível em: <http://www.ppgia.pucpr.br/~maziero/doku.php?id=so:livro_de_sistemas_operacionais> Arquivo: so-cap01.pdf. Acesso em: 21/04/2008.

As diversas partes do sistema operacional se relacionam entre si conforme apre-

sentado na figura acima.

A forma como esses diversos componentes são interligados e se relacionam varia de

sistema para sistema.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 11 de 44

Page 12: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

PARTE II � Linux: História e TradiçãoEsta introdução (dividida entre as partes II e III deste documento) tem como objetivos

permitir que você:

● Conheça a origem e a história do Linux

● Saiba explicar o que é o GNU e o que é o Linux no GNU/Linux

● Conheça mais profundamente o conceito de distribuições no Linux e seja capaz

de identificar as suas diversas partes.

● Conheça a teoria por trás da inicialização do Linux (tópico a ser acrescentado na

próxima versão).

● Conheça a base da estrutura de diretórios do Linux

● Entenda a importância do root

● Entenda a importância da pasta /home

● Seja capaz de criar um usuário na interface gráfica

● Seja capaz de ler e de alterar as permissões de arquivos e pastas em modo

gráfico e modo texto

● Tenha alguma intimidade com o Shell e sua operação.

Os Sistemas UNIXCriado nos Bell Laboratories o UNIX teve sua primeira versão compilada em

1969, e no que diz respeito a sua arquitetura e premissas o Linux é considerado

um “clone” do UNIX utilizando inclusive a mesma nomenclatura em seus comandos

operacionais principais .

O GNU/Linux e suas distribuiçõesEm 25 de agosto de 1991, uma mensagem postada por um então aluno da

Universidade de Helsinki, em um BBS, inesperadamente tornava-se um documento

histórico, anunciando pela primeira vez, o nascimento de um modesto sistema operacional batizado

de Linux, outro clone do UNIX como o seu próprio nome denunciava

Com esta mensagem, Linus Torvalds deu início ao processo de construção coletiva do

sistema operacional Linux, um sistema operacional “tipo X” que em poucos anos viria a concorrer

com todos os sistemas proprietários disponíveis no mercado, em todo tipo de finalidade.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 12 de 44

Page 13: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Mas foi Richard Stallman quem criou a Free Software Foundation em 1984 iniciando o

projeto GNU, segundo Stallman sua motivação foi constatar o virtual desaparecimento da cultura de

compartilhamento de softwares dentro do laboratório de Inteligência Artificial do MIT, de onde seus

pares estavam saindo para entrar ou para fundar companhias de software proprietário.

Stallman é o autor da idéia por trás do "free software" (no Brasil batizado de Software

Livre) segundo a qual aos programadores deveria ser garantido o direito de acesso ao código fonte

dos softwares permitindo que alterações fossem feitas para adaptar o software a cada necessidade.

Foi Stallman quem criou a famosa licença GNU/GPL (sob a qual o Linux é licenciado), a

GNU General Public License (GNU/GPL).

GNU é um acrônimo recursivo para "GNU's Not Unix", um tipo de piadinha recorrente

entre os hackers e geeks.

A página oficial do projeto GNU na internet (http://www.gnu.org/gnu/gnu-history.html)

oferece a seguinte explicação sobre a sigla: "O nome 'GNU' foi escolhido porque atende alguns

requisitos; primeiro, era um acrônimo recursivo para 'GNU não é Unix' (GNU's Not Unix),

segundo, porque era uma palavra verdadeira, e terceiro, era divertida de dizer (ou cantar)."

Certidão de Nascimento

“From: [email protected] (Linus Benedict Torvalds) / Newsgroups: comp.os.minix / Subject: What would you like to see most in minix? / Summary: small poll for my new operating system / Keywords: 386, preferences / Message-ID: [email protected] / Date: 25 Aug 91 20:57:08 GMT

Organization: University of Helsinki Lines: 20 Olá a todos aí fora usando minix - Eu estou fazendo um sistema operacional (grátis) (é só um passatempo, não vai ser grande e profissional como o gnu) para clones 386(486)AT. Ele tem fermentado desde abril, e está começando a ficar pronto. Eu gostaria de comentários sobre coisas que as pessoas gostam/desgostam no minix, uma vez que meu SO lembra-o de alguma forma (mesma organização física do sistema de arquivos (devido a razões práticas) entre outras coisas). Eu já portei o bash (1.08) e o gc(1.40), e as coisas parecem funcionar. Isso sugere que eu vou conseguir algo prático em alguns poucos meses, e eu gostaria de saber quais as funções que a maioria das pessoas quer. Qualquer sugestão é bem-vinda, mas eu não vou prometer que vou implementá-las :-)

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 13 de 44

Page 14: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Linus ([email protected] ) PS. Sim - ele está livre de qualquer código do minix, e tem um fs (file system - sistema de arquivos) de múltiplas transações. Ele NÃO é portável (utiliza chaveamento de tarefas do 386 etc), e ele provavelmente nunca irá suportar qualquer coisa além de discos rígidos AT, uma vez que são tudo o que tenho :-(.85”

“From: [email protected] (Linus Benedict Torvalds) / Newsgroups: comp.os.minix / Subject: What would you like to see most in minix? / Summary: small poll for my new operating system / Keywords: 386, preferences / Message-ID: [email protected] / Date: 25 Aug 91 20:57:08 GMT

Organization: University of Helsinki Lines: 20 Olá a todos aí fora usando minix - Eu estou fazendo um sistema operacional (grátis) (é só um passatempo, não vai ser grande e profissional como o gnu) para clones 386(486)AT. Ele tem fermentado desde abril, e está começando a ficar pronto. Eu gostaria de comentários sobre coisas que as pessoas gostam/desgostam no minix, uma vez que meu SO lembra-o de alguma forma (mesma organização física do sistema de arquivos (devido a razões práticas) entre outras coisas). Eu já portei o bash (1.08) e o gc(1.40), e as coisas parecem funcionar. Isso sugere que eu vou conseguir algo prático em alguns poucos meses, e eu gostaria de saber quais as funções que a maioria das pessoas quer. Qualquer sugestão é bem-vinda, mas eu não vou prometer que vou implementá-las :-)

Linus ([email protected] ) PS. Sim - ele está livre de qualquer código do minix, e tem um fs (file system - sistema de arquivos) de múltiplas transações. Ele NÃO é portável (utiliza chaveamento de tarefas do 386 etc), e ele provavelmente nunca irá suportar qualquer coisa além de discos rígidos AT, uma vez que são tudo o que tenho :-(.85”

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 14 de 44

Page 15: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

PARTE III � Do You Ubuntu?

Um Linux muito fácil de usarMuita coisa mudou nos últimos 10 anos, das primeiras versões do Linux até as mais

recentes os programadores que estão empenhados neste projeto ao redor do mundo atingiram um

retumbante sucesso. Mesmo assim, ainda hoje, muitas pessoas torcem o nariz quando se fala em

Linux, é comum ouvir frases como: “mas não é muito difícil?”, “com Linux não dá para usar

minha câmera”, “mas eu não sei compilar nada”, “isso é coisa de hacker, eu só quero usar o

computador”, ou até “eu lí em uma revista que o Windows é muito superior”. O primeiro objetivo

deste documento é desmistificar esta imagem, por isso não vamos focar a utilização do sistema com

o terminal de comando ou qualquer destas coisas ditas “avançadas”, vamos mostrar como usar o

Linux lidando quase exclusivamente com suas interfaces gráficas, e mesmo assim vamos conseguir

utilizar tudo o que alguém pode precisar em um sistema operacional.

O Linux que vamos utilizar (entre as dezenas que estão disponíveis) é o Ubuntu, uma distribuição sul-africana atualmente muito popular.

Distribuições: Linux, gostoso como sorvete! (e com muitos sabores!)Para o usuário acostumado com o MS-Windows pode ser difícil entender logo de cara

todas as diferenças do Linux. A primeira e que em

geral causa mais confusão é o fato de que não

existe um Linux, existem vários, e pior, cada

Linux pode ter uma interface gráfica diferente,

enquanto no MS-Windows existe apenas uma.

Mas na verdade este é um conceito bem menos

difícil do que parece, para entender as principais

diferenças do Linux em relação ao Windows é só

pensar em sorvete.

Como assim? Bem.. sorvetes existem em diferentes sabores. Chocolate, creme, morango,

abacaxi, passas ao rum e baunilha, todos são sabores da mesma coisa: sorvete!

Zela - http://www.sxc.hu/

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 15 de 44

Page 16: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Com o Linux acontece a mesma coisa, existem o Slackware7, Debian8, Suse9, OpenSuse10,

Fedora11, Ubuntu12, Muriqui13, Red Hat14, Kurumin15, Knoppix16 e diversos outros, todos são

“sabores” da mesma coisa: o Linux. Estes sabores são chamados de distribuições.

Para cada sorvete, independente do sabor, você ainda pode acrescentar uma cobertura (ou

várias): calda de chocolate, frutas vermelhas, marshmellow, farofa crocante, etc. Novamente, com o

Linux ocorre a mesma coisa, independente do sabor você pode utilizar a “cobertura” que quiser, ou

seja, a interface gráfica que quiser. Existem diversas coberturas para o Linux, as mais populares são

o Gnome17 e o KDE18, mas existem outras como o Enligthment19 e Xfce20

É difícil comparar as interfaces gráficas disponíveis para o Linux pois muitos fatores estão

envolvidos, em alguns casos a interface é apenas um gerenciador de janelas como o Enlightment ou

um sistema de Desktop completo como o KDE. O Gnome tem foco na usabilidade e na

simplicidade, já o Xfce pretende ser leve o bastante para funcionar em máquinas mais modestas.

Cada um deles apresenta uma interface e funcionalidades diferenciadas.

Para quem está chegando agora é interessante notar que no Linux (bem como no sistema

UNIX que lhe deu origem) as funcionalidades são atingidas com a cooperação de diferentes

componentes, incluindo aí a separação do X Windows System21 do sistema propriamente dito. Isso

impede que o código do sistema vire uma grande bagunça como ocorre em outros sistemas

operacionais, mas o melhor é que ele permite que “peças” sejam rapidamente trocadas, de acordo

com sua necessidade (você pode mudar do Gnome para o KDE, ou se quiser utilizar os dois na sua

máquina).

7 http://www.slackware.com/ ou http://www.slackware-brasil.com.br/web_site/8 http://www.debian.org/9 http://www.novell.com/linux/10 http://www.opensuse.org/11 http://fedoraproject.org/wiki/ ou http://www.fedora.org.br/12 http://www.ubuntu.com/13 http://www.muriquilinux.com.br/14 http://www.redhat.com/ ou http://www.br.redhat.com/15 http://www.guiadohardware.net/gdhpress/kurumin/16 http://www.knoppix.org/17 http://www.gnome.org/ ou http://br.gnome.org/18 http://www.kde.org/ ou http://twiki.softwarelivre.org/bin/view/KdeBR/WebHome19 http://www.enlightenment.org/20 http://www.xfce.org/21 Código que servem de base para as interfaces gráficas do Linux

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 16 de 44

Page 17: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

O Espírito do � ubuntu�“Ubuntu é um sistema operacional completo, baseado em Linux, distribuído livremente para uso em desktops, uso corporativo e servidores. Ele é desenvolvido por uma imensa comunidade, da qual você também pode fazer parte!”22

“Ubuntu é uma ideologia ética Sul Africana focada no compromisso e relações entre as pessoas. A palavra vem das línguas Zulu e Xhosa. Ubuntu (pronunciado "u-BUN-tu") é visto como um conceito tradicional Africano, é tratado como um dos princípios fundamentais da nova república Sul Africana e é conectado à idéia de um Renascimento Africano.Uma tradução rápida do princípio de Ubuntu é 'humanidade para os outros'. Outra tradução poderia ser: 'a crença em uma ligação universal de compartilhamento que conecta toda a humanidade' (...) Como uma plataforma baseada no Linux, o sistema operacional Ubuntu traz o espírito do ubuntu ao mundo do software.”23

"Uma pessoa com ubuntu é aberta e disponível aos outros, assistente aos outros, não se sente ameaçada por outros que são capazes ou bons, uma vez que ele ou ela tem uma auto-confiança que vem do saber que ele ou ela pertence a um conjunto maior e é diminuído quando outros são humilhados ou diminuídos, quando outros são torturados ou oprimidos."24 Arcebispo Desmond Tutu

O Ubuntu foi baseado no Debian, uma das melhores, mais antigas e mais populares

distribuições Linux de todos os tempos. Atualmente existem quatro tipos de Ubuntu, projetados

para serem utilizados em computadores pessoais ou em servidores:

1. O Ubuntu original, com a interface Gnome; 2. O Kubuntu, um Ubuntu com a interface KDE;3. O Xubuntu, um Ubuntu com a interface Xfce;4. O Edubuntu, um Ubuntu com a interface Gnome repleto de programas educacionais,

especialmente pensado para ser utilizado em escolas.Existe ainda a versão do Ubuntu para servidores, que vem com softwares específicos para

o mercado corporativo de servidores, com modos de instalação que permitem, por-exemplo, instalar

de uma só vez os softwares LAMP (Linux, Apache, MySQL e PHP/Pearl).

22 http://www.ubuntubrasil.org/23 https://help.ubuntu.com/6.10/ubuntu/about-ubuntu/pt_BR/about-ubuntu-name.html24 https://help.ubuntu.com/6.10/ubuntu/about-ubuntu/pt_BR/about-ubuntu-name.html

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 17 de 44

Page 18: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Conhecendo a interfaceO “sabor” de Linux que

trataremos aqui é o Ubuntu (e suas

variantes Kubuntu, Xubuntu e Xfce), a

ilustração 1 mostra a interface clássica do

Ubuntu com o gerenciador de janelas

Gnome.

Esta imagem exibe as principais

áreas do Gnome. São elas:

1. A Barra de Menus, que

traz menus personalizados e alguns ícones ao seu lado (neste caso para acesso rápido ao

navegador web (browser) Firefox, o cliente de e-mail Evolution e ao sistema de ajuda);

2. Relógio/Calendário, Controle de Volume e botão para Desligar o sistema;

3. Alguns ícones no Desktop para acesso rápido a programas;

4. Botão para minimizar (ou maximizar) todas as janelas e exibir rapidamente o

Desktop;

5. Aplicativo minimizado no painel inferior;

6. Alternador de Espaços de Trabalho – permite que você tenha a sensação de

trabalhar com diversos Desktops;

7. A Lixeira do sistema;

8. O Desktop.

Ilustração 1: A área de trabalho do Ubuntu

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 18 de 44

Page 19: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Propriedades dos Painéis Superior e InferiorAo contrário do Windows, que tem um único painel inferior (chamado barra de tarefas) o

Gnome traz – tradicionalmente – duas barras, uma inferior e outra superior, chamadas painéis.

OBSERVAÇÃO: A continuação deste tópico será publicada em uma versão futura deste documento.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 19 de 44

Page 20: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Copy & PasteAlém do tradicional Ctrl+C e Ctrl+V o gerenciador de janelas Gnome (usado por padrão

no Ubuntu) permite uma forma alternativa e prática de se copiar um conteúdo, utilizando apenas o

mouse. Pra isso basta selecionar o texto que se deseja copiar na janela de origem (por exemplo, seu

browser) e depois, com o conteúdo ainda selecionado, abra a janela de destino (por exemplo o

Writer) e clique com o botão do meio do mouse (em geral uma rodinha de scroll). Se você clicar a

rodinha como se ela fosse um botão, o texto será copiado, sem a necessidade das teclas Crtl+C e

Ctrl+V.

Criando links no DesktopO gerenciador de janelas Gnome permite que links e arquivos de texto sejam criados

diretamente na sua Área de Trabalho (ou dentro de diretórios caso eles estejam abertos e visíveis).

Para criar um arquivo de texto basta selecionar o texto e arrastar para o Desktop, isso criará um

arquivo automaticamente. Para criar

um link você deve utilizar o mesmo

procedimento, arraste o ícone da

página, que está dentro da barra de

endereço do seu broswer para o

Desktop (conforme indicado na

ilustração 2) e um link será criado

como atalho, permitindo que você

volte a página apenas dando um duplo

clique neste atalho (este procedimento

também funciona com links dentro das

páginas).

Ilustração 2: Métodos para criar arquivos e links no Desktop com o GNOME.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 20 de 44

Page 21: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Pastas Ocultas

OBSERVAÇÃO: A continuação deste tópico será publicada em uma versão futura deste documento.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 21 de 44

Page 22: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Criando usuários no Ubuntu O Linux gerencia o computador com um

rigoroso controle de usuários e grupos de usuários.

Cada diretório ou arquivo traz consigo um

conjunto de permissões controlando como cada

usuário e grupo utiliza o computador. Trataremos

mais sobre este assunto no capitulo de permissões

de arquivos. Aqui vamos nos concentrar na

criação de usuários.

Para criar um novo usuário você deve:

1. Acessar o menu: Sistema > Administração > Usuário e Grupos,

2. O sistema ira pedir a senha do usuários ROOT, pois por questões de segurança, só ele devera ter permissão de criar usuários e grupos.

3. Depois de digitar a senha do ROOT a janela da ilustração 4 será exibida. Clique no botão Adicionar Usuário...

Ilustração 3: Localização da interface de administração de usuários e grupos.

Ilustração 4: Adicionando um Usuário.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 22 de 44

Page 23: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

4. Agora, na nova janela que se abriu (ilustração 5) digite: Nome de Usuário para o seu login no sistema, por ex. aluno (tome o cuidado de digitar tudo em caixa baixa pois o sistema diferencia MAIÚSCULAS de minúsculas),. depois digite o seu Nome Real (aqui da maneira que deseja que ele seja exibido pelo sistema),. Agora digite sua senha no campo Senha do Usuário e depois confirme-a no campo Confirmação.

5. Ao clicar no botão OK seu novo usuário será criado.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 23 de 44

Ilustração 5: Criando uma conta de usuário.

Page 24: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

PARTE IV � O Sistema de ArquivosO sistema de arquivos do Linux é bastante similar ao padrão do UNIX, mas claro com

algumas diferenças. A chave para entender o sistemas de arquivos do Linux é entender sua

estrutura. Ele é desenhado em uma hierarquia de árvore, o nível mais alto, comummente chamado

root é único diretório neste nível. Todos os demais diretórios são relativos a ele.

FHS (Linus Filesystem Standard)25

O FHS (Filesystem Hierarchy Standard) especifica detalhadamente como um sistema de

arquivos do Linux deve ou não deve ser, seu principal objetivo é prover consistência e padronização

entre os sistemas de arquivo. Esta padronização pode ser resumida assim:

Recursos compartilháveis versus recursos não compartilháveis. Consiste nos arquivos que

podem ser distribuídos entre diferentes hosts e em arquivos que devem ser específicos de um único

host. Por exemplo, os dados de uma aplicação de banco de dados podem ser distribuídos em

diferentes hosts.

25 Baseado em: Special Edition Using Linux, Sixth Edition

Ilustração 6: Exemplo generalizante de uma estrutura de diretórios em acordo com a FHS.Fonte: Special Edition Using Linux, Sixth Edition

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 24 de 44

Page 25: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

A estrutura de diretórios do UBUNTUA estrutura de diretórios do Linux no Ubuntu e no Debian, ou File System, segue a

estrutura padrão da maioria das grandes distribuições Linux.

ATENÇÃO: Você pode não ter todos os diretórios que serão listados ou pode ter alguns a mais. Eles são geralmente criados por programas, conforme as necessidades, ou durante uma instalação ou quando o programa é executado pela primeira vez.

Ilustração 7: Estrutura de diretórios padrão do Ubuntu

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 25 de 44

Page 26: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Tabela com os principais diretórios de distribuição Linux típica.

DIRETÓRIO DESCRIÇÃO

/ diretório root, ou partição root. Base de onde derivam todos os diretórios.

home/ diretório onde ficam os sub-diretórios dos usuários.

bin/binary, onde alguns programas aplicações e scripts que são acessíveis a todos os usuários ficam guardados. Como por exemplo o comando ls.

dev/

diretório devices, é tipo de diretório virtual, ou seja não há sub-pastas verdadeiras dentro desta pasta. O Linux trata tudo como pastas e arquivos, por isso ele cria uma representação do hardware como pastas e arquivos dentro deste diretório dev durante a instalação. O dev guarda a representação virtual do hardware do computador.

etc/diretório onde seus arquivos de configuração para vários programas ficam guardados. Arquivos de inicialização, boot, etc. ficam guardado aqui

lib/

diretório library, onde as bibliotecas compartilhadas ficam armazenadas: itens como o Pearl, C e outras bibliotecas compartilhadas por diversos programas. Também é aqui que ficam armazenados os módulos do kernel.

mnt/

diretório mount, no Linux hard-drives, disketes, cd-roms, discos USB, câmeras fotográficas, etc. são "montados" pelo sistema, o que significa que são plugados na estrutura de diretórios. Assim com uma pasta neste diretório equivale a um "link" para o disco conectado, ou seja o drive é "montado" no sistema.

proc/

outro diretório virtual (como o dev) com informações sobre o sistema como os processos que estão rodando, o status dos slots PCI, enfim informações sobre tudo que está acontecendo com o hardware do sistema.

root/ diretório padrão do usuário root, que por segurança não fica dentro da pasta home como com os demais usuários.

sbin/

diretório secure binary, aqui ficam as aplicações que precisam de permissão de administrador para serem executadas, como o fdisk que pode fazer particionamentos de disco e que em geral é melhor que esteja fora das mãos do usuário médio.

tmp/diretório onde são salvas as informações temporárias dos programas que estão sendo executados, em geral são apagadas quando o programa é finalizado ou quando o sistema é reinicializado.

usr/ diretório unique system resources, é onde as informações, dados,

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 26 de 44

Page 27: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

DIRETÓRIO DESCRIÇÃO

bibliotecas, e aplicações compartilhadas ficam. Este diretório pode inclusive guardar informações de "thin clients" na rede.

var/ diretório variablae arquivos e dados, onde arquivos de log, conteúdo de websites, spool files, etc.

boot/diretório linux kernel, linux config e arquivos SystemMap. Mas isso varia entre distribuições. É comum em distribuições deivadas do Red Hat.

media/diretório equivalente ao mnt porém mais voltado para mídia removível (o mnt tem foco maior em partições de rede). Mas isso varia entre distribuições.

opt/

diretório optional, funciona como um sandbox ou testing ground. Utilizado normalmente como área de testes, mas algumas distribuições às vezes instalam itens aqui. Mas isso varia entre distribuições.

PARTE V � Conhecendo o ShellO termo Shell se refere aos programas de sistemas do tipo Unix que recebem, interpretam e

executam comandos do usuário. Ele funciona como uma linha de comandos, representada por um

prompt, que aguarda na tela os comandos do usuário.

A tradução de Shell para português significa "concha". Na informática o Shell, de maneira

genérica, é um programa que intermeia o contato entre o usuário e o computador.

Neste sentido genérico poderíamos dizer que o Shell dos antigos MS-Windows 3.1 e 3.11

era o Prompt de Comando, que podia inclusive ser substituído por outro programa, mudando a

interface do usuário com o sistema. É claro que comparar o Shell do Lunix com o Prompt de

Comando dos antigos MS-Windows é meio desproporcional, já que o Shell é muito mais poderoso.

ATENÇÃO: processos e programas (inclusive os gráficos) podem ser ativados via Shell.

Existem diversas implementações de Shell, dentre os quais podemos mencionar o csh, tcsh,

sh, bash, ksh, zsh e muitos outros. Cada um pode executar comandos gerais do sistema de maneira

semelhante, porém possuem estruturas e comandos próprios que os diferenciam. Outra grande

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 27 de 44

Page 28: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

diferença entre os diversos tipos de Shell são as facilidades que eles oferecem para o

reaproveitamento de comandos e manipulação da linha de comandos26 (nossos exemplos irão, em

sua maioria, utilizar o bash).

ATENÇÃO: No Linux uma mesma palavra escrita em caixa alta (MAIÚSCULAS) e caixa baixa (minúsculas) será tratada como duas palavras diferentes. Essa regra vale para diretórios, arquivos, logins (nomes de usuário) e senhas.

Ao utilizar o Shell a primeira coisa que você deve ter em mente é que no Linux caixa alta

(MAIÚSCULAS) e caixa baixa (minúsculas) são coisas completamente diferentes. Assim os

diretórios abaixo são totalmente independentes e devem ser digitados corretamente para serem

acessados:

Fatec/FATEC/fatec/

Criando Pacotes TARO Linux permite que você “empacote” vários arquivos e/ou diretórios em um único

arquivo. Para isso utilizamos o comando tar. Veja o exemplo:

tar -cvvf teste.tar aula/

cria um tar do diretório aula no arquivo teste.tar

tar -xvvf teste.tar

extrai o diretório aula de dentro do arquivo teste.tar

Digitando RapidamenteNo shell do Linux é possível repetir um comando já digitado anteriormente apertando a

seta “para cima” do teclado até localizar o comando procurado. Usando as setas para direita e

esquerda você pode editar um comando modificando algum parâmetro.

Outra recurso para otimizar a digitação é um recurso que envolve nomes longos de

arquivos ou diretórios. Por exemplo, se você tiver um diretório com dois arquivos com os seguintes

nomes:

26 FONTE: http://pt.wikipedia.org/wiki/Shell

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 28 de 44

Page 29: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

trabalhos1oSem2006_FATEC-CP.tar.gz

provas2oSem2006_FATEC-CP.tar.gz

E deseje copiar rapidamente descompactar o arquivo de provas. Para isto basta digitar:

tar -xvzf p <tecla TAB>

Ou seja, basta digitar um comando, a primeira letra do arquivo e depois a tecla TAB para a

linha digitada aparecer com o nome do seu arquivo desta forma:

tar -xvzf provas2oSem2006_FATEC-CP.tar.gz

Permitindo que o comando seja mais rapidamente executado já que você não vai precisar

digitar todo o nome do arquivo.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 29 de 44

Page 30: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Comandos Mais ComunsApesar de atualmente quase todas as operações do Linux poderem ser executadas pela

interface gráfica, conhecer alguns comandos do Shell confere flexibilidade e grande controle ao

usuário. Nosso primeiro contato com o Shell vai ser com os principais comandos que podem ser

necessários durante a operação do Linux, listados na tabela abaixo.

COMANDOS MAIS COMUNS

top – exibe a tabela de processos e aplicativos em andamento, exibe ainda como cada um deles está utilizando os recursos de memória e processador. Exibe também totalizadores da performance da máquina.

ps – exibe um processo específico se for acrescentado o  PID (Process Id) ou número do processo (foi exibido pelo comando top)

kill ­9 <número do PID a ser derrubado> – derruba (finaliza) um processo em andamento.

ls – lista os arquivos de um diretório. Seus atributos mais comuns são:­a – mostra arquivos ocultos­l – mostra bytes, permissões, diretórios, etc.­h – arredonda as informações de tamanho e hora/data para formatos mais fáceis de ler.O comando ls permite ainda que você crie listagens do conteúdo de seus diretórios. Para isso utilize a seguinte sintaxe: ls > NomeDoArquivoDestino.txtObs: No comando acima você também pode adicionar parâmetros do ls para obter uma listagem detalhada.

rm – remove arquivos e diretórios. Use no formato: rm (arquivo1) (arquivo2) (arquivo3...). Exemplo: rm fatec.txt site.html texto.odt

cp – copia arquivos. Exemplo: cp fatec.txt home/juninho/

pwd – mostra o diretório atual (onde você está)

cd – navega nos diretóriosExemplo 1 (vai para o diretório ana):  cd home/ana/Exemplo 2 (volta para o diretório home do usuário):  cdExemplo 3 (volta para o diretório anterior):  cd ..

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 30 de 44

Page 31: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

COMANDOS MAIS COMUNS

rmdir – apaga um diretório vazioExemplo: rmdir teste

mkdir – cria um diretóriosExemplo: mkdir teste

clear – limpa a tela.

who – mostra quem está logado na máquina

df – mostra o espaço usado, espaço livre e a capacidade do HD

mv – move (ou renomeia) um arquivoExemplo: mv teste2 Desktop

man <comando> ­ exibe as páginas do manual de um determinado comando, ideal para verificar os parâmetros e aprofundar os conhecimentos sobre a capacidade de cada comando.Exemplo: man ls

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 31 de 44

Page 32: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Permissões de ArquivosCada diretório e arquivo tem três conjuntos de permissões aplicadas a eles: um para o

usuário, um para o grupo de usuários a que pertence, e um para todos os outros usuários.

Os tipos de permissão são:

● leitura , em inglês: read (r)

● escrita , em inglês: write (w)

● execução, em inglês: execute (x)

A notação dessas permissões em um diretório ou arquivo é exibida da seguinte maneira:

Desta forma é possível determinar exatamente quem pode fazer o que com cada arquivo.

Com direito de leitura um usuário pode ler um arquivo, com direito de escrita pode além de alterar

apagar o arquivo, e com direito de execução pode acionar um programa.

Quando estamos falando de um diretório as regras são muito parecidas, a principal

diferença é o direito de execução que neste caso se refere a permissão para “ver” o conteúdo do

diretório. O direito de escrita em um diretório permite renomear ou apagar o diretório, mas para

interferir com os arquivos dentro de um diretório o usuário precisa ter direitos sobre cada um deles.

O usuário root tem acesso ilimitado a todos os diretórios e arquivos, independente das

permissões.

O atributo Sticky (ou PEGAJOSO em português) limita o direito de uso de um diretório.

Com este atributo aplicado a um diretório os usuários de um mesmo grupo ficam limitados a

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 32 de 44

Page 33: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

interferir apenas nos arquivos que tiverem sido criados por eles mesmos, não podendo interferir nos

arquivos de outros membros do grupo.

No Gnome é possível alterar as permissões de um arquivo ou diretório dando um clique

com o botão direito sobre um arquivo ou diretório, selecionando PROPRIEDADES no menu pop-

up que se abriu e depois clicando na aba PERMISSÕES:

As imagens acima (ilustrações 8 e 9) permitem notar que a interface gráfica pode variar um bocado entre diferentes releases de uma mesma distribuição. Ou seja, mais um grande motivo para você aprender a lidar com as permissões de arquivos e diretórios por intermédio do Shell.

Com o comando ls -l você pode ver as permissões de um arquivo no terminal. O Comando

ls -CF ajuda muito quem está começando pois mostra direórios, arquivos e links com clareza.

Para mudar as permissões utilizamos o comando chmod. Existem duas sintaxes possíveis

para este comando, uma com letras e outra, mais simples, com números.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 33 de 44

Ilustração 8: Tela de alteração de permissões na versão 6.10 do Ubuntu.

Ilustração 9: A mesma tela de alteração de permissões na versão7.10 do Ubuntu.

Page 34: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Método LetrasUtiliza os sinais + ou – (adição ou subtração) para adicionar ou remover permissões. Com

uma combinação das letras “ugoa” você controla quais usuários podem ter aceso ao arquivo/pasta.

Os perfis são: usuário que é o dono do arquivo (u), outros usuários no grupo (g), outros

usuários que não pertencem ao grupo (o), todos os usuários (a). Se a letra não é especificada o

comando interpreta que a seleção foi “a”.

Exemplos (Método Letras)

chmod u+rw arquivo / Dá ao usuário permissão de ler e escrever.

chmod o-rwx arquivo / Remove ler/escrever/executar dos usuários fora do grupo.

chmod a+r arquivo / Dá a todos permissão de ler o arquivo.

chmod a=rx arquivo / Dá a todos permissão de executar e ler o arquivo, se alguém tivesse permisão de escrita ela seria removida.

Método NúmerosCada permissão também pode se representada por um valor numérico, da seguinte forma:

r = 4

w = 2

x = 1

- = 0

Somados estes valores representam um número que determina um tipo específico de

permissão, funcionando como um tipo de atalho para o método das letras.

Em um hipotético arquivo texto_exemplo.txt, temos as seguintes permissões:

- (rw-) (rw-) (r--)

| | |

4+2+0 4+2+0 4+0+0

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 34 de 44

Page 35: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

O total para o usuário é seis, o total para o grupo é seis e o total para os outros é quatro.

Desta forma a permissão é representada por 664.

Para alterar um arquivo para esta permissão basta digitar:

chmod 644 nomedoseuarquivo.txt

ANTENÇÃO: Resultados catastróficos podem advir do uso incorreto ou desatento das permissões, em especial permissões 666 e 777. Elas permitem que qualquer um leia e escreva em um arquivo ou em um diretório. Isso em geral não é uma boa idéia.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 35 de 44

Page 36: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Exemplos (Método Números)Aqui uma lista com permissões mais comuns, seus valores numéricos e os significados:

-rw------- (600) – Só o dono consegue ler e escrever aqui.

-rw-r--r-- (644) – Só o dono consegue escrever, os demais podem ler (boa idéia).

-rwx------ (700) – Só o dono lê, escreve e executa (egoísta).

-rwxr-xr-x (755) – O dono pode tudo, o grupo e os outros lêem e executam.

-rwx--x--x (711) – O dono pode tudo, o grupo e os outros só executam.

-rw-rw-rw- (666) – Todo mundo pode ler e escrever (essa é uma péssima idéia).

-rwxrwxrwx (777) – Todo mundo pode tudo (continua sendo uma péssima idéia).

Permissões mais comuns para os diretórios:

drwx------ (700) – Só o dono pode ler e escrever no diretório.

drwxr-xr-x (755) – Todos podem ler, só o dono pode alterar o conteúdo.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 36 de 44

Page 37: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

EXERCÍCIOS DE FIXAÇÃO

ATENÇÃO: Alguns destes exercícios vão dar errado de propósito, outros estão explicando apenas metade do que dever ser feito, e outros ainda pedem que você execute comandos ou procedimentos que não foram vistos em aula nem constam deste documento.

Esta abordagem vai além do simples “divertimento do professor” (como alguns alunos inferem erroneamente), e objetiva permitir que os alunos sintam a “Solidão do Terminal” e que busquem contar apenas com o comando man para resolver os exercícios propostos ou descobrir o que há de errado com eles.

Quase como se estivessem efetivamente trabalhando com o Linux em uma situação real e só pudessem contar com sua própria habilidade.

Desta forma solicitamos que os exercícios sejam feitos individualmente (e sem buscar as respostas no Google) tanto quanto for possível.

Exercício 011) Acione o terminal e descubra em qual diretório você está.2) Liste os arquivos deste diretório.3) Entre no seu diretório Desktop4) Crie um diretório dentro do diretório teste 1 com o seguinte comando: mkdir teste 15) Crie um diretório dentro do diretório teste 2 com o seguinte comando: mkdir teste 26) Responda: O que deu errado?

Exercício 021) Apague os três diretórios criados anteriormente com apenas uma linha de comando.2) Crie (no seu Desktop) os diretório teste1 , teste2 e teste3.3) Liste o conteúdo do seu Desktop para confirmar a criação dos diretórios.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 37 de 44

Page 38: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Exercício 031) Acione a interface gráfica do gerenciador de arquivos digitando o nome do programa:

nautilus2) Utilizando o Nautilus abra seu diretório teste1 e crie (com o botão da direita) os seguintes

arquivos vazios: contas.txt, supermercado.txt3) Agora utilizando o pico, nano ou vi crie no mesmo diretório os arquios FATEC.txt,

fatec.txt, Fatec.txt e Outros.txt (digite o nome dos arquivos exatamente como escrito aqui).

4) Feche o Nautilus.5) Feche o editor que vc. abriu no terminal.

Exercício 041) Volte para o diretório do seu Desktop (sempre usando o Terminal)2) Crie um novo diretório chamado aula3) Mova os diretórios teste1, teste2 e teste3 para dentro do diretório aula

Exercício 051) Entre no diretório teste12) Gere um novo arquivo chamado listagem.txt contendo todas as informações de nome,

permissões e tamanho dos arquivos criados no diretório teste1. (Para isso utilize o comando ls -l > listagem.txt )

3) Mova os arquivos FATEC.txt, fatec.txt e Fatec.txt para o diretório teste24) Mova os arquivos contas.txt, supermercado.txt e Outros.txt para o diretório teste35) Verifique os arquivos dentro dos diretórios teste2 e teste3

Exercício 061) Volte para o diretório Desktop2) Gere um arquivo .tar chamado teste com o conteúdo da pasta aula.3) Apague a pasta aula4) Extraía o conteúdo do arquivo tar que você gerou.

Exercício 071) Entre novamente na pasta que vc. acabou de extrair do arquivo .tar2) Gere um arquivo chamado TUDO.TXT com a junção de todos os arquivos de texto que

estão neste diretório. (Utilize o comando cat, consulte o manual para saber como ele funciona).

3) Compacte este novo arquivo com o Gzip (Novamente consulte o manual para saber como ele funciona).

4) Apague este arquivo.5) Faça tudo de novo com apenas uma linha de comando (concatenar e compactar).

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 38 de 44

Page 39: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Exercício 081) Descubra o nome da calculadora (qual o nome do processo).2) Crie um ícone no seu Desktop (Gnome) para chamar a calculadora (utilize uma imagem de

calculadora no ícone).3) Teste para ver se funcionou

Exercício 09Após a listagem de um arquivo com o comando ls –al obteve as informações abaixo.

Explique o que cada uma das dez linhas significa (o maior número de informações por linha) em

um arquivo chamado respostas.txt (que você deverá criar com o terminal em um diretório ALUNO

dentro do diretório Desktop).

-rw-r--r-- 1 rbns rbns 309 2007-11-28 19:24 credicard

-rw-r--r-- 1 rbns rbns 309 2007-11-28 19:24 credicard~

lrwxrwxrwx 1 rbns rbns 18 2007-11-04 22:10 Desktop -> Área de Trabalho/

lrwxrwxrwx 1 rbns rbns 26 2007-11-04 19:41 Examples -> /usr/share/example

drwxr-xr-x 2 rbns rbns 4096 2007-11-04 19:51 Público

drwx------ 20 rbns rbns 294912 2008-04-21 18:58 .Trash

drwxr-xr-x 4 rbns rbns 4096 2008-04-10 20:03 Vídeos

-rw------- 1 root root 122 2008-03-20 08:30 .Xauthority

drwxr-xr-x 2 rbns rbns 4096 2008-01-30 11:56 .xine

-rw-r--r-- 1 rbns rbns 42808 2008-04-21 19:31 .xsession-errors

Exercício 09Crie um arquivo (sempre usando apenas o Terminal) chamado resultados.txt dentro do

diretório home/ASTI com os dados do ls -al do diretório / (barra ou root)

Exercício 10Crie um arquivo (usando o Terminal) chamado resultados2.doc dentro do diretório Alunos

com os dados do ls -l do diretório /etc

Exercício 11Execute o comando pwd e veja o que ele faz. Explique o que você observou em um

arquivo chamado pwd.txt dentro do diretório home/ASTI

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 39 de 44

Page 40: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Exercício 12Crie no Desktop e copie um arquivo rascunho.txt para o diretório SeuNome utilizando o

cp. Terminada esta operação renomeie o arquivo para finalizado.txt

Exercício 13Atribua permissões de leitura para outros; escrita e leitura para grupo e permissão total para usuário

no arquivo finalizado.txt

Responda dentro do arquivo finalizado.txt (utilizando o Terminal): Qual é o número que

representa esta permissão?

Exercício 14Crie a seguinte árvore de diretórios abaixo de SEU diretório home:

Pessoal/FATEC Trabalho/ASTI/Linux/Ubuntu

/Connectiva

/ADSTI/Fabio

/MAgali

/JT/Vera

Exercício 15Crie o arquivo aulaLinux2.txt dentro do diretório Linux contendo o texto: A estrutura do

Linux é dividida em Shell, Kernel e Ferramentas e aplicativos. Concatene o arquivo auladeLinux2

com o arquivo finalizado.txt gerando o arquivo AulasdeLinuxConcat.html

Exercício 16O que realiza o comando abaixo?:

$ ls-la > listagem2.txt

(continua na próxima página...)

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 40 de 44

Page 41: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Exercício 17Supondo que os detalhes dos arquivos pertencentes a um determinado diretório sejam

estes:

drwxr-xr-x 5 root root 4096 2008-02-25 19:12 .

drwxr-xr-x 21 root root 4096 2007-11-04 19:48 ..

drwxr-xr-x 30 ana ana 4096 2008-04-18 00:08 ana

drwxr-xr-x 82 rbns rbns 4096 2008-04-21 19:03 rbns

drwxr-xr-x 23 victor victor 4096 2008-02-25 22:22 victor

-rwxrw-r-- 1 Ana Financ 1565 2008-02-25 15:24 Controle

drwxr-x--- 2 Carlos staff 1045 2008-02-18 09:55 pgms

-rwxrw-r-- 2 João Financ 41 2008-02-15 08:05 mbox

drwxrwxr-x 1 Rui Contab 2589 2008-02-09 18:21 teste1

-rwxr-xr-x 1 Rui Contab 1563 2007-11-05 16:26 exemplo

drwx------ 1 Claudia pessoal 2048 2007-11-09 18:22 teste2

drwxr-xr-- 5 Herman Contab 4906 2007-11-08 10:45 Faturamento

-rwxr--r-- 1 Paulo contab 2469 2007-11-06 15:24 Linux

Informe (dentro de um arquivo chamado respostas.txt, criado por você) :

1. Quais os nomes dos diretórios contidos nessa relação? Qual o nome do arquivos

contidos nesta relação?

2. Existe algum usuário do mesmo grupo de Herman? Caso positivo, qual?

3. Há um arquivo Controle? Qual o tamanho do arquivo Controle?

4. Quais as permissões de acesso que os usuários do mesmo grupo de João possuem para

acessar o arquivo Controle?

5. Se eu sou do grupo do usuário Herman, que permissões tenho com relação ao arquivo

exemplo?

6. Digite o comando completo para permitir que os usuários do mesmo grupo de Rui

possam ler e gravar, mas não possam executar o arquivo Linux

7. Qual o código octal para a permissão de acesso do arquivo exemplo.

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 41 de 44

Page 42: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Conhecendo Novos Comandos

Comando Descrição

calmostra um calendário do mês corrente, utilizando o parâmetro -3 será exibido um trimestre.

time <comando> ver quanto tempo dura a execução do comando

touch -c -t 0304050607 <arquivo>seta o timestamp do arquivo (YYMMDDhhmm) / o comando touch sozinho também serve para criar um ou vários arquivos.

du -sh file dir mostra a utilização em disco do arquivo e diretóriopstree -hlp mostra hierarquia de processos

cp -Rp dir1 dir2cópia a árvore de diretório dir1 para dir2, preservando as permissões, ownership e timestamp

df -hmostra utilização de filesystems com valores formatados em K, M, G,...

Navegação nos Diretórioscd - volta para o diretório anteriorcd .. vai para o diretório superior na hierarquiacd vai para o diretório home

cd <diretório> && <comando>vai para o diretório, executa o comando e retorna para o diretório corrente automaticamente

File Searching (Busca e Listagem de Arquivos)ls -rt lista arquivos classificados por timestamp

ls -rS lista arquivos classificados pelo tamanhowhich <comando> mostra o caminho completo do comando

whereis <comando>localiza binários, fonte, e arquivos de página do manual (man page) do comando passado como parâmetro.

Comandos Avançados (e Coringas)

apropos <termo>mostra os comandos pertinentes a um termo de busca

echo '(321-123)/123' | bc -l calculadora na linha de comando

echo 'print (10E3-123)/123' | pythoncalculadora na linha de comando (com notação científica)

time command ver quanto tempo dura a execução do comandomkisofs -r dir | gzip > cdrom.iso.gz cria uma image iso (cdrom) do diretóriomount -o loop -t iso9660 imagem.iso /mnt/image

monta uma imagem ISO no diretório /mnt/image

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 42 de 44

Page 43: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

BIBLIOGRAFIA

livros mais usados

● MAZIERO, Carlos Alberto. Sistemas Operacionais I - Conceitos Básicos. PGIA CCET PUCPR. Disponível em: <http://www.ppgia.pucpr.br/~maziero/doku.php?id=so:livro_de_sistemas_operacionais> Arquivo: so-cap01.pdf. Acesso em: 21/04/2008.

● HUDSON, Andrew; HUDSON, Paul. Ubuntu Unleashed, Second Edition. Sams, 2007. ISBN-10: 0-672-32951-4

● BANDEL, David; NAPIER, Robert. Special Edition Using Linux®, Sixth Edition. Que, 2000. ISBN-10: 0-7897-2543-6.

● GRANNEMAN , Scott. Linux: Phrasebook. Sams, 2006. ISBN-10: 0-672-32838-0

livros consultados

● ADELSTEIN, Tom; LUBANOVIC, Bill. Linux System Administration. O'Reilly, 2007. ISBN-10: 0-596-00952-6

● CHILDERS, Bill; OXER, Jonathan; RANKIN, Kyle. Ubuntu Hacks. O'Reilly, ISBN-10: 0-596-52720-9

● DALHEIMER, Matthias Kalle; WELSH, Matt. Running Linux, 5th Edition. O'Reilly, 2005. ISBN-10: 0-596-00760-4

● ECKERT, Jason W.; SCHITKA, M. John. Linux+ 2005 In Depth. Course Technology, 2005. ISBN: 1-59200-728-7

● EILERT, John; EISENHAENDLER, Maria; MATTHAEUS, Dorothea; SALM, Ingolf. Linux on the Mainframe. Prentice Hall, 2003. ISBN-10: 0-13-101415-3

● HAGEN, William von. Ubuntu Linux Bible. John Wiley & Sons, 2007. ISBN-10: 0-470-03899-3

● HILL, Benjamin Mako; BACON, Jono; BURGER, Corey; JESSE, Jonathan; KRSTIC, Ivan. The Official Ubuntu Book. Prentice Hall,2006. ISBN-10: 0-13-243594-2

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 43 de 44

Page 44: FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser desenvolvido como uma apostila de introdução ao Ubuntu/Linux, e era originalmente pensada

Atribuição-Uso Não-Comercial-Compartilhamento pela mesma licença 2.5 Brasil

Atribuição-Uso Não-Comercial-Compartilhamento pela mesma licença 2.5 Brasil

Você pode:

• copiar, distribuir, exibir e executar a obra • criar obras derivadas

Sob as seguintes condições:

Atribuição. Você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante.

Uso Não-Comercial. Você não pode utilizar esta obra com finalidades comerciais.

Compartilhamento pela mesma Licença. Se você alterar, transformar, ou criar outra obra com base nesta, você somente poderá distribuir a obra resultante sob uma licença idêntica a esta.

• Para cada novo uso ou distribuição, você deve deixar claro para outros os termos da licença desta obra.

• Qualquer uma destas condições podem ser renunciadas, desde que você obtenha permissão do autor.

Qualquer direito de uso legítimo (ou "fair use") concedido por lei, ou qualquer outro direito protegido pela legislação local, não são em hipótese alguma afetados pelo disposto acima.

Este é um sumário para leigos da Licença Jurídica (na íntegra): [http://creativecommons.org/licenses/by-nc-sa/2.5/br/legalcode].

Termo de exoneração de responsabilidade:[http://creativecommons.org/licenses/disclaimer-popup?lang=pt-br].

MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt � impresso em: 21/04/2008 - 17:28:19Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) http://www.rbns.com.br

sugestão de citação para este documento: SOUZA FILHO, Rubens A Menezes de. Material de Apoio Didático. Disponível em: <http://www.rbns.com.br/downloads_fatec.html> Arquivo: MAD_v2.0.pdf.

pg. 44 de 44