FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser...
Transcript of FATEC - astimb.files.wordpress.com · Sobre este documento Este documento começou a ser...
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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 ocultosl – 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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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