MAD - Material de Apoio Didático
Transcrição
MAD - Material de Apoio Didático
MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br MAD - Material de Apoio Didático FATEC Faculdade 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 - correções ortográficas - novo layout 20/09/06 - nova ordenação dos tópicos e distribuição por áreas de interesse 1.3 idem idem 29/04/07 1.4 idem idem 05/02/08 - novos tópicos 2.0 idem idem - ampliação com material para a disciplina SO1 01/03/08 - novos exercícios - revisões - correções ortográficas - novo layout 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] sugestão de citação para este documento: pg. 1 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) Na elaboração deste documento foram Sobre este documento Este documento impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br começou a ser utilizados majoritariamente os softwares Gimp, desenvolvido como uma apostila de introdução OpenOffice.org Writer, Ubuntu-Linux, Firefox e ao Ubuntu/Linux, e era originalmente pensada Inkscape. 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 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. 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 paradidá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, No endereço www.rbns.com.br existem um Blog e um Fórum, ambos servem como canal de comunicação com os alunos. Para contatar o autor inicial utilize o sem grande apreço pela utilização do Shell, e site: http://www.rbns.com.br. O contato com o sem os conhecimentos básicos do funcionamento autor inicial pode ser utilizado para apontar erros interno de sistemas operacionais em geral, ou em neste documento ou encaminhar comentários e outras palavras, meus alunos dos cursos sugestões introdutórios do curso ASTI. sobre o conteúdo. De fato agradecemos quem puder fazê-lo. Nos exemplos que envolvam imagens janelas Licenciamento Este trabalho está licenciado, exceto (interface gráfica) Gnome, mas em alguns exemplos também poderá ser utilizando o KDE. onde indicado, sob uma Licença Creative será utilizando o gerenciador de sugestão de citação para este documento: pg. 2 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) Commons Atribuição-Uso Não impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Comercial- Software Livre, quase sempre anonima e Compartilhamento pela mesma licença 2.5 subversiva, que produz e compartilha estes Brasil1. Para ver uma cópia desta licença, visite softwares maravilhosos, vencendo todo tipo de http://creativecommons.org/licenses/by-nc- barreiras e boicotes, dividindo com estranhos um sa/2.5/br/ ou envie uma carta para Creative bem raro e precioso: o conhecimento. Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Agradecemos ainda ao Prof. Carlos Alberto Maziero da PGIA CCET PUCPR pela Todas as marcas registradas presentes iniciativa neste documento pertencem a seus respectivos produzindo proprietários. de partilhar um livro seu conhecimento, sobre Sistemas Operacionais de forma aberta e sob uma licença que permita a utilização por outros alunos e Agradecimentos Obrigado a professores. toda comunidade do sugestão de citação para este documento: pg. 3 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Sumário CONTROLE DE VERSÃO..............................................................................................................................1 SOBRE ESTE DOCUMENTO ......................................................................................................................2 SOBRE O AUTOR E FEEDBACK ................................................................................................................2 LICENCIAMENTO ..................................................................................................................................2 AGRADECIMENTOS ...............................................................................................................................3 PARTE I: SISTEMAS OPERACIONAIS: VISÃO GERAL.....................................................................................6 O QUE É UM SO..................................................................................................................................6 TIPOS DE SISTEMAS OPERACIONAIS.........................................................................................................6 FUNCIONALIDADES................................................................................................................................8 POLÍTICAS E MECANISMOS...................................................................................................................10 ESTRUTURA DE UM SISTEMA OPERACIONAL ...........................................................................................10 PARTE II – LINUX: HISTÓRIA E TRADIÇÃO..............................................................................................12 OS SISTEMAS UNIX..........................................................................................................................12 O GNU/LINUX E SUAS DISTRIBUIÇÕES..................................................................................................12 CERTIDÃO DE NASCIMENTO.............................................................................................................13 PARTE III – DO YOU UBUNTU?............................................................................................................15 UM LINUX MUITO FÁCIL DE USAR.........................................................................................................15 DISTRIBUIÇÕES: LINUX, GOSTOSO COMO SORVETE! (E COM MUITOS SABORES!).............................................15 O ESPÍRITO DO “UBUNTU”..............................................................................................................17 CONHECENDO A INTERFACE..................................................................................................................18 PROPRIEDADES DOS PAINÉIS SUPERIOR E INFERIOR..................................................................................19 COPY & PASTE..................................................................................................................................20 CRIANDO LINKS NO DESKTOP...............................................................................................................20 PASTAS OCULTAS...............................................................................................................................21 CRIANDO USUÁRIOS NO UBUNTU ..........................................................................................................22 PARTE IV – O SISTEMA DE ARQUIVOS...................................................................................................24 FHS (LINUS FILESYSTEM STANDARD)..................................................................................................24 A ESTRUTURA DE DIRETÓRIOS DO UBUNTU.........................................................................................25 TABELA COM OS PRINCIPAIS DIRETÓRIOS DE DISTRIBUIÇÃO LINUX TÍPICA.....................................................26 PARTE V – CONHECENDO O SHELL.......................................................................................................27 CRIANDO PACOTES TAR....................................................................................................................28 DIGITANDO RAPIDAMENTE...................................................................................................................28 COMANDOS MAIS COMUNS.................................................................................................................30 PERMISSÕES DE ARQUIVOS...................................................................................................................32 MÉTODO LETRAS...............................................................................................................................34 EXEMPLOS (MÉTODO LETRAS)........................................................................................................34 MÉTODO NÚMEROS............................................................................................................................34 EXEMPLOS (MÉTODO NÚMEROS).....................................................................................................36 EXERCÍCIOS DE FIXAÇÃO.......................................................................................................37 EXERCÍCIO 01...............................................................................................................................37 EXERCÍCIO 02...............................................................................................................................37 EXERCÍCIO 03...............................................................................................................................38 EXERCÍCIO 04...............................................................................................................................38 sugestão de citação para este documento: pg. 4 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br EXERCÍCIO 05...............................................................................................................................38 EXERCÍCIO 06...............................................................................................................................38 EXERCÍCIO 07...............................................................................................................................38 EXERCÍCIO 08...............................................................................................................................39 EXERCÍCIO 09...............................................................................................................................39 EXERCÍCIO 09...............................................................................................................................39 EXERCÍCIO 10...............................................................................................................................39 EXERCÍCIO 11...............................................................................................................................39 EXERCÍCIO 12...............................................................................................................................40 EXERCÍCIO 13...............................................................................................................................40 EXERCÍCIO 14...............................................................................................................................40 EXERCÍCIO 15...............................................................................................................................40 EXERCÍCIO 16...............................................................................................................................40 EXERCÍCIO 17...............................................................................................................................41 CONHECENDO NOVOS COMANDOS........................................................................................................42 BIBLIOGRAFIA................................................................................................................................43 LIVROS MAIS USADOS...........................................................................................................................43 LIVROS CONSULTADOS..........................................................................................................................43 ATRIBUIÇÃO-USO NÃO-COMERCIAL-COMPARTILHAMENTO PELA MESMA LICENÇA 2.5 BRASIL............................44 sugestão de citação para este documento: pg. 5 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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. sugestão de citação para este documento: pg. 6 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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, sugestão de citação para este documento: pg. 7 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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. sugestão de citação para este documento: pg. 8 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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. sugestão de citação para este documento: pg. 9 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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. sugestão de citação para este documento: pg. 10 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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 apresentado na figura acima. A forma como esses diversos componentes são interligados e se relacionam varia de sistema para sistema. sugestão de citação para este documento: pg. 11 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) PARTE II impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Linux: História e Tradição Esta 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 UNIX Criado 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ções Em 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. sugestão de citação para este documento: pg. 12 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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 :-) sugestão de citação para este documento: pg. 13 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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” sugestão de citação para este documento: pg. 14 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) PARTE III impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Do You Ubuntu? Um Linux muito fácil de usar Muita 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. Zela - http://www.sxc.hu/ 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! sugestão de citação para este documento: pg. 15 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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 8 9 10 11 12 13 14 15 16 17 18 19 20 21 http://www.slackware.com/ ou http://www.slackware-brasil.com.br/web_site/ http://www.debian.org/ http://www.novell.com/linux/ http://www.opensuse.org/ http://fedoraproject.org/wiki/ ou http://www.fedora.org.br/ http://www.ubuntu.com/ http://www.muriquilinux.com.br/ http://www.redhat.com/ ou http://www.br.redhat.com/ http://www.guiadohardware.net/gdhpress/kurumin/ http://www.knoppix.org/ http://www.gnome.org/ ou http://br.gnome.org/ http://www.kde.org/ ou http://twiki.softwarelivre.org/bin/view/KdeBR/WebHome http://www.enlightenment.org/ http://www.xfce.org/ Código que servem de base para as interfaces gráficas do Linux sugestão de citação para este documento: pg. 16 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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. 2. 3. 4. O Ubuntu original, com a interface Gnome; O Kubuntu, um Ubuntu com a interface KDE; O Xubuntu, um Ubuntu com a interface Xfce; 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.html 24 https://help.ubuntu.com/6.10/ubuntu/about-ubuntu/pt_BR/about-ubuntu-name.html sugestão de citação para este documento: pg. 17 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Conhecendo a interface O “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: Ilustração 1: A área de trabalho do Ubuntu 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. sugestão de citação para este documento: pg. 18 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Propriedades dos Painéis Superior e Inferior Ao 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. sugestão de citação para este documento: pg. 19 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Copy & Paste Alé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 Desktop O 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 Ilustração 2: Métodos para criar arquivos e links no Desktop com o GNOME. páginas). sugestão de citação para este documento: pg. 20 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Pastas Ocultas OBSERVAÇÃO: A continuação deste tópico será publicada em uma versão futura deste documento. sugestão de citação para este documento: pg. 21 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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, Ilustração 3: Localização da interface de administração 2. O sistema ira pedir a senha do usuários ROOT, pois por de usuários e grupos. 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 4: Adicionando um Usuário. sugestão de citação para este documento: pg. 22 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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. Ilustração 5: Criando uma conta de usuário. sugestão de citação para este documento: pg. 23 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) PARTE IV impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br O Sistema de Arquivos O 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: Ilustração 6: Exemplo generalizante de uma estrutura de diretórios em acordo com a FHS. Fonte: Special Edition Using Linux, Sixth Edition 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 sugestão de citação para este documento: pg. 24 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br A estrutura de diretórios do UBUNTU A 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. Ilustração 7: Estrutura de diretórios padrão do Ubuntu 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. sugestão de citação para este documento: pg. 25 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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, sugestão de citação para este documento: pg. 26 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) DIRETÓRIO impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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 Shell O 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 sugestão de citação para este documento: pg. 27 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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 TAR O 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 Rapidamente No 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 sugestão de citação para este documento: pg. 28 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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. sugestão de citação para este documento: pg. 29 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Comandos Mais Comuns Apesar 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.txt Obs: 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órios Exemplo 1 (vai para o diretório ana): cd home/ana/ Exemplo 2 (volta para o diretório home do usuário): cd Exemplo 3 (volta para o diretório anterior): cd .. sugestão de citação para este documento: pg. 30 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br COMANDOS MAIS COMUNS rmdir – apaga um diretório vazio Exemplo: rmdir teste mkdir – cria um diretórios Exemplo: 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 arquivo Exemplo: 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 sugestão de citação para este documento: pg. 31 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Permissões de Arquivos Cada 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 sugestão de citação para este documento: pg. 32 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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 popup que se abriu e depois clicando na aba PERMISSÕES: 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. 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. sugestão de citação para este documento: pg. 33 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Método Letras Utiliza 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 / usuários fora do grupo. Remove chmod a+r arquivo. Dá arquivo / a ler/escrever/executar todos permissão de dos ler o 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úmeros Cada 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 sugestão de citação para este documento: pg. 34 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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. sugestão de citação para este documento: pg. 35 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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-----(egoísta). (700) – Só o dono lê, escreve e executa -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-----diretório. (700) – Só o dono pode ler e escrever no drwxr-xr-x (755) – Todos podem ler, só o dono pode alterar o conteúdo. sugestão de citação para este documento: pg. 36 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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 01 1) 2) 3) 4) 5) 6) Acione o terminal e descubra em qual diretório você está. Liste os arquivos deste diretório. Entre no seu diretório Desktop Crie um diretório dentro do diretório teste 1 com o seguinte comando: mkdir teste 1 Crie um diretório dentro do diretório teste 2 com o seguinte comando: mkdir teste 2 Responda: O que deu errado? Exercício 02 1) 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. sugestão de citação para este documento: pg. 37 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Exercício 03 1) Acione a interface gráfica do gerenciador de arquivos digitando o nome do programa: nautilus 2) Utilizando o Nautilus abra seu diretório teste1 e crie (com o botão da direita) os seguintes arquivos vazios: contas.txt, supermercado.txt 3) 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 04 1) Volte para o diretório do seu Desktop (sempre usando o Terminal) 2) Crie um novo diretório chamado aula 3) Mova os diretórios teste1, teste2 e teste3 para dentro do diretório aula Exercício 05 1) Entre no diretório teste1 2) 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 teste2 4) Mova os arquivos contas.txt, supermercado.txt e Outros.txt para o diretório teste3 5) Verifique os arquivos dentro dos diretórios teste2 e teste3 Exercício 06 1) 2) 3) 4) Volte para o diretório Desktop Gere um arquivo .tar chamado teste com o conteúdo da pasta aula. Apague a pasta aula Extraía o conteúdo do arquivo tar que você gerou. Exercício 07 1) Entre novamente na pasta que vc. acabou de extrair do arquivo .tar 2) 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). sugestão de citação para este documento: pg. 38 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Exercício 08 1) 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 09 Apó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 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 drwxr-xr-x 2 rbns rbns 4096 2007-11-04 19:51 Público 122 2008-03-20 08:30 .Xauthority 4096 2008-01-30 11:56 .xine -rw-r--r-1 rbns 19:31 .xsession-errors rbns 42808 2008-04-21 Exercício 09 Crie 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 10 Crie 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 11 Execute 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 sugestão de citação para este documento: pg. 39 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Exercício 12 Crie 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 13 Atribua 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 14 Crie 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 15 Crie 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 16 O que realiza o comando abaixo?: $ ls-la > listagem2.txt (continua na próxima página...) sugestão de citação para este documento: pg. 40 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Exercício 17 Supondo 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 -rwxr--r-- 1 Paulo Contab 4906 2007-11-08 10:45 Faturamento 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. sugestão de citação para este documento: pg. 41 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br Conhecendo Novos Comandos Comando Descrição cal time <comando> touch -c -t 0304050607 <arquivo> du -sh file dir pstree -hlp cp -Rp dir1 dir2 df -h mostra um calendário do mês corrente, utilizando o parâmetro -3 será exibido um trimestre. ver quanto tempo dura a execução do comando seta o timestamp do arquivo (YYMMDDhhmm) / o comando touch sozinho também serve para criar um ou vários arquivos. mostra a utilização em disco do arquivo e diretório mostra hierarquia de processos cópia a árvore de diretório dir1 para dir2, preservando as permissões, ownership e timestamp mostra utilização de filesystems com valores formatados em K, M, G,... Navegação nos Diretórios cd cd .. cd cd <diretório> && <comando> volta para o diretório anterior vai para o diretório superior na hierarquia vai para o diretório home 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 ls -rS which <comando> whereis <comando> lista arquivos classificados por timestamp lista arquivos classificados pelo tamanho mostra o caminho completo do 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) mostra os comandos pertinentes a um termo de busca echo '(321-123)/123' | bc -l calculadora na linha de comando calculadora na linha de comando (com notação echo 'print (10E3-123)/123' | python científica) time command ver quanto tempo dura a execução do comando mkisofs -r dir | gzip > cdrom.iso.gz cria uma image iso (cdrom) do diretório mount -o loop -t iso9660 monta uma imagem ISO no diretório /mnt/image imagem.iso /mnt/image apropos <termo> sugestão de citação para este documento: pg. 42 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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 sugestão de citação para este documento: pg. 43 de 44 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. MAD (Material de Apoio Didático) arquivo: MAD_v2.0.odt Copyright (exceto onde indicado) Prof. Rbns (FATEC-CP) impresso em: 21/04/2008 - 17:28:19 http://www.rbns.com.br 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]. sugestão de citação para este documento: pg. 44 de 44 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.