Baixe o app para aproveitar ainda mais
Prévia do material em texto
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 1 DlteC do Brasil® www.dltec.com.br info@dltec.com.br | 41 3045.7810 Apostila/eBook do Curso Linux Essentials DlteC do Brasil® Todos os direitos reservados© DLTEC DO BRASIL APOSTILA/EBOOK DO CURSO DE LINUX ESSENTIALS � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 2 Para maiores informações sobre nossos treinamento visite o site: >>> http://www.dltec.com.br <<< Sobre o E-book/Apostila O conteúdo desse documento é uma adaptação da matéria online de leitura do curso. O presente material traz conteúdo teórico do curso online, porém temos que deixar claro que não é um curso e sim uma adaptação do nosso material online para e-book/apostila. Portanto recursos como exercícios, simulados, tutoria (tira dúvidas com professores) e vídeo aulas não fazem parte desse e-book, pois são exclusivos para alunos devidamente matriculados em nosso site oficial. http://www.dltec.com.br/ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 3 Direitos Autorais Aviso Importante! Esse material é de propriedade da DlteC do Brasil Ltda e é protegido pela lei de direitos autorais 9610/98. É expressamente proibida cópia física ou em meio digital, reprodução parcial, reprografia, fotocópia ou qualquer forma de extração de informações deste sem prévia autorização da DlteC do Brasil conforme legislação vigente. Seu uso pessoal e intransferível é somente para o cliente que adquiriu o referido e-book/apostila. A cópia e distribuição são expressamente proibidas e seu descumprimento implica em processo cível de danos morais e materiais previstos na legislação contra quem copia e para quem distribui, sejam cópias físicas e/ou digitais. Copyright © 2016. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 4 Indice Introdução .................................................................................................................................. 5 Capítulo 01 – A Comunidade Linux e uma Carreira em Opensource .............................................. 6 Capítulo 02 – Encontrando seu Caminho em Sistemas Linux ....................................................... 23 Capítulo 03 – O Poder da Linha de Comandos ............................................................................ 53 Capítulo 04 - O sistema operacional Linux.................................................................................. 76 Capítulo 05 - Segurança e Permissões de Arquivos ................................................................... 102 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 5 Introdução Olá, Essa apostila que você recebendo é uma adaptação do material de leitura Online do curso Linux Essentials da DlteC do Brasil. Aqui nessa apostila colocamos uma adaptação em texto do nosso material online de estudo (matéria online do curso Linux Essentials). Esperamos que você aproveite o material e bons estudos. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 6 Capítulo 01 - A Comunidade Linux e uma Carreira em Opensource Objetivos do Capítulo Ao longo desse capítulo você deverá: Obter conhecimentos sobre o desenvolvimento do linux e suas principais distribuições Ter noções sobres as principais aplicações no Linux e suas utilizações Obter conhecimentos sobre comunidades abertas e licenciamento de softwares opensource para os negócios Obter conhecimentos básicos sobre o ICT e formas de se trabalhar com o Linux � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 7 Sumário do Capítulo 1 Evolução do Linux como um Sistema Operacional Popular __________________ 8 1.1 Filosofia OpenSource ______________ 9 1.2 Distribuições Linux ________________ 9 1.3 Sistemas Embarcados ____________ 10 2 Principais Aplicações Open Source ___ 11 2.1 Aplicações para Desktop __________ 12 2.2 Aplicações para Servidores ________ 14 2.3 Aplicações Móveis _______________ 14 2.4 Linguagens de Desenvolvimento____ 15 2.5 Ferramentas de Gerenciamento de Pacotes e Repositórios _________________ 16 3 Entendendo o Software OpenSource e o Licenciamento ______________________ 17 3.1 Licenciamento __________________ 18 3.2 Freesoftware Foundation (FSF) _____ 18 3.3 OpenSource Initiative (OSI) ________ 18 4 Habilidades com ICT e Trabalhando no Linux ______________________________ 19 4.1 Desktops _______________________ 20 4.2 Utilizando a Linha de Comando no Linux 21 4.3 Casos de Uso de Linux na Indústria __ 22 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 8 1 Evolução do Linux como um Sistema Operacional Popular Peso: 2 Descrição: Conhecimentos sobre o desenvolvimento do linux e suas principais distribuições. Tópicos Importantes: Filosofia OpenSource Distribuições Sistemas Embarcados Veja abaixo uma lista parcial com os arquivos, termos e utilitários mais utilizados: Android Debian CentOS � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 9 1.1 Filosofia OpenSource Open Source é por si só uma filosofia que promove a livre distribuição, redistribuição e acesso a um determinado software, incluindo ao código do mesmo (por isso o nome Open Source - código aberto), onde você tem o direito de ler, alterar e redistribuir suas (ou com suas) alterações. Existem variações de licenças Open Source que permite ou não algumas coisas, mas chegaremos neste ponto mais adiante. Uma das coisas que fez com que o Open Source se popularizasse foi a evolução da internet, com esta foi possível a interação e colaboração de voluntários do mundo todo em determinados projetos, tornando a evolução dos mesmos surpreendentes, um bom exemplo disso é o Linux. Uma frase padrão que costumamos utilizar para descrever este processo é que enquanto um desenvolvedor brasileiro para de trabalhar e vai dormir, um desenvolvedor japonês acorda e começa a trabalhar no Linux, tornando desta forma o desenvolvimento rápido e constante. O Open Source deu espaço para a criação de várias outras culturas, como por exemplo a Creative Commons, esta é uma licença de direitos autorais com a qual você pode ou não permitir que as pessoas utilizem seu produto (artístico), alterem, redistribuam, e assim por diante, mantendo você mencionado no trabalho através de vários pontos da licença. Basicamente a ideia da filosofia do Open Source é permitir que você possa: Utilizar um software para qualquer propósito Adaptar um software, estudar seu código e funcionamento Distribuir o software ou redistribuir com ou sem alterações 1.2 Distribuições Linux Distribuições são por assim dizer “caixas” de software. Basicamente é um Linux, com uma seleção de softwares que aqueles que a montaram acreditam ser o ideal para o seu público alvo. Estas distribuições são montadas por grupos de voluntários (como é o caso do slackware , Debian e gentoo por exemplo) ou por empresas como acontece com o RedHat Linux ou SuSE Linux (novel). Dentro deste ponto você costuma ter distribuições para diferentes pontos de interesse, veja abaixo uma pequena lista com alguns casos. Desktop: Ubuntu, OpenSuSE, Fedora, LinuxMint Servidores: Debian, CentOS, RedHat, SuSE Linux Segurança (firewalls/ids e outros): OpenWall, Vyatta, BackTrack A grande questão que fica é o porque montar uma distribuição? Já não existem muitas? Como citamos no inicio, uma distribuição é feita por um grupo de voluntários ou uma empresa analisando necessidades que eles acham necessárias. Para exemplificar imagine o seguinte cenário: você trabalha em uma empresa que utiliza um Linux RedHat e em cada desktop, depois de instalado o linux, você precisa instalar uma série de softwares e aplicativos. Não seria muito mais fácil, já que trata-se de um processo repetitivo, que você monte um CD com todos os aplicativos dentro e um processo automático de instalação já no seu perfil? Assim nasce uma nova distribuição Linux que pode ou não chegar a conhecimento publico. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 10 1.3 Sistemas Embarcados O Linux é um dos principais sistemas operacionais utilizados em sistemas embarcados, mas o que são sistemas embarcados? Sistemas embarcados são hardwares criados para um propósito especifico, ou uma série de propósitos, mas é um equipamento limitado, podendo ser um pabx, um celular, um pda, um receptor de tv ou uma tv. Na verdade existem vários ambientes onde o Linux pode ser utilizado, por exemplo, os celulares que chamamos de Android são celulares com Linux Embarcado, ou seja, ele vem de fábrica com o Linux controlando suas funções principais, os receptores de satélite da AZBox são outro caso onde é um sistema Linux que roda no hardware. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 11 2 Principais Aplicações Open Source Peso: 2 Descrição: Conhecimentos das principais aplicações e suas utilizações. Tópicos Importantes: Aplicações para Desktop Aplicações de Servidores Aplicações Móveis Linguagens de Desenvolvimento Ferramentas para Gerenciamento de Pacotes e Repositórios Veja abaixo uma lista parcial com os arquivos, termos e utilitários mais utilizados: OpenOffice.org, LibreOffice, Thunderbird, Firefox Blender, Gimp, Audacity, ImageMagick Apache, MySQL, PostgreSQL NFS, Samba, OpenLDAP, Postfix, DNS, DHCP C, Perl, shell, Python, PHP � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 12 2.1 Aplicações para Desktop Gerenciadores de Desktop Os gerenciadores de desktop foram desenvolvidos para facilitar o uso do Linux para os usuários finais. No início, o Linux não era muito popular entre os usuários finais e sua utilização era mais difundida no meio técnico ou acadêmico. Isso porque antes dos gerenciadores de desktops tudo o que você precisasse fazer no Linux deveria ser feito via linha de comandos. Os usuários finais que desejavam utilizar o computador para tarefas corriqueiras, como acessar a internet, ver um email e etc acabavam não gostando do linux devido a essa dificuldade inicial. Com o intuito de difundir a utilização do linux para todos os tipos de usuários (residenciais, comerciais) os programadores desenvolveram interfaces gráficas, chamadas de gerenciadores de desktops, para permitir ao usuário uma melhor experiência de usabilidade. A grande questão é que existem várias versões diferentes, com focos diferentes e com recursos diferentes, onde o melhor deles depende unicamente das suas escolhas e do seu gosto. Alguns dos gerenciadores de desktop mais conhecidos são: Gnome ( http://www.gnome.org/ ) KDE ( http://www.kde.org/ ) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 13 Estes dois são os mais completos e amplamente utilizados, mas existem vários outros , alguns levíssimos com alguns recursos interessantes, outros praticamente sem recurso algum, variando conforme sua finalidade, segue abaixo uma pequena lista com alguns exemplos. LXDE ( http://www.lxde.org/ ) Fluxbox ( http://www.fluxbox.org/ ) XFCE ( http://www.xfce.org/ ) FVWM ( http://www.fvwm/ ) Icewm ( http://www.icewm.org/ ) WindowMaker ( http://www.windowmaker.org/ ) Além destes existem muitos outros, mas vamos deixar isso para você mesmo descobrir e fazer a escolha da melhor opção para o seu perfil. Aplicativos de Desktop Como quase tudo no Linux, temos muitas variações de vários de tipos de softwares. Existem diversas opções de gerenciadores de arquivos, suítes de escritório, gravadores de cd, players de áudio, mas existem algumas que se destacam em meio a multidão. Veja abaixo apenas alguns exemplos. Suíte de Escritório OpenOffice/LibreOffice ( http://www.openoffice.org/ / http://www.libreoffice.org/ ) Gravador de CDs/DVD K3b ( http://www.k3b.org/) Gravação / Manipulação de áudio Audacity (http://www.audacity.sourceforge.net/) Gráficos 3D Blender ( http://www.blender.org/ ) Editor de vídeo Cinelerra ( http://www.cinelerra.org/ ) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 14 2.2 Aplicações para Servidores Hoje os sistemas Linux vários serviços na internet, um deles e amplamente utilizado por todos nós são os websites, na maior parte das vezes hospedados em servidores Linux rodando o software Apache. Para termos uma ideia da sua popularidade a utilização do Linux hoje correspondente a 62% dos servidores mundiais (relatório da netcraft até junho de 2011), mas também existem muitos servidores de e-mails, bancos de dados, firewalls, proxys e outras aplicações. Também existem vários aplicativos para compartilhamento de arquivos como o samba, nfs, coda, aplicações para serviço de DNS como o BIND, PowerDNS e outras 2.3 Aplicações Móveis O Linux também é muito utilizado em aplicações móveis, um dos primeiros Linux que saiu para dispositivo móvel foi o Symbian da Nokia. Sua primeira release saiu em 1997 e foi embarcado na maior parte dos dispositivos Nokia até a chegada do AndroidOS. Outro exemplo que podemos citar é o MeeGo que foi criado de uma junção dos projetos Moblin e Maemo. Também existem vários dispositivos que vem com sistemas Linux, mas que devido aos seus fabricantes darem uma interface própria e não mostrarem as telas de boot, muitas vezes não percebemos que são na verdade um Linux. Um bom exemplo desses casos é o AndroidOS que levou estes sistemas a um novo patamar, trazendo um sistema Linux mais completo e mais compatível com os softwares que existem para o mesmo. Você pode por exemplo pegar um celular com AndroidOS, fazer o jailbreak do mesmo para ter acesso root e então instalar um Samba para compartilhar dados do seu celular em uma rede Windows, ou pode colocar um servidor apache no mesmo entre outras funções. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 15 2.4 Linguagens de Desenvolvimento O Linux em si, que na verdade é apenas o Kernel, é desenvolvido utilizando as linguagens C e C++, já as aplicações que você utiliza são construídas nas mais variadas linguagens passando por C, C++, Earlang, Python, Perl, PHP, assembly e muitas outras, na maior parte utilizando compiladores 100% livres que foram escritos em C e C++. Informação Adcional: O que é o Kernel do Linux? O kernel é responsável pelas funções vitais do sistema, como gerenciamento de memória, gerenciamento de dispositivos e controle de processos em execução. A cada mês são lançadas novas versões de Kernel, que podem ser obtidas gratuitamente pela internet, trazendo suporte a novos dispositivos, trazendo características inovadoras, ou simplesmente aperfeiçoando o que já existe. Não confuda Kernel com distribuições linux, o Kernel faz parte de uma distribuição. Toda distribuição tem a sua versão de Kernel. Informação Adcional: O que significa Jailbreak? Em uma tradução livre e literal, "Jailbreak" significa "fugir da prisão", e representa uma metáfora para o ato de burlar as restrições impostas por uma empresa em seus dispositvos, adicionando funcionalidades não oficiais a eles. O método, desenvolvido por grupos hackers, tem sido comumente relacionado aos dispositivos da Apple e ao seu sistema operacional móvel, o iOS, devido à grande popularidade que o processo ganhou entre esses usuários. Entretanto, é possível realizar o Jailbreak para "desbloquear" outros aparelhos, como no Playstation 3, da Sony, ou o Xbox 360, da Microsoft, por exemplo. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 16 2.5 Ferramentas de Gerenciamento de Pacotes e Repositórios Diferentemente do Windows, onde você pode pegar um arquivo .exe que contenha toda a estrutura necessária para a aplicação rodar, no Linux quando você desenvolve um software normalmente você não o cria inteiro, você utiliza muito código pronto como bibliotecas gráficas, bibliotecas para conexão com bancos de dados, manipulação de arquivos e etc. Para facilitar o gerenciamento destes softwares e o processo de instalação o Linux utiliza o conceito de pacotes com dependências, ou seja, meu software X depende do software A, B, C para instalar, o software C por sua vez depende do software E que por sua vez depende do software H. Neste caso, se você baixar apenas o software X e tentar instalar o mesmo usando por exemplo o rpm ou o dpkg (falaremos mais sobre o rpm e dpkg posteriormente) ele irá falar que para instalar o software X é necessário A, B, C e etc, e não vai prosseguir com a instalação. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 17 3 Entendendo o Software OpenSource e o Licenciamento Peso: 1 Descrição: Conhecimentos sobre comunidades abertas e licenciamento de softwares opensource para os negócios. Tópicos Importantes: Licenciamento Free Software Foundation (FSF), Open Source Initiative (OSI) Veja abaixo uma lista parcial comos arquivos, termos e utilitários mais utilizados: GPL, BSD, Creative Commons Free Software, Open Source Software, FOSS, FLOSS Open Source business models � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 18 3.1 Licenciamento O Linux foi inicialmente lançado sob uma licença de software que proibia qualquer uso comercial. Isso foi rapidamente alterado pela GPL (Gnu Public Licence), através desta licença foi permitida a venda, distribuição, alteração de novas versões que poderiam ser ou não modificadas garantindo que estas versões fossem lançadas dentro da mesma licença permanecendo assim os mesmos direitos e os créditos aos autores. Infomação adcional: http://pt.wikipedia.org/wiki/GNU_General_Public_License 3.2 Freesoftware Foundation (FSF) A Freesoftware Foundation (FSF) é uma organização sem fins lucrativos com ação mundial para promover o uso de computadores e para defender os direitos de todos os usuários de software livre. Atualmente a FreeSoftware Foundation conta com membros como Google, Oracle, IBM , HP, Intel, Nokia e muitos outros, estes membros colaboram com recursos financeiros, técnicos, estruturais entre outros. Informação adcional: http://www.fsf.org 3.3 OpenSource Initiative (OSI) Assim como a FSF a OSI (OpenSource Initiative) é uma organização sem fins lucrativos com ação global formada para educar e advogar em beneficio do software livre e construir meios para constituir o uso de software livre. Uma das principais atividades da OSI é a definição de padrões, mantendo a definição aberta para o bem da comunidade. As licenças aprovadas e mantidas pela OSI criam um elo de segurança ao redor de desenvolvedores, usuários, corporações e governos para que estes possam organizar a cooperação sobre o código aberto. Informação adcional: http://opensource.org/ http://pt.wikipedia.org/wiki/GNU_General_Public_License � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 19 4 Habilidades com ICT e Trabalhando no Linux Peso: 2 Descrição: Conhecimentos básicos sobre o ICT e formas de se trabalhar com o Linux. Tópicos Importantes: Conhecimentos em Desktop Linha de Comando no Linux Uso do Linux na Indústria, Computações nas Nuvens e Virtualização Veja abaixo uma lista parcial com os arquivos, termos e utilitários mais utilizados: Using a browser, privacy concerns, configuration options, searching the web and saving content Terminal and Console Password issues Privacy issues and tools Use of common open source applications in presentations and projects � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 20 4.1 Desktops Antes de mais nada vamos entender o que é ICT (Information and Communication Technology). ICT é basicamente tecnologia da informação, seja ela a utilização de softwares para pesquisa, comunicação, conteúdo multimídia ou qualquer outro modelo, basicamente aqui estamos falando de navegação na web, conceitos de privacidade e outras questões que envolvem comunicação usando o computador. Atualmente o desktop do Linux é extremamente completo, as soluções são muito bem acabadas e você possui algumas variações de desktop com focos diferentes permitindo que você escolha a melhor opção para você. Conforme já comentamos, alguns dos desktops mais conhecidos são o GNOME (figura 1) o KDE (figura 2). Figura 1 Figura 2 Graças a estes desktops, você tem uma experiência muito mais simples atualmente durante a utilização de sistemas Linux. Desde o surgimento dos primeiros desktops para Linux muito se evoluiu, inclusive suporte a placas de vídeo e tudo mais, ganhando-se em performance e qualidade. Os softwares desktops para Linux incluem atualmente excelentes aplicações, como por exemplo, os navegadores Firefox, Google Chrome e Opera (além de outros), suíte de escritório OpenOffice/LibreOffice e o Calligra que faz parte da suíte do KDE e também alguns aplicativos do Gnome para determinadas funções como o Abiword (editor de texto), gnumeric (planilhas), Inkscape (editoração) e outras aplicações. Em termos de suíte de escritório o OpenOffice/LibreOffice é o mais completo e também o que mais se assemelha aos recursos oferecidos pelo Office da Microsoft ou da Apple. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 21 Conforme falado existem muitas aplicações para Linux, para várias finalidades. Basta procurar um pouco e normalmente você acha tudo que precisa com uma versão open source de ótima qualidade. 4.2 Utilizando a Linha de Comando no Linux A utilização de desktops que falamos anteriormente é mais utilizada por usuários finais, que utilizam o Linux em seus micros e laptops. Quando falamos em Linux, principalmente para funções de servidor é muito comum utilizarmos apenas linha de comando para manipulação do sistema, desta forma é imprescindível que conheçamos algumas questões básicas sobre isso. A linha de comando do Linux permite a você realizar praticamente todas as atividades necessárias do sistema. Tenha em mente que tudo em si é comando, ao dar um clique em um ícone você está utilizando de forma transparente um comando para executar o programa em questão. No Linux através da linha de comando é possível verificar status de rede, configurar a rede, configurar um compartilhamento de rede, alterar informações de data e hora, alterar configurações de funcionamento do equipamento, executar programas, instalar atualizações e por ai vai. A Linha de Comando: A navegação via linha de comando é similar ao utilizado no Windows por exemplo, digamos que você tenha no Windows sua partição C: com uma pasta chamada teste dentro dela, no Windows o comando para acesso seria: C:\> cd teste No Linux não seria tão diferente: root@localhost ~/ # cd /teste A “/" que informarmos no caso do Linux é porque no exemplo a pasta não está no mesmo diretório que o usuário se encontra, isso no Windows também é possível com o comando “cd \teste” Além destes você tem vários outros comandos para, por exemplo: limpar a tela: clear listar arquivo: cat ARQUIVO listar diretório: ls DIRETORIO editar arquivo: nano ARQUIVO Como já comentamos, basicamente no Linux tudo é possível de ser feito na linha de comando, entraremos mais a fundo nestas questões no próximo tópico desse módulo. � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 22 4.3 Casos de Uso de Linux na Indústria Atualmente temos muitas empresas utilizando Linux em sistema críticos, para quem não conhece o termo a ideia de sistema crítico é aquele sistema que não pode parar, tendo que se manter o tempo todo estável e disponível. O Linux por sua flexibilidade e variedade de aplicações é utilizado em várias áreas diferentes. É comum encontramos empresas que utilizam o Linux em seus roteadores para fazer conectividade de grande porte com operadoras de telecomunicações, ou utilizam o Linux como seu servidor radius para autenticação e controle de seus usuários de internet. Também existem plataforma de voz (voip) construída com Linux utilizando softwares Asterisk, OpenSIPS e FreeSwitch, além de bancos de dados MySQL e outras ferramentas. O Linux também é utilizado em praticamente todos os supercomputadores existentes hoje no mercado (todos os top 10 são Linux) , além de várias outras soluções como caixas eletrônicos do sistema bancário e computadores de bordo em carros. Muitas empresas possuem Linux sendo utilizados como Gateways ou Proxies, este uso é muito comum e muitas vezes a empresa nem mesmo tem noção que faz uso de Linux em seu sistema critico. Exemplos de uso do Linux Departamento de Defesa dos Estados Unidos Prefeitura de Munich, Alemanhã Correio Americano Governo do México Petrobrás Banco do Brasil Walmart DreamWorks Enfim, como podemos perceber existem muitos usos de Linux, em diferentes ambientes para diferentes finalidades � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 23 Capítulo 02 - Encontrando seu Caminho em Sistemas Linux Objetivos do Capítulo Ao longo desse capítulo você deverá: Aprender a utilização básica da linha de comandos no Linux. Aprender como utilizar os comandos de ajuda e navegação nos vários sistemas de ajuda do Linux. Saber como navegar por entre os diretórios home e system e listar arquivos em várias localizações. Dominar as formas de criar, mover e apagar arquivos e diretórios. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 24 Sumário do Capítulo 1 Introdução a Linha de Comandos ____ 25 1.1 Shell Básico _____________________ 26 1.2 Movendo-se entre os Diretórios ____ 26 1.3 O comando env e suas Variáveis ____ 27 1.4 PATH __________________________ 28 1.5 Comandos de Formatação _________ 30 1.6 Variáveis _______________________ 31 1.7 Globbing (Caracteres Curinga) ______ 32 1.8 Quotting (Escape de caracteres) ____ 32 2 Usando a Linha de Comando para Obter Ajuda ______________________________ 34 2.1 Manuais (comando man) __________ 35 2.2 Acessando Manuais com o Comando info 36 2.3 Arquivos de Documentação ________ 37 2.4 Encontrando um Manual a Partir de uma Referência _______________________ 37 2.5 Localizando Arquivos _____________ 38 2.5.1 Comando Locate ________________ 38 2.5.2 Comando whereis _______________ 38 3 Usando Diretórios e Listando Arquivos 40 3.1 Arquivos e Diretórios _____________ 41 3.2 Diretório home __________________ 45 3.3 Caminho Absoluto e Caminho Relativo 45 4 Criando, Movendo e Removendo Arquivos ou Diretórios ________________ 47 4.1 Um pouco mais sobre Caracteres Curinga ______________________________ 48 4.2 Movendo Arquivos e Diretórios _____ 49 4.3 Copiando Arquivos e Diretórios _____ 50 4.4 Removendo Diretórios ____________ 50 4.5 Criando Arquivos ________________ 51 4.5.1 Touch _________________________ 51 4.5.2 Criando Arquivos de Outras Formas _ 51 4.6 Criando Diretórios _______________ 52 4.7 Utilizando Caracteres Curinga ______ 52 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 25 1 Introdução a Linha de Comandos Peso: 2 Descrição: Utilização básica da linha de comandos no Linux. Tópicos Importantes: Shell básico Comandos de formatação Trabalhando com opções Variáveis Globbing Quoting Veja abaixo uma lista parcial com os arquivos, termos e utilitários mais utilizados: echo history PATH env variable which Substitutions ||, && and ; control operators � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 26 1.1 Shell Básico O Shell é o interpretador de comandos, quando você digita algum comando ele é que interpreta. Quando você usa um comando para alterar diretório, ou limpar a tela, isso é um comando do shell. O shell padrão do Linux é o bash (bourne again shell), mas existem outras opções como o csh, tcsh , ksh , zsh . Quando estamos em um prompt do Linux com o shell bash carregado é comum que o prompt de comando tenha um formato similar ao mostrado no comando abaixo. usuário@nome_da_maquina:/caminho/onde/voce/esta $ 1.2 Movendo-se entre os Diretórios Nesse tópico iremos introduzir de forma bem básica nossos três primeiros comandos, o pwd (print working directory), cd (change directory) e ls (list files and directories). Se você nunca trabalhou com a linha de comandos antes em sua vida você deve prestar bem atenção nesse tópico, pois ele será crucial para o seu entendimento de todos os conceitos que veremos mais adiante. Quando pensamos em comandos no Linux temos que pensar como vamos andar pelos diretórios, editar e copiar arquivos, listar conteúdo de arquivos, encontrar comandos e outras coisas mais. Nesse tópico veremos um pouco sobre esse tema. Assim como em outros sistemas operacionais o Linux utiliza uma estrutura hierárquica de diretórios, organizada em um padrão conhecido como árvore de diretórios, onde cada diretório pode conter arquivos ou outros diretórios. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d oC u r s o L i n u x E s s e n t i a l s Página 27 Nessa árvore o primeiro diretório é chamado de root. Root é a raiz do sistema, representado pelo caractere “/” (barra para direita), tudo está abaixo da raiz, ela é nosso top-level, nossa ponta da pirâmide. Vamos exemplificar uma pequena árvore de diretórios abaixo. / ---> raiz |---home -> diretório de usuários |---me -> diretório do usuário me 1.3 O comando env e suas Variáveis As configurações do seu shell estão definidos em uma variável de ambiente que podem ser verificadas através do comando env, acompanhe abaixo a imagem da exibição do mesmo. dltec@dltec:~$ env LC_PAPER=pt_BR.UTF-8 LC_ADDRESS=pt_BR.UTF-8 LC_MONETARY=pt_BR.UTF-8 TERM=xterm SHELL=/bin/bash SSH_CLIENT=10.0.2.2 47905 22 LC_NUMERIC=pt_BR.UTF-8 SSH_TTY=/dev/pts/2 USER=dltec LC_TELEPHONE=pt_BR.UTF-8 MAIL=/var/mail/dltec PATH=/home/dltec/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin :/usr/games LC_IDENTIFICATION=pt_BR.UTF-8 PWD=/home/dltec LANG=en_US.UTF-8 LC_MEASUREMENT=pt_BR.UTF-8 SHLVL=1 HOME=/home/dltec LOGNAME=dltec SSH_CONNECTION=10.0.2.2 47905 10.0.2.15 22 LESSOPEN=| /usr/bin/lesspipe %s LESSCLOSE=/usr/bin/lesspipe %s %s LC_TIME=pt_BR.UTF-8 LC_NAME=pt_BR.UTF-8 _=/usr/bin/env OLDPWD=/ dltec@dltec:~$ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 28 Veja que no mesmo temos informações referente ao SHELL utilizado, o diretório de e-mail do usuário (MAIL), quais são os diretórios de executáveis do usuário (PATH), o diretório ao qual o mesmo se encontra (PWD) além de outras variáveis possíveis de acordo com o a finalidade do sistema. 1.4 PATH Vimos no tópico anterior a saída do comando env. Uma das linhas importantes do comando env é a que mostra o PATH (figura 1). Vamos agora entender o que seria o PATH através de um exemplo bem simples. dltec@dltec:~$ env … TERM=xterm SHELL=/bin/bash SSH_CLIENT=10.0.2.2 47905 22 LC_NUMERIC=pt_BR.UTF-8 SSH_TTY=/dev/pts/2 USER=dltec LC_TELEPHONE=pt_BR.UTF-8 MAIL=/var/mail/dltec PATH=/home/dltec/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin :/usr/games LC_IDENTIFICATION=pt_BR.UTF-8 Quando queremos que o sistema execute um comando nós não precisamos digitar o caminho completo do comando. Por exemplo, quando queremos listar o conteúdo do diretório em que estamos simplesmente digitamos o comando ls. dltec@dltec:~$ ls Desktop Music Templates essentials php.versoes Documents Pictures Videos examples.desktop Downloads Public bin lpi102 O comando ls está localizado na pasta /bin, mas então por que não precisamos digitar o caminho completo do comando, como por exemplo, /bin/ls ? Por que simplesmente digitando ls o sistema entende que deve executar o comando ls que está localizado no diretório /bin ? Informação adcional: Como definir uma variável? Para definir uma variável durante sua sessão basta digitar: export JAVA_HOME=/usr/local/java/bin/ No exemplo mostrado está sendo exportado a variável JAVA_HOME, que é utilizada para localizar onde ficam os binários do java e normalmente é utilizado quando você roda alguma aplicação ou serviço java no sistema. Porém não se torna muito prático ter de executar esse comando cada vez que você entra no sistema, além do mais algumas vezes podem ser necessárias várias variáveis. Nestes casos a solução padrão é colocar o comando dentro do arquivo .bash_profile no diretório do usuário, este diretório é lido logo após o login e executa os comandos que você definiu, no caso, define as variáveis que você precisa. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 29 A resposta a essa pergunta é a variável PATH. Essa variável lista os diretórios do sistema onde os arquivos executáveis podem ser encontrados. Para visualizar o conteúdo da variável PATH entre com o comando mostrado abaixo. dltec@dltec:~$ echo $PATH /home/dltec/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr /games Em nosso exemplo a variável está listando os diretórios abaixo: /home/dltec/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games Isso faz com que o sistema faça um busca, do primeiro ao último diretório listado, quando tentamos executar algum comando. Assim que uma correspondência é encontrado a procura é encerrada, mesmo que não tenha sido verificado todos os diretórios listados. Ou seja, em nosso exemplo do ls, quando digitamos ls o sistema irá buscar por uma correspondência nos diretórios listados na variável PATH, tão logo a correspondência seja encontrado (no caso, no diretório /bin) a busca é interrompida e o comando é executado. Curiosidade: Para você verificar o caminho completo de um comando ou arquivo utilize o comando which -a filename. Esse comando pode ser útil nos casos onde mais de uma correspondência for encontrada. Vamos supor que, por algum motivo, existam dois comandos com o nome wc no seu sistema: um na pasta /usr/bin e outro na pasta /home/aluno/bin/WC E vamos supor também que você queira utilizar o comando o wc (word count) padrão, ou seja, o que está na pasta /usr/bin e que sua variável PATH está definida como mostrado abaixo. aluno:~> echo $PATH /home/aluno/bin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:\ /usr/bin:/usr/sbin:/bin:/sbin Então se você simplesmente digitar o comando wc -l arquivo1.txt o sistema irá tentar executar o comando wc que está na pasta /home/aluno/bin/wc e você não vai obter a saída desejada. Isso porque na sua variável PATH está sendo informado para procurar primeiro na pasta /home/aluno/bin. Uma das soluções para resolver esse problema seria informar o caminho completo do comando desejado. Para tal, você utilizaria o comando which -a wc para exibir todas as correspondências para o comando wc. Em seguida entraria com o caminho completo do comando wc desejado, ou seja, /usr/bin/wc -l arquivo1.txt. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 30 1.5 Comandos de Formatação Através do shell nós podemos executar vários comandos diferentes, para finalidades diferentes, utilizando opções diferentes para visualização dos resultados e muitas vezes fazendo uso de vários comandos ao mesmo tempo. Vamos agora ver um exemplo um pouco mais avançado do que podemos fazer na linha de comandos. Ao longo desse curso você aprenderá a utilizar esse e outros tipos de recursos avançados. Imagine que eu quero listar o conteúdo de um arquivo, mas quero filtrar apenas as linhas que contenham a palavra php, por exemplo. Para ilustrar o processo vamos criar um arquivo chamado teste.txt (comando touch teste.txt - veremos mais para frente o uso dessecomando) e dentro deste arquivo vamos escrever algumas coisas e vamos também colocar em 3 linhas do arquivo a palavra php. Para editar o arquivo teste.txt você pode utilizar o aplicativo nano ou vi (também veremos mais detalhes sobre isso posteriormente nesse curso). Acompanhe o exemplo abaixo, com todos os passos mostrados. Conteúdo do arquivo: Primeiro passo: criar o arquivo teste.txt touch teste.txt Segundo passo: Editar o arquivo teste.txt nano teste.txt safdsfd sf dadf sdf adf df a dfa fasdfdf php fdafsd asdf adf aphp asfdfasdf adfadfas dfadf902u3423 42390 rfs0 fs dfasdf php fdasfdasf d asdfa sdfasdfasdfh9283r fpsdhfasdf php fdsafdasfd Pressione ctrl+o para salvar o arquivo e depois ctrl+x para sair do editor. Agora veja abaixo o comando executado. dltec@dltec $ cat teste.txt | grep php fasdfdf php fdafsd asdf adf aphp dfadf902u3423 42390 rfs0 fs dfasdf php sdfasdfasdfh9283r fpsdhfasdf php fdsafdasfd dltec@dltec $ Perceba que apenas 3 linhas foram mostradas, justamente as que continham a palavra php. Isso pode ser muito útil no seu dia a dia, imagine um arquivo de log com 10.000 linhas e você quer visualizar todos os logs referente ao daemon openvpn por exemplo, então você digita o comando cat /var/log/syslog | grep openvpn e todo o conteúdo do arquivo de log referente ao openvpn será exibido e você poderá analisar o conteúdo sem tanta “sujeira” na visualização do arquivo. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 31 1.6 Variáveis No shell do Linux nós podemos utilizar os comandos e criar variáveis para serem usadas por estes comandos. Para declarar uma variável você utiliza nome_da_variavel=valor_da_variavel, ou seja, vamos dizer que eu quero colocar o nome de um arquivo em uma variável e depois executar algum comando, eu poderia fazer conforme mostrado abaixo. MYFILE=”/tmp/teste.txt” cat .bash_profile > $MYFILE Neste caso estamos definindo a variável MYFILE com o caminho para o arquivo que queremos, depois exibimos o conteúdo do .bash_profile direcionando a saída do comando para a variável $MYFILE que no caso é o arquivo /tmp/teste.txt A título de ilustração vamos ver um exemplo real do uso de variáveis no linux. Imagine que em um diretório existam diversos arquivos de imagem com a extensão .JPG (em maiúscula) e que você queira renomear esses arquivos de forma que fique .jpg (em minúscula). Vamos ver como é possível fazer isso com uso de variáveis? Acompanhe o código abaixo. cd /tmp/teste for i in *; do NEWNAME=$(echo $i | sed –e s/JPG/jpg/g); mv $i $NEWNAME; done O comando utilizado é bem complexo mas é um exemplo válido para exemplificar um uso real para este tipo de utilização (variáveis), acompanhe a descrição dos passos: Entramos no diretório /tmp/teste Definimos que para cada valor dentro do diretório (*) queremos o valor na variável i (for i in *) Pegamos o valor de $i ( echo $i ) e substituímos JPG por jpg ( sed –e s/JPG/jpg ), e então definimos que este valor será o valor da variável NEWNAME Realizamos um move (mover) dos arquivos de .JPG para .jpg (exemplo: mv DSC- 1401.JPG DSC-1401.jpg) O que acha, isso é muito mais prático do que selecionar um a um e então fazer a troca do nome não acha? Um exemplo habitual de uso de variáveis é em arquivos de configuração ou scripts para alguma finalidade específica, por exemplo, imagine que você esta criando um script de firewall, o binário do iptables (aplicação de firewall nativa do Linux) fica em /sbin/iptables, você em seu arquivo ao invés de colocar este comando linha por linha define uma variável (ex: FW=”/sbin/iptables” ) e no lugar de chamar o arquivo completo, chama apenas FW, define arquivos de configuração em variáveis e assim por diante. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 32 1.7 Globbing (Caracteres Curinga) O Glob foi um programa que existiu no unix para expandir a capacidade de utilização de caracteres curingas de forma estendida, atualmente isso é incorporado no shell e graças a esta ferramenta podemos utilizar uma série de parâmetros para fazer varredura, leitura, alteração em diretórios e assim por diante. É possível basicamente utilizar: ? = Faz match em um único caractere * = Faz match em qualquer caractere (inclusive vazios) Também podemos utilizar alguns outros tipos de glob, vamos ver abaixo: Classes de caracteres: Classes de caractere, seria por exemplo alguns caracteres dentro de um [ ], não necessariamente sequenciais, podendo ser algo como [ac3t], qualquer um destes caracteres que casarem a regra serão aceitos. Range de caracteres: Este possui uma convenção especial, dois caracteres separados por um traço “-“ denotam um range, desta forma [a-cA-C0-3] é equivalente a [abcABC0123] 1.8 Quotting (Escape de caracteres) Quotting significa “aspas”, no caso em especifico não é bem isso que ele quer dizer, a questão aqui é escape de caracteres. Você deve pensar da seguinte forma, se no shell o cifrão “$” é inicio de variável, como você irá manipular um arquivo que possui este caractere em seu nome, ou mesmo um arquivo ou diretório que contenha uma barra “/” em seu nome ? A questão é bastante simples, nós fazemos o escape do caractere, vamos fazer alguns exemplos para tentarmos entender. Acompanhe o comando abaixo. $ echo $date $ No comando acima foi executado o comando echo $date que irá mostrar o valor da variável $date, porém ele aparece em branco já que a variável não possui nenhuma valor. Já neste comando ao pressionarmos o "enter" foi exibido a string $date $ echo \$date $date $ O mesmo processo também pode ser executado digitando aspas simples ( ‘ ) que neste caso faz a interpretação literal do que está dentro, acompanhe o comando ao lado. Neste caso é importante lembrar que não deve haver uma aspas simples dentro de um outro par, ou seja, não pode usar: ‘ teste’a ‘ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 33 A aspas dentro do contexto irá cancelar a última. Nesses casos podemos utilizar uma barra invertida “\” para cancelar a funcionalidade do caractere, no caso a expressão ficaria: ‘ teste\’a ‘ Ou seja, a \ cancela a funcionalidade da '. As aspas duplas também fazem a preservação dos caracteres, exceto pelo cifrão, mas o mesmo também pode ser utilizando se houver uma barra invertida antes. No caso da existência de uma barra invertida como parte da string é importante que você adicione outra para realizar o escape da mesma, no caso pensemos no seguinte exemplo abaixo. $ cd /teste\2 -bash: cd: teste2: No such file or directory $ cd /teste\\2 :~/teste\2 $ Perceba que o diretório foi criado com o nome de teste\2, ao tentar entrar no diretório com o comandopuro “cd teste\2” ele não entende e tenta entrar em teste2, ao digitarmos com barra de escape nós conseguimos entrar no diretório, dessa forma o comando ficou “cd teste\\2” , no caso com a utilização de aspas simples ou duplas não se torna necessária a barra de escape. Uma coisa importante nesta questão é que no Linux um espaço é um caractere, então você tem dois modos de entrar, por exemplo, no diretório “teste 2”, sendo elas cd “teste 2” cd teste\ 2 No segundo exemplo você fez o escape do caractere de espaço e passou a continuação do nome do diretório. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 34 2 Usando a Linha de Comando para Obter Ajuda Peso: 2 Descrição: Utilizando os comandos de ajuda e navegação nos vários sistemas de ajuda do Linux. Tópicos Importantes: Man Info Veja abaixo uma lista parcial com os arquivos, termos e utilitários mais utilizados: man info Man pages /usr/share/doc locate apropos, whatis, whereis � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 35 2.1 Manuais (comando man) O Linux traz em sua instalação e em seus programas muitos pacotes de documentação , normalmente estes estão em inglês mas possuem toda a documentação referente ao comando em si. Vale lembrar que além destes manuais você tem o parâmetro -help / -h que já foi mencionado em tópicos anteriores. O comando man é um dos recursos mais úteis do Linux e de outros sistemas unix, através dele você obtém toda a documentação de um comando, com explicações detalhadas e muitas vezes alguns exemplos. Vamos pegar por exemplo um pedaço do comando “man tar”. Acompanhe abaixo. Veja que ele traz o inicio uma sinopse, em seguida uma descrição e exemplos. Veja a figura a seguir que mostra uma outra pagina do mesmo manual . Obs: para sair da página do manual e voltar para a linha de comandos basta pressionar a tecla q. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 36 Como você pode perceber a saída do comando lhe fornece explicações a respeito de cada um dos parâmetros que o comando aceita, infelizmente é necessário dar uma boa treinada no inglês para conseguir ter mais domínio, mas com certeza isso fará toda a diferença para você. Existem alguns casos onde os comandos possuem documentações diferentes em diferentes seções, para estes casos você utiliza o comando man SEÇÃO comando , estas seções são divididas da seguinte forma. 1. Programas executáveis ou comandos do shell 2. Chamadas de sistema (utilizado pelo kernel) 3. Bibliotecas (funções utilizadas por outros programas) 4. Arquivos especiais (usualmente contidos no /dev) 5. Formatos de arquivos e convenções (ex: /etc/passwd) 6. Jogos 7. Variados (incluindo macros e convenções (ex: man(7), groff(7)) 8. Comandos de administração de sistema (normalmente apenas para root) 9. Rotinas do kernel [Fora de Padrão ] Esta descrição foi retirada de uma página do man man. 2.2 Acessando Manuais com o Comando info O comando info acessa as mesmas documentações que o man, mas ele na verdade é um leitor para estas documentações, basicamente ele permite uma navegação mais fácil pelas paginas por ter mais recursos como procura, navegação por links e etc.. O comando man por padrão utiliza o paginador more para permitir que você navegue na documentação, se existir o comando less instalado já facilita um pouco pois permite descer e subir o conteúdo (o comando more apenas desce). Veja abaixo as figuras d as telas para os comandos man e info, respectivamente. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 37 2.3 Arquivos de Documentação Além dos manuais em alguns casos temos arquivos de exemplos e outros no diretório /usr/share/doc seguido do nome do comando ou programa que você está buscando, veja abaixo a listagem dos arquivos do diretório /usr/share/doc/rsync dltec@dltec:~$ ls /usr/share/doc/rsync README.gz changelog.Debian.gz examples tech_report.tex.gz TODO.gz copyright scripts dltec@dltec:~$ Perceba que dentro do diretório além dos arquivos de licença (copyright), temos o README, changelog e alguns outros dependendo de que diretório estamos listando. No caso do rsync temos um diretório examples e outro scripts, no diretório examples são alguns exemplos de configuração para o rsync e no diretório scripts alguns scripts que podem ser utilizados para algumas operações como log, verificação de status e outros. 2.4 Encontrando um Manual a Partir de uma Referência Algumas vezes nós sabemos o nome de um arquivo ou comando e queremos saber onde tem informações sobre ele, para este caso nós utilizamos o comando apropos. A ideia deste comando é simplesmente localizar em que manual contém a informação que você solicitou, veja o exemplo abaixo. web:~# apropos rsyncd.conf rsyncd.conf (5) - configuration file for rsync in daemon mode Veja que perguntei sobre o arquivo rsyncd.conf, este arquivo em especifico possui um manual próprio explicando suas configurações, no caso a resposta dele foi: rsyncd.conf (5) Configuration file for rsync in daemon mode Qual Manual Que seção do manual Descrição Vamos ver agora um exemplo que possua mais saídas. Questionamos o apropos sobre “passwd” e como pode ser verificado, ele trouxe vários manuais com referências ao termo, ou seja, se você quer procurar algo, mas não sabe de qual manual é, utilize o apropos para esta função. apropos passwd auth_passwd (3) - Change accounts password authpasswd (1) - Generate login passwords chgpasswd (8) - update group passwords in batch mode chpasswd (8) - update passwords in batch mode exim4_passwd (5) - Files in use by the Debian exim4 packages exim4_passwd_client (5) - Files in use by the Debian exim4 packages expect_mkpasswd (1) - generate new password, optionally apply it to a user gpasswd (1) - administer the /etc/group and /etc/gshadow files htpasswd (1) - Manage user files for basic authentication mkpasswd (1) - Overfeatured front end to crypt(3) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br Ap o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 38 2.5 Localizando Arquivos Como no Linux utilizamos muito a linha de comando é importante que saibamos através do modo console procurar por um arquivo. Tenha em mente que nem sempre você saberá onde um determinado arquivo se encontra, ele pode estar fora de padrão ou com uma instalação especifica e nestes casos você precisará localizar esse arquivo. Para tal podemos utilizar os comandos locate e whereis. 2.5.1 Comando Locate Vamos imaginar que você está acessando pela primeira vez um servidor de email que possui o software dovecot instalado, você já verificou e viu que ele não está no /etc (o arquivo de configuração), então como podemos localizar? Veja a abaixo. $ locate dovecot.conf /usr/local/etc/dovecot/dovecot.conf /usr/local/share/doc/dovecot/example-config/dovecot.conf /usr/local/var/run/dovecot/dovecot.conf /usr/src/dovecot.conf.tar.gz O comando que utilizamos foi o locate, o nome é bem sugestivo e trata-se de um comando para localização de arquivos. Um ponto importante é que ele não irá procurar o arquivo no momento em que você o acionou, pois ele possui um banco de dados que roda uma ou mais vezes por dia e atualiza as informações. Você pode executar o update através do comando updatedb e com esta tabela devidamente atualizada você consegue encontrar qualquer arquivo no sistema, veja que no nosso exemplo ele trouxe várias linhas de resultado contendo a string “dovecot.conf”. 2.5.2 Comando whereis O comando whereis é utilizado para procurar arquivos binários, códigos fontes e/ou páginas de manuais. Se digitarmos o comando whereis passwd, por exemplo, o retorno será a linha mostrada abaixo. whereis passwd passwd:/usr/src/apr-1.4.6/passwd /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd. 1ssl.gz /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd. 5.gz Informação adcional: Outra forma de encontrar uma página de um manual é através do comando whatis, este comando assim como o apropos traz a informação do manual referente a string que você buscou, com uma diferença, o apropos busca em todo o manual e o whatis busca apenas na descrição do manual. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 39 Veja que ele trouxe a string passwd: seguida de tudo que ele achou, o primeiro passwd trata- se de um fonte, o segundo é o binário de troca de senhas, o terceiro é o arquivo de senhas do Linux, depois os manuais. Você pode por exemplo no comando whereis especificar que tipo de resultado você quer, como por exemplo apenas binário: whereis –b passwd Existem outras opções de uso do comando que você pode verificar no man whereis. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 40 3 Usando Diretórios e Listando Arquivos Peso: 2 Descrição: Navegar por entre os diretórios home e system e listando arquivos em várias localizações. Tópicos Importantes: Arquivos e diretórios Ocultando arquivos e diretórios Home Caminhos relativos e absolutos Veja abaixo uma lista parcial com os arquivos, termos e utilitários mais utilizados: Common options for ls Recursive listings cd . and .. home and ~ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 41 3.1 Arquivos e Diretórios Arquivos e diretórios no Linux não possuem muito segredos, porém, existem algumas configurações que ajudam você a identificar de forma mais simples quando trata-se de um diretório e quando trata-se de um arquivo. Acompanhe a figura abaixo onde mostramos a saída do comando ls / . dltec@dltec:/$ ls bin dev initrd.img media proc sbin sys var boot etc lib mnt root selinux tmp vmlinuz cdrom home lost+found opt run srv usr dltec@dltec:/$ Salvo o caso do arquivo initrd.img, os demais seriam todos diretórios? Vale lembrar que no Linux não faz diferença a extensão do arquivo, ela tem o intuito apenas de informação, facilitar para quem está vendo o arquivo sobre o que se trata, mas não é primordial sua utilização. Mas e então, a primeira vista, que conclusão tiramos da listagem do diretório root (/)? Bom, eu não tiraria nenhuma no momento. Vamos verificar um outro modo de visualizar esta listagem. dltec@dltec:/$ ls -p bin/ dev/ initrd.img media/ proc/ sbin/ sys/ var/ boot/ etc/ lib/ mnt/ root/ selinux/ tmp/ vmlinuz cdrom/ home/ lost+found/ opt/ run/ srv/ usr/ dltec@dltec:/$ Veja que agora utilizamos o comando ls –p o qual acrescentou uma / após cada diretório e não fez o mesmo nos arquivos. Muito mais fácil assim não acha? Outro parâmetro interessante é o color. Normalmente o color já vem habilitado como padrão na maioria das distribuições. Caso esse não seja o caso, basta acrescentarmos o parâmetro -- color=auto. Este comando produz uma saída colorida, onde cada cor tem seu significado. Vamos listar algumas delas. Cinza: Arquivo simples Azul claro: Link Simbólico Azul: Diretório Fundo Azul fonte cinza: Arquivo com bit stick (t) Fundo Verde e fonte preta: Permissão 777 e bit stick Existem algumas outras cores que você verá depois, mas basicamente esta é uma das formas mais praticas para identificar os tipos de arquivos e diretórios, pois trata-se do modo mais diferenciado. Obs: o comando ls / irá listar os arquivos e diretórios do diretório root (/) � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 42 Podemos ainda exibir a saída do comando como uma listagem com as propriedades, veja a abaixo. dltec@dltec:/$ ls -l --color=auto -p total 88 drwxr-xr-x 2 root root 4096 Jul 23 12:41 bin/ drwxr-xr-x 3 root root 4096 Jul 23 12:41 boot/ drwxr-xr-x 2 root root 4096 Jul 23 12:34 cdrom/ drwxr-xr-x 14 root root 4000 Sep 17 11:52 dev/ drwxr-xr-x 129 root root 12288 Sep 17 11:52 etc/ drwxr-xr-x 4 root root 4096 Sep 13 20:48 home/ lrwxrwxrwx 1 root root 36 Jul 23 12:40 initrd.img -> boot/initrd.img-3.2.0- 23-generic-pae drwxr-xr-x 21 root root 4096 Jul 23 12:41 lib/ drwx------ 2 root root 16384 Jul 23 12:28 lost+found/ drwxr-xr-x 2 root root 4096 Apr 23 2012 media/ drwxr-xr-x 2 root root 4096 Apr 19 2012 mnt/ drwxr-xr-x 2 root root 4096 Apr 23 2012 opt/ dr-xr-xr-x 112 root root 0 Sep 17 11:51 proc/ drwx------ 3 root root 4096 Jul 23 12:47 root/ drwxr-xr-x 22 rootroot 820 Sep 17 11:52 run/ drwxr-xr-x 2 root root 4096 Jul 23 12:41 sbin/ drwxr-xr-x 2 root root 4096 Mar 5 2012 selinux/ drwxr-xr-x 2 root root 4096 Apr 23 2012 srv/ drwxr-xr-x 13 root root 0 Sep 17 11:51 sys/ drwxrwxrwt 7 root root 4096 Sep 17 12:21 tmp/ drwxr-xr-x 10 root root 4096 Apr 23 2012 usr/ drwxr-xr-x 14 root root 4096 Sep 16 20:10 var/ lrwxrwxrwx 1 root root 33 Jul 23 12:40 vmlinuz -> boot/vmlinuz-3.2.0-23- generic-pae dltec@dltec:/$ Perceba que para gerar esta saída utilizamos todas as opções que vimos anteriormente. O comando ficou ls –l –color=auto –p , o –l significa lista longa, que é o que ele mostra, vamos analisar uma saída. Acompanhe também na figura abaixo um exemplo. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 43 drwxrwxrwt 33 root root 425984 2012-07-18 21:52 tmp/ O primeiro bloco do comando traz as permissões aplicadas no diretório. O segundo campo (33) é a quantidade de diretórios existentes dentro desse diretório. O terceiro campo (root) representa o proprietário (dono) do diretório. O quarto campo (root) representa o grupo ao qual o diretório faz parte. O quinto campo traz o tamanho do diretório em bytes. O sexto campo traz a data da última modificação. O sétimo campo traz o diretório em questão. Com estas informações você já pode identificar arquivos e diretórios sem maiores dificuldades. Uma outra utilização que vale apena ressaltar no comando ls é a listagem recursiva, esta opção é utilizada com o parâmetro –R. A listagem recursiva irá executar um ls para cada diretório que for encontrado. Por exemplo, se tiramos um ls -R do diretório teste, a saída irá mostrar o conteúdo do diretório teste e para cada diretório que for encontrado ele irá executar um ls desse diretório e assim sucessivamente. Veja abaixo. Perceba que no primeiro nível temos os diretórios teste2, teste3, teste4 e teste5, dentro de teste2 temos outro diretório teste2, dentro de teste5 temos outro diretório teste2, dentro deste teste2, temos um diretório teste6, onde temos um diretório de número 8. Se você reparar para cada diretório ele executou uma listagem também, em nosso caso não havia nenhum arquivo dentro então nada foi exibido. Obs: Mais para frente nesse curso entraremos em mais detalhes sobre como interpretar o campo de permissões do arquivo. Não se preocupe com isso nesse momento, tudo ficará mais claro mais para frente. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 44 No Linux temos uma facilidade que são os diretórios ou arquivos ocultos. Normalmente estes arquivos/diretórios ocultos são utilizados para não gerar volume desnecessário quando estamos visualizando um determinado diretório. Vamos exemplificar esta questão, acompanhe na saída seguinte. dltec@dltec:~$ ls Desktop Music Templates essentials php.versoes Documents Pictures Videos examples.desktop Downloads Public bin lpi102 dltec@dltec:~$ Veja que a listagem da imagem traz apenas alguns diretórios, nada muito poluído salvo alguns arquivos e diretórios. Agora vamos usar o comando ls –a para listar todos os arquivos, inclusive os ocultos. dltec@dltec:~$ ls -a . .dbus .mozilla Music .. .dmrc .mysql_history Pictures .ICEauthority .gconf .profile Public .Xauthority .gnome2 .pulse Templates .bash_history .goutputstream-2NA22W .pulse-cookie Videos .bash_logout .gtk-bookmarks .xsession-errors bin .bashrc .gvfs .xsession-errors.old essentials .bashrc.swp .lesshst Desktop examples.desktop .cache .local Documents lpi102 .config .mission-control Downloads php.versoes dltec@dltec:~$ Perceba que agora vemos muitos outros diretórios que não estavam lá antes, estes são diretórios ocultos. A maior parte é alguma configuração ou diretório de configurações de algum aplicativo. Por exemplo, você poderá ver o diretório .mozilla que contém os dados do Firefox ou o diretório .local onde ficam as configurações do KDE. Uma questão muito importante a se saber sobre o Linux, é que o caractere “.” aparece em todos os arquivos e diretórios ocultos. � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � tel (41) 3045.7810 - info@dltec.com.br - www.dltec.com.br A p o s t i l a / e B o o k d o C u r s o L i n u x E s s e n t i a l s Página 45 3.2 Diretório home Desde o início do curso até agora você já deve ter reparado que várias vezes falamos do diretório home. Esse é o diretório especifico para armazenamento dos dados dos usuários, por exemplo, o usuário mike possui por padrão seu home (sua casa) no diretório /home/mike. É importante ressaltar que nada impede que você utilize outro local para isso, porém você estaria fugindo do padrão e os padrões foram criados para que o conhecimento pudesse ser compartilhado por todos. Assim qualquer administrador que precise sabe onde ficam as coisas desde que elas estejam utilizando os devidos padrões. 3.3 Caminho Absoluto e Caminho Relativo O caminho nada mais é do que a direção que você deve seguir, dentro da estrutura de diretórios, para chegar a um determinado arquivo ou diretório. O caminho absoluto inicia a partir do diretório raiz (o root) e guia você por entre a estrutura de diretórios, desde da raiz até o destino final. Por exemplo, temos no linux um diretório onde ficam instalados a maioria dos programas no linux. O caminho para esse diretório é /usr/bin. Isso significa que o caminho absoluto para esse diretório é: root - usr - bin Lembre-se que a primeira “/” representa o root. aluno@dltec-VirtualBox:~$ cd /usr/bin aluno@ dltec-VirtualBox:/usr/bin$ pwd /usr/bin aluno@ dltec-VirtualBox:/usr/bin$ ls [ linux32 2to3 linux64 2to3-2.7 linux-boot-prober a2p listres accountwizard lnstat aconnect loadkeys acpi_fakekey loadunimap acpi_listen localc Enquanto que o caminho absoluto inicia a partir do root, um caminho relativo inicia a partir do seu diretório atual. Para indicar um caminho relativo utilizamos o "." (ponto) e o ".." (ponto ponto). O "." faz referência ao seu diretório atual e o ".." faz referência ao diretório pai do seu diretório atual. Vamos exemplificar no exemplo abaixo. Dica: Um uso comum que fazemos é criar o diretório /home em uma partição separada do HD, desta forma podemos atualizar ou reinstalar o sistema operacional sem nos preocupar com estes dados. O diretório /home é muitas vezes referenciado pelo caractere “~” , por exemplo, de qualquer lugar do sistema se você digitar cd ~ você será direcionado
Compartilhar