450 linux essentials (atualizado 2009_2010)

294
450 – Linux Essentials www.4linux.com.br

Upload: leitbomedu

Post on 25-Nov-2015

97 views

Category:

Documents


9 download

TRANSCRIPT

  • 450 Linux Essentials

    www.4linux.com.br

  • - 2

    SumrioCaptulo 1 Introduo ao infinito...............................................................................................................11

    1.1. Objetivos ......................................................................................................................111.2. Introduo ....................................................................................................................111.3. Distribuies GNU/Linux .............................................................................................131.4. Caractersticas de Algumas Distribuies ...................................................................16

    1.4.1. RedHat ...............................................................................................................................171.4.2. SuSe ...................................................................................................................................171.4.3. Mandriva ...........................................................................................................................171.4.4. Slackware ..........................................................................................................................181.4.5. Debian ...............................................................................................................................181.4.6. Ubuntu................................................................................................................................181.4.7. Fedora ................................................................................................................................191.4.8. OpenSuSe ..........................................................................................................................191.4.9. Knoppix...............................................................................................................................191.4.10. Gentoo .............................................................................................................................19Exerccios Tericos .......................................................................................................................20

    Captulo 2 Primeiros Passos......................................................................................................................22

    2.1. Objetivos ......................................................................................................................222.2. Entendendo a estrutura do Linux ................................................................................222.3. Introduo ao Shelll ....................................................................................................242.4. Terminal Virtual ...........................................................................................................252.5. Logon ...........................................................................................................................262.6. Histrico de comandos .................................................................................................262.7. Logout ..........................................................................................................................272.8. Desligando o Computador ............................................................................................272.9. Reiniciando o Computador ...........................................................................................282.10. Prtica Dirigida ..........................................................................................................292.11. Exerccio Terico.........................................................................................................31

    Captulo 3 Sistema de Arquivos e Diretrios ............................................................................................32

    3.1. Objetivos ......................................................................................................................323.2. Introduo ....................................................................................................................323.3. Estrutura de Diretrios GNU/Linux .............................................................................33

  • - 3

    3.4. Diretrio Recomendado ...............................................................................................373.5. O diretrio /sys .............................................................................................................383.6. Diretrios Opcionais.....................................................................................................383.7. Comandos de Movimentao .......................................................................................393.8. Prtica Dirigida ............................................................................................................413.9. Exerccio Terico ..........................................................................................................433.10. Laboratrio .................................................................................................................45

    Captulo 4 Aprendendo comandos do GNU/Linux ....................................................................................46

    4.1. Objetivos ......................................................................................................................464.2. Introduo ....................................................................................................................46

    4.2.1. Explorando o sistema .........................................................................................................474.3. O comando ls ................................................................................................................47

    4.3.1. Coringas .............................................................................................................................484.3.2. Usando coringas no Shell ...................................................................................................50

    4.4. Criao, movimentao, cpia e remoo de arquivos e diretrios .............................514.5. Prtica Dirigida ............................................................................................................534.6. Exerccio Terico ..........................................................................................................554.7. Laboratrio ...................................................................................................................57

    Captulo 5 Comandos teis de linha de comando .....................................................................................58

    5.1. Objetivos ......................................................................................................................585.2. Trabalhando com entrada e sada de dados .................................................................585.3. Comandos para paginao ...........................................................................................60

    5.3.1. Mostrando o contedo e/ou concatenando .........................................................................605.3.2. Controlar o fluxo: more e less .............................................................................................615.3.3. Pores especficas: head e tail .........................................................................................615.3.4. Contagem: wc .....................................................................................................................625.3.5. Classificao: sort ...............................................................................................................635.3.6. Mostrar algo: echo ..............................................................................................................63

    5.4. Filtragem .....................................................................................................................645.4.1. Filtrar colunas: cut .............................................................................................................655.4.2. Determinando o tipo de arquivo: file .................................................................................66

    5.5. Administrativos.............................................................................................................665.5.1. Espao em Disco..................................................................................................................665.5.2. Definindo tamanho dos objetos...........................................................................................675.5.3. Mostrar o uso de memria RAM: free ................................................................................675.5.4. Mostrar e/ou ajustar a data do sistema: date .....................................................................685.5.5. Mostrar por quanto tempo o computador est ligado: uptime ...........................................69

  • - 4

    5.5.6. Mostrar informaes sobre o sistema: uname ....................................................................695.5.7. Diferena entre arquivos: diff .............................................................................................695.5.8. Tempo de execuo de um programa: time.........................................................................705.5.9. Localizao no sistema: find ...............................................................................................705.5.10. Localizao usando base de dados: locate ........................................................................73

    5.6. Mais e mais comandos..................................................................................................745.7. Prtica Dirigida ............................................................................................................755.8. Exerccios Tericos ......................................................................................................815.9. Laboratrio ...................................................................................................................82

    Captulo 6 Conhecendo a Documentao .................................................................................................83

    6.1. Objetivos ......................................................................................................................836.2. Introduo Terica .......................................................................................................836.3. Formas de Documentao ............................................................................................84

    6.3.1. How-to's ..............................................................................................................................846.3.2. Manuais ..............................................................................................................................856.3.3. Documentao ....................................................................................................................85

    6.4. Comandos de ajuda ......................................................................................................866.4.1. Comando help .....................................................................................................................866.4.2. Comando man .....................................................................................................................876.4.3. Comando apropos ...............................................................................................................906.4.4. Comando whatis .................................................................................................................916.4.5. Comando info ......................................................................................................................91

    6.5. Alternativas para consulta ...........................................................................................926.6. Comando whereis .........................................................................................................936.7. Comando which ............................................................................................................946.8. Prtica Dirigida ............................................................................................................946.9. Exerccios Tericos ......................................................................................................966.10. Laboratrio .................................................................................................................97

    Captulo 7 Editores de texto .....................................................................................................................98

    7.1. Objetivos ......................................................................................................................987.2. Introduo ....................................................................................................................987.3. Editor Nano ..................................................................................................................997.4. Editor Vim ..................................................................................................................1017.5. Prtica Dirigida ..........................................................................................................103

    7.5.1. Teste os comandos de Edio .....................................................................................................................................................103

    7.6. Exerccio Terico ........................................................................................................106

  • - 5

    7.7. Laboratrio .................................................................................................................107

    Captulo 8 Introduo a Redes ...............................................................................................................109

    8.1. Objetivos ....................................................................................................................1098.2. Os Protocolos TCP/IP ................................................................................................1108.3. Entendendo o IP .........................................................................................................1108.4. Entendendo o gateway da rede .................................................................................1158.5. O servidor DNS ..........................................................................................................1158.6. Arp e RARP ................................................................................................................1168.7. Configurando a Rede ..................................................................................................116

    8.7.1. Configurando IP e Mscara ..............................................................................................1168.7.2. Configurando o gateway ...................................................................................................1188.7.3. Configurao dos DNS Servers ........................................................................................1198.7.4. Configurao esttica de rede ..........................................................................................119

    8.8. Arquivo Hosts .............................................................................................................1208.9. Comando hostname ....................................................................................................1218.10. O arquivo nsswitch.conf ...........................................................................................1218.11. Prtica Dirigida ........................................................................................................1228.12. Exerccio Terico ......................................................................................................1278.13. Laboratrio ...............................................................................................................127

    Captulo 9 Manipulando Hardware e Dispositivos .................................................................................128

    9.1. Objetivos ....................................................................................................................1289.2. Dispositivos em Linux ................................................................................................128

    9.2.1. Explorando o /dev .............................................................................................................1299.3. Dispositivos de armazenamento .................................................................................1329.4. Devices, UUID e Labels ..............................................................................................135

    9.4.1. Usando os dispositivos de armazenamento .....................................................................1379.5. Criando Parties no HD ............................................................................................139

    9.5.1. Particionamento com FDISK .............................................................................................1399.5.2. Particionamento com CFDISK ..........................................................................................140

    9.6. Aplicando um Filesystem ...........................................................................................1429.7. Arquivos de Informaes de Filesystems ...................................................................1439.8. Configuraes de Teclado e Mouse no Console .........................................................1459.9. Prtica Dirigida 1 .......................................................................................................1459.10. Para aprofundar o assunto ......................................................................................1469.11. Prtica Dirigida 2 .....................................................................................................1469.12. Exerccios Tericos ..................................................................................................150

  • - 6

    9.13. Laboratrio ...............................................................................................................151

    Captulo 10 Administrao de Usurios ...................................................................................................152

    10.1. Objetivos ..................................................................................................................15210.2. Gerenciamento de usurios ....................................................................................15310.3. Permisses ...............................................................................................................154

    10.3.1. Exemplos de permisses .................................................................................................15710.4. Registro de usurios no sistema .............................................................................158

    10.4.1. Arquivo /etc/passwd ........................................................................................................15810.4.2. Arquivo /etc/shadow .......................................................................................................159

    10.5. Levantamento de informaes dos usurios ............................................................16010.5.1. Chage ..............................................................................................................................16010.5.2. Comando id .....................................................................................................................16110.5.3. Comando finger ..............................................................................................................16110.5.4. Comando users ..............................................................................................................16210.5.5. Comando who .................................................................................................................162

    10.6. Comando w ...............................................................................................................16210.7. Criando Usurios ....................................................................................................163

    10.7.1. Comando adduser ...........................................................................................................16310.8. Adicionar um usurio a outro grupo ........................................................................164

    10.8.1. Comando gpasswd ..........................................................................................................16410.9. Modificando usurios ...............................................................................................164

    10.9.1. Comando passwd ............................................................................................................16510.9.2. Comando usermod ..........................................................................................................165

    10.10. Alterao do Dono e Grupo ....................................................................................16610.11. Removendo usurios ..............................................................................................16610.12. Umask ...................................................................................................................16710.13. Permisses Especiais .............................................................................................16810.14. Prtica Dirigida .....................................................................................................17010.15. Exerccios Tericos ................................................................................................17310.16. Laboratrio .............................................................................................................175

    Captulo 11 Administrao da Shell .........................................................................................................176

    11.1. Objetivos ..................................................................................................................17611.2. O que uma shell? ...................................................................................................17611.3. Variveis em Shell ....................................................................................................177

    11.3.1. Variveis Locais e de Ambiente (globais) .......................................................................17811.4. Alias ..........................................................................................................................179

    11.4.1. Arquivos de Login ...........................................................................................................179

  • - 7

    11.4.2. Arquivos /etc/issue e /etc/motd .......................................................................................18011.5. Tipos de shell ...........................................................................................................18111.6. Prtica Dirigida .......................................................................................................18211.7. Exerccio Terico ......................................................................................................18511.8. Laboratrio ...............................................................................................................186

    Captulo 12 Compactadores, Empacotadores e Procedimentos de Backup .............................................188

    12.1. Objetivos ..................................................................................................................18812.2. Empacotador TAR ...................................................................................................18912.3. O empacotador cpio ................................................................................................19112.4. Compactadores GZIP e BZIP2 ..................................................................................19112.5. Falando de Backup ...................................................................................................192

    12.5.1. O comando dd .................................................................................................................19312.6. Prtica Dirigida ........................................................................................................193

    12.6.1. gzip e bzip2 com arquivos de texto puro .......................................................................19412.6.2. gzip e bzip2 com arquivos binrios .................................................................................19612.6.3. Trabalhando com o tar ....................................................................................................197

    12.7. Exerccios Tericos ..................................................................................................199

    Captulo 13 Shell Script I .........................................................................................................................200

    13.1. Objetivos ..................................................................................................................20013.2. O que um script? ...................................................................................................20013.3. Estudando um exemplo ............................................................................................20113.4. Executando o script .................................................................................................20213.5. Usando os nmeros ..................................................................................................20313.6. Prtica Dirigida ........................................................................................................20413.7. Usando a estrutura SE .............................................................................................205

    13.7.1. A varivel $? ..................................................................................................................20613.7.2. O comando test ...............................................................................................................20613.7.3. Testando strings..............................................................................................................20713.7.4. Testando expresses matemticas ..................................................................................20713.7.5. Testando expresses em arquivos...................................................................................20713.7.6. Operadores de strings ...................................................................................................20813.7.7. Operadores de matemticos............................................................................................20813.7.8. Operadores para arquivos ..............................................................................................208

    13.8. Utilizando a estrutura if ..........................................................................................20913.9. Exerccios Tericos ..................................................................................................21213.10. Laboratrio .............................................................................................................213

  • - 8

    Captulo 14 Agendamento de Tarefas .......................................................................................................215

    14.1. Objetivos ..................................................................................................................21514.2. Introduo Terica ...................................................................................................21514.3. Prtica Dirigida ........................................................................................................217

    14.3.1. Agendamento de Tarefas com AT ...................................................................................21714.3.2. Agendando Tarefas com o CRON ....................................................................................219

    14.4. Exerccios Tericos ..................................................................................................22114.5. Laboratrio ...............................................................................................................222

    Captulo 15 Instalando, removendo e atualizando programas .................................................................223

    15.1. Objetivos ..................................................................................................................22315.2. O que um pacote? ..................................................................................................22315.3. Mas o que um gerenciador de pacotes? ................................................................22415.4. Gerenciamento de pacotes .......................................................................................22615.5. Espelhos e o arquivo /etc/apt/sources.list ................................................................22715.6. Instalao, Remoo e Atualizao ..........................................................................22815.7. Consultas de Pacotes ...............................................................................................22915.8. Atualizao via Internet ...........................................................................................22915.9. Gerenciamento de pacotes em distros baseadas em rpm. .......................................229

    15.9.1. Instalando pacotes: .........................................................................................................23015.9.2. Removendo pacotes: .......................................................................................................230

    15.10. Exerccio Terico ....................................................................................................231

    Captulo 16 Servidor X .............................................................................................................................233

    16.1. Objetivos ..................................................................................................................23316.2. Introduo Terica ...................................................................................................23316.3. Configurando o suporte Interface Grfica ............................................................23416.4. Varivel de Ambiente DISPLAY ................................................................................23616.5. Window Managers ....................................................................................................23616.6. Display Managers ....................................................................................................23716.7. Protocolo XDMCP .....................................................................................................23716.8. Xnest ........................................................................................................................23816.9. Prtica Dirigida .......................................................................................................238

    16.9.1. Instalao e Configurao do Servidor X ........................................................................23816.9.2. Instalando um Window Manager ....................................................................................24216.9.3. Display Managers ...........................................................................................................24416.9.4. Usando o Xnest ...............................................................................................................245

  • - 9

    16.9.5. Servidor X Remoto ..........................................................................................................24716.10. Exerccios ..............................................................................................................248

    Captulo 17 Instalao Linux em Desktop ................................................................................................249

    17.1. Objetivos ..................................................................................................................24917.2. Instalando o Debian 4.0 - Etch .................................................................................24917.3. Perfil da instalao: .................................................................................................249

    17.3.1. Telas de Instalao .........................................................................................................251

    ANEXOS.................................................................................................................................272System Imager - 4Linux ....................................................................................................273

    O que .......................................................................................................................................273Instalando o programa. ..............................................................................................................273Utilizando o System Imager .......................................................................................................27417.3.2. Backup ao final de cada aula ..........................................................................................27417.3.3. Restore antes de cada aula .............................................................................................274

    Manipulando Hardware e Dispositivos .............................................................................276Objetivos .....................................................................................................................................276Acesso aos dispositivos ...............................................................................................................277

    Softwares Desktop ............................................................................................................280Objetivos .....................................................................................................................................280Suites de Produtividade ..............................................................................................................283 Editor de Textos .........................................................................................................................284Planilha Eletrnica .....................................................................................................................284Programa de Apresentaes .......................................................................................................285Internet .......................................................................................................................................286Navegador ..................................................................................................................................287Multimdia ..................................................................................................................................287 udio .........................................................................................................................................288Vdeo ...........................................................................................................................................288 Grficos .....................................................................................................................................289

    Acessibilidade ...................................................................................................................290Dasher ........................................................................................................................................291GOK ............................................................................................................................................292Festival .......................................................................................................................................293

    REFERNCIAS BIBLIOGRFICAS..................................................................................................................294

  • - 10

    ndice de tabelas

    ndice de Figuras

  • Captulo 1 Introduo ao infinito - 11

    Captulo 1

    Introduo ao infinito

    1.1. Objetivos Descobrir o que GNU/Linux;

    Entender a filosofia do Software Livre;

    Conhecer um pouco da histria;

    Entender o que so Distribuies;

    1.2. Introduo Utilizar um sistema GNU/Linux muito mais do que optar por uma soluo

    isenta de custos de licena. usufruir uma filosofia que antecedeu o software proprietrio, e que permitiu, por exemplo, que a internet crescesse de forma aberta como a conhecemos hoje. Como usurio de software livre, precisamos compreender um pouco mais sobre essa ideologia e como ela promoveu o surgimento das vrias distribuies.

  • Captulo 1 Introduo ao infinito - 12

    O sistema GNU/Linux frequentemente chamado apenas pelo seu segundo nome, Linux. Entretanto, essa designao no faz justia a todos os desenvolvedores que vm desenvolvendo o sistema.

    GNU, que um acrnimo recursivo de GNU's not Unix, um grupo que foi fundado em 1984 por seu idealizador, Richard Stallman, com o intuito de criar um sistema operacional ``Unix-Like''. Sendo assim, diversos softwares passaram a ser criados e mantidos pela comunidade que se formara, entretanto, havia um pedao de cdigo essencial que ainda no tinha sido criado: o kernel.

    Em 1991, um jovem finlands chamado Linus Torvalds disponibilizou para o mundo a primeira verso do Linux, um kernel ``Unix-Like''. A partir desse ponto, foi possvel unir o kernel - Linux - com os softwares GNU, originando o que chamamos de GNU/Linux.

    O mundo GNU/Linux no apenas um conjunto de programas mas tambm uma filosofia de mundo livre e colaborativo, no qual as pessoas podem utilizar esses softwares livremente e, acima de tudo, aprender com eles, uma vez que seu cdigo fonte deve ser disponvel a todos que queiram melhor-lo ou apenas aprender com ele. Para que esse mundo continue livre, Richard Stallman fundou a FSF - Free Software Foundation, que mantm a licena chamada GNU GPL - GNU General Public License.

    liberdade 0 - liberdade para rodar o programa para quaisquer propsitos;

    liberdade 1 - liberdade para estudar como o programa trabalha e adapt-lo s suas necessidades. Ter acesso ao cdigo fonte essencial para isso.

    liberdade 2 - liberdade de redistribuir cpias de forma que voc possa ajudar outras pessoas.

    liberdade 3 - liberdade para melhorar o programa e disponibilizar as melhorias para o pblico, de forma que toda a comunidade possa se beneficiar disso. Ter acesso ao cdigo fonte essencial tambm para isso.

    Aps a criao dessa licena, vrias outras licenas, usando a filosofia de copyleft, foram criadas com o objetivo de defender a liberdade do conhecimento, informao e do cdigo aberto. Abaixo podemos ver alguns exemplos:

  • Captulo 1 Introduo ao infinito - 13

    GFDL - GNU Free Documentation Licence (www.gnu.org/copyleft/fdl.html);

    OPL - Open Publication License (http://www.opencontent.org/openpub/);

    CC - Creative Commons (http://creativecommons.org/about/licenses);

    BSD - Berkeley Software Distribution (http://www.freebsd.org/copyright/license.html);

    SPL - Sun Public Licence (http://java.sun.com/spl.html);

    Atualmente a GPL est disponvel em trs verses, GPLv1, GPLv2 e GPLv3. Fique por dentro de suas diferenas em: http://www.gnu.org/licenses/gpl.html

    Para mais informaes a respeito do kernel - Linux - podem ser obtidas no site oficial de seus mantenedores: http://www.kernel.org

    A respeito do GNU e da FSF podem ser obtidas nos sites

    http://www.gnu.org

    http://www.fsf.org.

    1.3. Distribuies GNU/Linux

    Voc j deve ter ouvido falar em Debian, RedHat, Slackware, SuSe, Conectiva, Mandrake, Ubuntu dentre outras. Mas, o que realmente isso? O que so todos esses nomes? Todos esses nomes so o que chamamos de distribuies GNU/Linux. Uma distribuio nada mais do que o kernel, Linux, softwares GNU e outros aplicativos que so desenvolvidos por outras comunidades ou grupos.

    Mas, por que tantas distribuies? Justamente porque se voc no se identifica com nenhuma delas, voc livre para fazer a sua prpria. Ou seja, em 1993, um rapaz chamado Patrick Volkerding, juntou o kernel e vrios outros aplicativos em uma distribuio chamada Slackware, que foi a primeira a ser distribuda em CD. A partir desse ponto, foram surgindo diversas outras distribuies que de alguma forma diferiam da filosofia do Slackware: como Debian ou RedHat,

  • Captulo 1 Introduo ao infinito - 14

    por exemplo.

    Atualmente existem centenas de distribuies, algumas mais famosas que outras. Em sua maioria, as distribuies GNU/Linux so mantidas por grandes comunidades de colaboradores, entretanto, h outras que so mantidas por empresas. Dessa forma, podemos dividir as distros, abreviao bastante utilizada na comunidade e que se refere s distribuies, em duas categorias bsicas:

    Ilustrao 1: Linha de tempo GNU/Linux

  • Captulo 1 Introduo ao infinito - 15

    Livres

    Corporativas

    Distribuies Livres - mantidas por comunidades de colaboradores sem fins lucrativos. Exemplos so: Debian, Ubuntu, Slackware, Gentoo, Knoppix e CentOS, entre outras.

    Distribuies Corporativas - mantidas por empresas que vendem o suporte ao seu sistema. Exemplos so: RedHat, SuSe e Mandriva.

    Neste ponto vale ressaltar o fato de que o produto vendido pelas empresas que comercializam sistemas GNU/Linux, so na verdade, os servios relacionados ao sistema vendido, como suporte tcnico, garantias e treinamentos, ou seja, o conhecimento do sistema. O fato de o produto no ser mais o software, mas sim o servio, devido Licena GPL que garante as j citadas quatro liberdades bsicas. Com isso, por mais que uma empresa queira fazer o seu prprio sistema GNU/Linux, enquanto ela estiver utilizando softwares registrados com GPL, sero obrigadas a distribuir o cdigo fonte gratuitamente.

    Dentro do conjunto de Distribuies Livres, podemos dividi-las novamente em duas outras categorias:

    Convencionais

    Live

    Distribuies Convencionais- so distribudas da forma tradicional, ou seja, uma ou mais mdias que so utilizadas para instalar o sistema no disco rgido;

    Distribuies Live - so distribudas em mdias com o intuito de rodarem a partir delas, sem a necessidade de instalar no HD. As distribuies Live ficaram famosas pois tm a inteno de fornecer um sistema GNU/Linux totalmente funcional, de forma fcil e sem a necessidade de o instalar na mquina. O fator que favoreceu essa abordagem que em uma distribuio Live praticamente todos os componentes j vm configurados, funcionando e com interfaces agradveis aos usurios finais. Exemplos desse tipo de distribuio so o Knoppix, do qual se originaram diversas outras como Kurumin ou Kalango, que so verses brasileiras do Knoppix, e o Ubuntu, bastante difundido atualmente.

  • Captulo 1 Introduo ao infinito - 16

    Ainda para entender um pouco mais das distribuies, necessrio lembrar de mais duas caractersticas:

    From scratch

    Provenientes (Baseadas)

    Distribuies From Scratch - So desenvolvidas do zero, ou seja, utiliza um kernel linux, alguns programas GNU e a grande maioria das suas particularidades desenvolvida especficamete para ela. Exemplos:

    Debian ;

    RedHat;

    Gentoo;

    Slackware;

    entre outras;

    Distribuies Provenientes (Baseadas) - Aproveitam ferramentas e bases j desenvolvidas por outras distribuies. Distribuies baseadas usam distribuies from scratch para alcanar seus objetivos mais rpido, dando maior ateno para ao propsito da distribuio. Exemplos: Ubuntu, DreamLinux, Kubuntu, Kurumin, Slax, BrDesktop entre muitas outras.

    1.4. Caractersticas de Algumas Distribuies

    Ser mostrado a seguir a caracterstica de algumas distribuies. Voc pode encontrar uma lista das distribuies existentes, bem como das estatsticas de downloads, no site:

    http://distrowatch.com

  • Captulo 1 Introduo ao infinito - 17

    1.4.1. RedHat Tipo: corporativa; Descrio: primeira distribuio corporativa a ser criada. Muito utilizada

    nas empresas por oferecer suporte tcnico e ter seu sistema compatvel com as diversas tecnologias disponveis;

    Interface padro: GNOME; Sistema de pacote: RPM - RedHat Package Manager; Site oficial: http://www.redhat.com

    1.4.2. SuSe Tipo: corporativa; Descrio: Comprada pela Novell em 2003, a principal concorrente da

    RedHat, atuando no meio corporativo tanto em servidores quanto em desktops. Assim como a RedHat, possui parcerias com diversas empresas, a fim de manter seu sistema compatvel com produtos de terceiros;

    Interface padro: GNOME; Sistema de pacote: baseado em RPM, mas no segue o formato da RedHat

    risca, tendo implementado algumas variaes; Site oficial: http://www.novell.com/linux

    1.4.3. Mandriva Distribuio: corporativa; Descrio: originada da fuso da Mandrake e Conectiva, especializada em

    servios e projetos embarcados; Interface padro: KDE; Sistema de pacote: RPM; Site oficial: http://www.mandriva.com

  • Captulo 1 Introduo ao infinito - 18

    1.4.4. Slackware Distribuio: livre; Descrio: primeira distribuio GNU/Linux a ser distribuda em CD,

    considerada como sendo a primeira distribuio. Organizada por seu criador Patrick Volkerding, caracteriza-se por sua filosofia de ser a distribuio mais ``Unix-Like'' do mundo GNU/Linux.

    Interface padro: KDE; Sistema de pacote: tgz; Site oficial: http://www.slackware.com

    1.4.5. Debian Distribuio: livre; Descrio: criada com o intuito de prover um sistema operacional

    totalmente livre e gratuito, foi uma das primeiras distribuies GNU/Linux a serem criadas. Atualmente uma das maiores distribuies e a que mais gerou distribuies derivadas. Por ser uma referncia em sistemas GNU/Linux, a distribuio mais utilizada em rgos pblicos e governos;

    Interface padro: GNOME; Sistema de pacote: DEB - Debian Package; Site oficial: http://www.debian.org

    1.4.6. Ubuntu Distribuio: livre (convencional e Live); Descrio: com seu slogan Linux for Human Beings - voltada para o

    usurio final, apesar de ter verso para servidores. Patrocinada pelo milionrio Mark Shuttleworth , atualmente, a maior distribuio em nmero de downloads.

    Interface padro: GNOME ou KDE (para Kubuntu); Sistema de pacote: DEB - Debian Package; Site oficial: http://www.ubuntu.com

  • Captulo 1 Introduo ao infinito - 19

    1.4.7. Fedora Distribuio: livre; Descrio: mantida pela RedHat, serve de teste para o carro chefe da

    empresa, o RedHat Enterprise. Interface padro: GNOME; Sistema de pacote: RPM - RedHat Package Manager; Site oficial: http://fedora.redhat.com

    1.4.8. OpenSuSe Distribuio: livre; Descrio: patrocinada pela Novell, baseia-se no SuSe Linux. Interface padro: GNOME ou KDE; Sistema de pacote: RPM; Site oficial: http://en.opensuse.org

    1.4.9. Knoppix Distribuio: livre (Live); Descrio: distribuio Live que popularizou distribuies do gnero,

    devido sua ferramenta de remasterizao que facilitou o processo de gerar novas distribuies;

    Interface padro: KDE; Sistema de pacote: DEB; Site oficial: http://www.knoppix.org

    1.4.10. Gentoo Distribuio: livre (Live); Descrio: Todos os programas so compilados na prpria mquina. As

    principais vantagens so a performance e a personalizao conforme as necessidades do usurio. A principal desvantagem o trabalho e tempo necessrios a sua instalao.

  • Captulo 1 Introduo ao infinito - 20

    Interface padro: A escolha do usurio; Sistema de pacote: Emerge, cdigo fonte; Site oficial: http://www.gentoo.org

    Exerccios Tericos 1) Quais so as liberdades bsicas idealizadas por Richard Stallman?

    ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    2) O que Linux e quem o seu criador? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    3) O que uma distribuio GNU/Linux? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    4) O que GPL? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    5) Qual a finalidade das licenas que defendem o copyleft? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

  • Captulo 1 Introduo ao infinito - 21

    6) Software livre o mesmo que software grtis? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    7) Qual foi a primeira distribuio disponibilizada em CD? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    8) Qual a diferena entre uma distro live e convencional? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    9) Como funciona o processo de desenvolvimento de uma distribuio GNU/Linux? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

  • Captulo 2 Primeiros Passos - 22

    Captulo 2

    Primeiros Passos

    2.1. Objetivos Entender a estrutura do sistema operacional;

    Descobrir as funcionalidades do Shell;

    Executar os primeiros comandos no sistema;

    2.2. Entendendo a estrutura do Linux

    Como podemos ver na figura abaixo, o sistema operacional GNU/Linux pode ser dividido em algumas layers:

  • Captulo 2 Primeiros Passos - 23

    Para entendermos melhor vamos descrever cada uma delas:

    Hardware - Dispositivos que esto disponveis para o uso do sistema, tais como cd-rom, placa de rede, controladora scsi entre outros;

    Kernel - O ncleo do sistema operacional, essa layer quem faz todas as interaes com o hardware da mquina, interpretando todas as requisies das layers acima;

    Sistema Operacional - Essa layer tem como funo auxiliar e abrigar todos os aplicativos das layers superiores. Segundo Linux torvalds esse layer no deve ser notada por um usurio leigo final;

    ttyN - Terminais Virtuais aonde so executados comandos e seta-das configuraes. As tty's interpretam os comandos dados por um humano e converte os mesmos para uma linguagem que a mquina entenda;

    DM - A Layer de Display Manager responsvel por gerenciar os logins na interface grfica e escolher o tipo de ambiente grfico que deve ser executado;

    Desktop Environment - Mais conhecido como gerenciador de janela, responsvel por abrigar todos os programas que necessitam um gerenciador de janelas, e por deixar o ambiente mais agradvel.

    Ilustrao 2: Estrutura do Sistema

  • Captulo 2 Primeiros Passos - 24

    2.3. Introduo ao Shelll No Mundo GNU/Linux, utilizamos o shell, que funciona como interpretador de

    comandos. Inicialmente devemos saber como us-lo. O shell a interface entre o usurio e o kernel do sistema e por meio dele, podemos digitar os comandos. O shell padro do GNU/Linux o bash. Existem tambm outros shells, como, por exemplo, csh, tcsh, ksh e zsh.

    O kernel a parte mais prxima do hardware do computador. o ncleo do Sistema Operacional. Se seu GNU/Linux estiver com problemas, no chute seu computador, a culpa no dele.

    O local onde o comando ser digitado marcado por um trao piscante na tela, chamado de cursor. Tanto em shells texto como nos shells grficos necessrio o uso do cursor para sabermos onde devemos iniciar a digitao de textos e nos orientarmos quanto posio na tela.

    Popularmente conhecido como linha de comandos, o shell interpreta o usurio que ir efetuar uma ao de duas maneiras, so elas:

    Super usurio, popularmente conhecido como root. No se engane, root no de raiz, da lngua inglesa. O usurio root o administrador do sistema, e seu diretrio (pasta) padro o /root, diferentemente dos demais usurios que ficam dentro de /home. No prximo captulo falaremos mais sobre a estrutura de diretrios do GNU/Linux. O shell de um usurio root diferente de um usurio comum. Antes do cursor, ele identificado com ``#'' (jogo-da-velha).

    Usurio comum, qualquer usurio do sistema que no seja root e no tenha poderes administrativos no sistema. Como j havamos dito anteriormente, o diretrio padro para os usurios o /home. Antes do cursor, o shell de um usurio comum identificado com ``$'' (cifro).

    Existem muitas funcionalidades no shell, uma delas retornar comandos que j foram digitados anteriormente. Para fazer isso s pressionar as teclas seta para cima e seta para baixo, caso queira retornar.

    Outra funcionalidade tambm muito utilizada, serve para visualizarmos a nossa tela de modo que possamos ir para cima ou para baixo, parecido com o scroll. Para rolarmos a tela para cima, seguramos o Shift e pressionamos o Page Up. Para

  • Captulo 2 Primeiros Passos - 25

    rolarmos a tela para baixo, seguramos o Shift e pressionamos o Page Down. Isto til para ver textos que rolaram rapidamente para cima.

    Existem duas formas de executar comandos como o administrador do sistema, logando como root e usando os comandos su e sudo.

    su - Para usar o comando su necessrio ter o password do administrador, uma vez executado possvel executar qualquer comado como administrador do sistema.

    sudo - J para a utilizao do comando sudo necessrio ter a senha do usurio corrente. Esse usurio tambm precisa estar presente na lista de usurios do sudo, que apenas o administrador tem acesso atravs do comando:

    # visudo

    A forma de se utilizar o comando sudo diferente, j que ele da permisses de execuo para apenas um comando.

    Utilizao com comando su:

    $ su

    Utilizao com comando sudo:

    $ sudo

    2.4. Terminal Virtual Terminal (ou console) o teclado e a tela conectados em seu computador. O

    GNU/Linux faz uso de sua caracterstica multi-usurio, ou seja, suporta vrios usurios, usando os ``terminais virtuais''. Um terminal virtual uma segunda seo de trabalho completamente independente de outras e que pode ser acessado no computador local ou remotamente, utilizando os programas telnet, rsh, rlogin, rdesktop, vnc, ssh, etc. Nos dias de hoje, o acesso remoto muito importante. A qualquer distncia que esteja o cliente, possvel atend-lo.

  • Captulo 2 Primeiros Passos - 26

    No GNU/Linux possvel, em modo texto, acessar outros terminais virtuais, segurando a tecla ALT e pressionando F1 at F6. Cada tecla tem funo correspondente a um nmero de terminal do 1 ao 6, isso por default, e pode ser mudado (o stimo, por default, usado pelo ambiente grfico X-Window-System).

    O GNU/Linux possui mais de 63 terminais virtuais, mas deles, apenas 6 esto disponveis, inicialmente por motivos de economia de memria RAM. Se voc estiver usando o modo grfico, deve segurar Ctrl+Alt enquanto pressiona uma tecla de atalho de F1 a F6.

    Um exemplo prtico: se voc estiver utilizando o sistema no terminal 1, pressione Ctrl+Alt + F2, e veja na primeira linha nome e verso do sistema operacional, nome da mquina e o terminal que voc est. Voc pode utilizar quantos terminais quiser, do F1 ao F6 (inclusive utilizando o X) e pode ficar ``saltando'' de terminal para terminal.

    2.5. Logon Logon a entrada do usurio, root ou comum, onde deve ser digitado seu

    nome de usurio, e logo depois sua senha. Caso voc digite algo de forma errada, ir aparecer uma mensagem de erro e voc no ser logado no sistema.

    2.6. Histrico de comandos O terminal do linux permite que voc guarde 500 comandos por padro, assim

    no precisa redigitar o comando quando precisar dele denovo.

    $ history

  • Captulo 2 Primeiros Passos - 27

    2.7. Logout Logout a sada do sistema. Ela feita pelos comandos

    $ logout$ exit$ +D

    ou quando o sistema reiniciado ou desligado.

    2.8. Desligando o Computador Para desligar o computador, primeiro digite um dos comandos abaixo:(como

    root):

    # shutdown -h now # halt # poweroff

    A palavra halt vem do comando em assembly chamado HTL, que quer dizer ``parada de processamento''. Assim, o GNU/Linux finalizar os programas e gravar os dados em seu disco rgido. Quando for mostrada a mensagem ``power down'', pressione o boto POWER em seu gabinete para desligar a alimentao de energia do computador. NUNCA desligue o computador diretamente sem utilizar o comando shutdown, halt ou poweroff, pois podem ocorrer perdas de dados ou falhas no sistema de arquivos de seu disco rgido, devido a programas abertos e dados ainda no gravados no disco. Os comandos halt e poweroff disparam uma srie de procedimentos, como encerramento de servios e desligamento de sistemas de arquivos, que so executados antes da mquina ser desligada.

    Salve seus trabalhos para no correr riscos de perd-los durante o desligamento do computador. Tenha um Nobreak.

  • Captulo 2 Primeiros Passos - 28

    O comando shutdown tem a seguinte sintaxe:

    # shutdown

    Onde:

    ao - o que voc quer fazer, As opes so: -h para desligar -r para reiniciar.

    tempo - tempo em minutos que voc deseja para comear a executar a ao.

    Exemplo:

    Desligar agora:

    # shutdown -h now

    Desligar daqui a 12 minutos:

    # shutdown -h 12

    2.9. Reiniciando o Computador Reiniciar quer dizer ``Iniciar novamente o sistema''. No recomendvel

    desligar e ligar constantemente o Computador pelo boto ON/OFF ou RESET. Por isso, existem recursos para reiniciar o sistema sem desligar o computador. No GNU/Linux voc pode usar o comando reboot, shutdown -r now e tambm pressionar simultaneamente as teclas para reiniciar de forma segura.

    Observaes:

    Salve seus trabalhos.

    Utilize comandos e no o dedo.

  • Captulo 2 Primeiros Passos - 29

    Prefira o mtodo de reinicializao explicado acima e use o boto reset somente em ltimo caso.

    Reiniciar agora:

    # shutdown -r now

    Reiniciar daqui a 5 minutos:

    # shutdown -r 5

    2.10. Prtica Dirigida A seguir, vamos testar algumas funcionalidades da linha de comandos (no

    necessrio se preocupar em decor-los, com o passar do tempo, pegamos um pouco mais de prtica):

    Pressione a tecla Back Space para apagar um caractere esquerda do cursor;

    Pressione a tecla Delete para apagar o caractere acima do cursor; Pressione a tecla Home para ir ao comeo da linha de comando; Pressione a tecla End para ir ao final da linha de comando; Pressione as teclas Ctrl + A para mover o cursor para o incio da linha de

    comandos; Pressione as teclas Ctrl + E para mover o cursor para o fim da linha de

    comandos; Pressione as teclas Ctrl + U para apagar o que estiver esquerda do

    cursor. O contedo apagado copiado para uso com Ctrl + y; Pressione as teclas Ctrl + K para apagar o que estiver direita do cursor. O

    contedo apagado copiado para uso com Ctrl + y; Pressione as teclas Ctrl + L para limpar a tela e manter a linha de comando

    na primeira linha. Mas se voc der um Shift + Page Up voc ainda consegue enxergar o contedo. O Ctrl + L funciona igual ao comando ``clear'', que tem a mesma funo;

    Pressione as teclas Ctrl + C para abrir uma nova linha de comando, na posio atual do cursor;

  • Captulo 2 Primeiros Passos - 30

    Pressione as teclas Ctrl + D para sair do shell. Este equivalente ao comando ``exit'';

    Pressione as teclas Ctrl + R para procurar ``x'' letra relacionada ao ltimo comando digitado que tinha ``x'' letra como contedo do comando;

    Coloque o computador para desligar em 1 minuto:

    # shutdow -h 1

    Ligue o micro:

    Faa o login:

    Usurio: aluno Senha: 123456

    Coloque o computador para reiniciar em 1 minuto:

    # shutdown -r 1

    Deu erro??? Por que???

    Eleve seus poderes no sistema, vire root atravs do comando:

    # su password: 123456

    E agora, voc consegue reiniciar a mquina:

    # shutdown -r now

  • Captulo 2 Primeiros Passos - 31

    2.11. Exerccio Terico 1) Voc precisa desligar a mquina, mas algum est usando sua impressora

    e isso o impede de dar o boot imediatamente. Sabendo que o trabalho da impresso termina no mximo em 5 minutos, qual comando voc usaria para desligar a mquina daqui a 10 minutos? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    2) Voc precisa enviar um aviso para seus 150 usurios logados, mas sem desligar ou reiniciar a mquina. Como voc faria? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    3) correto afirmar que quase todos os programas grficos so provenientes de um comando? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    4) Cite qual a principal funo do terminal de comandos? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    5) Qual a quantidade de terminais que esto disponveis no sistema operacional Debian GNU/Linux? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

  • Captulo 3 Sistema de Arquivos e Diretrios - 32

    Captulo 3

    Sistema de Arquivos e Diretrios

    3.1. Objetivos Entender o que FHS;

    Conhecer a estrutura de diretrios do sistema;

    Descobrir alguns diretrios e suas determinadas finalidades;

    3.2. Introduo Quem j teve algum contato com o GNU/Linux, mesmo que superficial, deve

    ter percebido a presena de vrios diretrios (pastas) no sistema. Entretanto, eles esto organizados de uma forma talvez no muito familiar. Neste captulo, vamos conhecer a organizao e explorar a estrutura de diretrios de um sistema GNU/Linux.

    Desde que o GNU/Linux foi criado, muito se tem feito para seguir um padro em relao estrutura de diretrios. O primeiro esforo para padronizao de sistemas de arquivos para o GNU/Linux foi o FSSTND - Filesystem Standard,

  • Captulo 3 Sistema de Arquivos e Diretrios - 33

    lanado no ano de 1994.

    Cada diretrio do sistema tem seus respectivos arquivos que so armazenados conforme regras definidas pela FHS - Filesystem Hierarchy Standard, ou Hierarquia Padro do Sistema de Arquivos, que define que tipo de arquivo deve ser guardado em cada diretrio. Isso muito importante, pois o padro ajuda a manter compatibilidade entre as verses Linux existentes no mercado, permitindo que qualquer software escrito para o GNU/Linux seja executado em qualquer distribuio desenvolvida de acordo com os padres FHS.

    Atualmente, o FHS est na sua verso 2.3, e mantido pelo Free Standard Group, uma organizao sem fins lucrativos formada por grandes empresas como HP, IBM, Red Hat e Dell.

    A FHS estar bem esclarecida, afinal com ela que ns devemos fazer nossas atividades do dia-a-dia

    3.3. Estrutura de Diretrios GNU/Linux

    A estrutura de diretrios tambm conhecida como ``rvore de Diretrios'' porque tem a forma de uma rvore. Mas, antes de estudarmos a estrutura de diretrios, temos que ter em mente o que so diretrios.

    Um diretrio nada mais do que o local onde os arquivos so guardados no sistema. O arquivo pode ser um texto, uma imagem, planilha, etc. Os arquivos devem ser identificados por nomes para que sejam localizados por quem deseja utiliz-los.

    Um detalhe importante a ser observado que o GNU/Linux case sensitive, isto , ele diferencia letras maisculas e minsculas nos arquivos e diretrios.

    Sendo assim, um arquivo chamado Arquivo diferente de ARQUIVO e diferente de arquivo.

  • Captulo 3 Sistema de Arquivos e Diretrios - 34

    A rvore de diretrios do GNU/Linux tem a seguinte estrutura:

    / bin cdrom etc lib mnt proc root var boot dev home media opt sbin srv tmp usr

    Da estrutura mostrada acima, o FHS determina que um sistema GNU/Linux deve conter obrigatoriamente 14 diretrios, especificados a seguir:

    / (raiz)

    Este o principal diretrio do GNU/Linux, e representado por uma ``/'' (barra). no diretrio raiz que ficam todos os demais diretrios do sistema.

    Estes diretrios, que vamos conhecer agora, so chamados de subdiretrios pois esto dentro do diretrio /.

    /bin

    O diretrio /bin guarda os comandos essenciais para o funcionamento do sistema.

    Esse um diretrio pblico, sendo assim, os comandos que esto nele podem ser utilizados por qualquer usurio do sistema. Entre os comandos, esto:

    bash;

    ls;

    echo;

    cp;

    /boot

    No diretrio /boot esto os arquivos estticos necessrios inicializao do sistema, e o gerenciador de boot.

  • Captulo 3 Sistema de Arquivos e Diretrios - 35

    O gerenciador de boot um programa que carrega um sistema operacional e/ou permite escolher qual ser iniciado.

    /dev

    No diretrio /dev ficam todos os arquivos de dispositivos. O Linux faz a comunicao com os perifricos por meio de links especiais que ficam armazenados nesse diretrio, facilitando assim o acesso aos mesmos.

    /etc

    No diretrio /etc esto os arquivos de configurao do sistema. Nesse diretrio vamos encontrar vrios arquivos de configurao, tais como: scripts de inicializao do sistema, tabela do sistema de arquivos, configurao padro para logins dos usurios, etc.

    /lib

    No diretrio /lib esto as bibliotecas compartilhadas e mdulos do kernel . As bibliotecas so funes que podem ser utilizadas por vrios programas.

    /media

    Ponto de montagem para dispositivos removveis, tais como:

    cd;

    dvd;

    disquete;

    pendrive;

    cmera digital;

    Fique atento: Agora o diretrio /media faz parte oficialmente das provas da LPI

  • Captulo 3 Sistema de Arquivos e Diretrios - 36

    /mnt

    Esse diretrio utilizado para montagem temporria de sistemas de arquivos, tais como compartilhamentos de arquivos entre Windows e Linux, Linux e Linux, etc.

    /opt

    Normalmente, utilizado por programas proprietrios ou que no fazem parte oficialmente da distribuio.

    /sbin

    O diretrio /sbin guarda os comandos utilizados para inicializar, reparar, restaurar e/ou recuperar o sistema. Isso quer dizer que esse diretrio tambm de comandos essenciais, mas os mesmos so utilizados apenas pelo usurio root.

    Entre os comandos esto:

    halt

    ifconfig

    init

    iptables

    /srv

    Diretrio para dados de servios fornecidos pelo sistema cuja aplicao de alcance geral, ou seja, os dados no so especficos de um usurio.

    Por exemplo: /srv/www (servidor web)

    /srv/ftp (servidor ftp)

  • Captulo 3 Sistema de Arquivos e Diretrios - 37

    /tmp

    Diretrio para armazenamento de arquivos temporrios. utilizado principalmente para guardar pequenas informaes que precisam estar em algum lugar at que a operao seja completada, como o caso de um download.

    Enquanto no for concludo, o arquivo fica registrado em /tmp, e, assim que finalizado, encaminhado para o local correto.

    /usr

    O diretrio /usr contm programas que no so essenciais ao sistema e que seguem o padro GNU/Linux, como, por exemplo, navegadores, gerenciadores de janelas, etc.

    O diretrio /usr portvel, perceba que dentro dele, existe praticamente uma outra arvore de diretrios independente da primeira, contendo, lib, bin, sbin dentre outras coisas.

    /var

    O diretrio /var contm arquivos de dados variveis. Por padro, os programas que geram um arquivo de registro para consulta, mais conhecido como log, ficam armazenados nesse diretrio. Alm do log, os arquivos que esto aguardando em filas, tambm ficam localizados em /var/spool.

    Os principais arquivos que se utilizam do diretrio /var so : mensagens de e-mail;

    arquivos a serem impressos;

    3.4. Diretrio Recomendado /proc

    O /proc um diretrio virtual, mantido pelo kernel, onde encontramos a configurao atual do sistema, dados estatsticos, dispositivos j montados, interrupes, endereos e estados das portas fsicas, dados sobre as redes, etc.

  • Captulo 3 Sistema de Arquivos e Diretrios - 38

    Aqui, temos subdiretrios com o nome que corresponde ao PID (Process ID) de cada processo.

    Dentro deles, vamos encontrar diversos arquivos texto contendo vrias informaes sobre o respectivo processo em execuo.

    3.5. O diretrio /sys Pode-se dizer que esse diretrio um primo do diretrio /proc. Dentro do

    diretrio /sys podemos encontrar o quase o mesmo contedo do proc, mas de uma forma bem mais organizada para ns administradores.

    Esse diretrio est presente desde a verso 2.6 do kernel e traz novas funcionalidades o que se diz respeito a dispositivos PnP.

    3.6. Diretrios OpcionaisOs diretrios /root e /home podem estar disponveis no sistema, mas no

    precisam obrigatoriamente possuir este nome. Por exemplo, o diretrio /home poderia se chamar /casa, que no causaria

    nenhum impacto na estrutura do sistema.

    /home

    O /home contm os diretrios pessoais dos usurios cadastrados no sistema.

    /root

    Diretrio pessoal do superusurio root.

    O root o administrador do sistema, e pode alterar a configurao (dele), configurar interfaces de rede, manipular usurios e grupos, alterar a prioridade dos processos, entre outras.

    Dica: Utilize uma conta de usurio normal em vez da conta root para operar seu sistema.

  • Captulo 3 Sistema de Arquivos e Diretrios - 39

    Uma razo para evitar usar privilgios root por causa da facilidade de se cometer danos irreparveis como root; alm do que, voc pode ser enganado e rodar um programa Cavalo de Troia (programa que obtm poderes do super usurio) comprometendo a segurana do seu sistema sem que voc saiba.

    3.7. Comandos de Movimentao Vamos aprender agora alguns comandos essenciais para a nossa

    movimentao dentro do sistema. O comando pwd exibe o diretrio corrente. Ele muito til quando estamos

    navegando pelo sistema e no lembramos qual o diretrio atual.

    # pwd

    O comando cd utilizado para mudar o diretrio atual de onde o usurio est.

    Ir para o diretrio home do usurio logado:

    # cd # cd ~

    Ir para o incio da rvore de diretrios, ou seja, o diretrio / :

    # cd /

    Ir para um diretrio especfico:

    # cd /etc

  • Captulo 3 Sistema de Arquivos e Diretrios - 40

    Sobe um nvel na rvore de diretrios:

    # cd ..

    Retorna ao diretrio anterior:

    # cd - # ls

    Entra em um diretrio especfico:

    # cd /usr/include/X11

    Sobe 2 nveis da rvore de diretrios

    # cd ../../

    Ateno! Note a diferena entre caminhos absolutos e relativos: Absolutos: /etc/ppp; /usr/share/doc; /lib/modules Relativos: etc/ppp; ../doc; ../../usr;

    Fique esperto para conhecer as diferenas entre o . e o .. e o que eles representam para o sistema. Os comandos de movimentao muitas vezes so grandes alvos nas provas, uma boa interpretao desses comandos pode ser necessria, pois voc pode precisar deles para resoler uma questo maior.

  • Captulo 3 Sistema de Arquivos e Diretrios - 41

    3.8. Prtica Dirigida Atravs dos comandos: cd e pwd, navegue no sistema afim de explorar alguns

    diretrios.

    1) Verificar o diretrio atual:

    $ pwd

    2) Ir para o incio da rvore de diretrios, ou seja, o diretrio / :

    $ cd /

    3) Ir para o diretrio home do usurio logado:

    $ cd $ cd ~

    4) Ir para o diretrio /usr/share:

    $ cd /usr/share

    5) Subir um nvel na rvore de diretrios:

    $ cd ..

    6) Retornar ao diretrio anterior:

    $ cd -

  • Captulo 3 Sistema de Arquivos e Diretrios - 42

    7) Entre no diretrio /var:

    $ cd /var

    8) Entre no diretrio /etc e veja o resultado do comando pwd:

    $ cd /etc $ pwd

    9) Utilize o comando cd .., para voltar um nvel na hierarquia:

    $ cd ..

    10) Descubra em qual diretrio voc est atravs do comando pwd:

    $ pwd

    11) Utilize o comando cd ~, para voltar para seu diretrio pessoal:

    $ cd ~

    12) Descubra em qual diretrio voc est atravs do comando pwd:

    $ pwd

    13) Utilize o comando cd -, para voltar ao ultimo diretrio acessado:

    $ cd -

    14) Descubra em qual diretrio voc est atravs do comando pwd:

    $ pwd

  • Captulo 3 Sistema de Arquivos e Diretrios - 43

    3.9. Exerccio Terico 1) Explore os diretrios abaixo, e escreva qual a funo de cada um deles.

    Justifique: a) bin __________________________________________________________________________________________________________________________________________________________b) boot __________________________________________________________________________________________________________________________________________________________c) dev __________________________________________________________________________________________________________________________________________________________d) etc __________________________________________________________________________________________________________________________________________________________e) home __________________________________________________________________________________________________________________________________________________________f) lib __________________________________________________________________________________________________________________________________________________________g) media __________________________________________________________________________________________________________________________________________________________h) mnt __________________________________________________________________________________________________________________________________________________________i) var __________________________________________________________________________________________________________________________________________________________j) opt __________________________________________________________________________________________________________________________________________________________k) proc __________________________________________________________________________________________________________________________________________________________l) root _____________________________________________________________________________

  • Captulo 3 Sistema de Arquivos e Diretrios - 44

    _____________________________________________________________________________m) sbin __________________________________________________________________________________________________________________________________________________________n) srv __________________________________________________________________________________________________________________________________________________________o) tmp __________________________________________________________________________________________________________________________________________________________p) usr __________________________________________________________________________________________________________________________________________________________

    2) Qual a finalidade do comando pwd? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    3) Escreva a funo de cada um dos comandos abaixo: a) cd - __________________________________________________________________________________________________________________________________________________________b) cd ~ __________________________________________________________________________________________________________________________________________________________c) cd / __________________________________________________________________________________________________________________________________________________________d) cd __________________________________________________________________________________________________________________________________________________________e) cd .. __________________________________________________________________________________________________________________________________________________________g) cd . __________________________________________________________________________________________________________________________________________________________

  • Captulo 3 Sistema de Arquivos e Diretrios - 45

    3.10. Laboratrio Alem de todos os diretrios listados acima, na raiz do sistema existe um

    diretrio chamado lost+found, o que representa esse diretrio?

    Veja tambm:

    FHS - http://www.pathname.com/fhs/

    Free Standard Group - http://www.linux-foundation.org/en/Main_Page

  • Captulo 4 Aprendendo comandos do GNU/Linux - 46

    Captulo 4

    Aprendendo comandos do GNU/Linux

    4.1. Objetivos Criar e remover arquivos

    Criar e remover diretrios

    Criar Links

    4.2. Introduo Comandos so instrues passadas ao computador para executar uma

    determinada tarefa. No mundo *NIX (Linux,Unix), o conceito de comandos diferente do padro MS-DOS. Um comando qualquer arquivo executvel, que pode ser ou no criado pelo usurio.

    Uma das tantas vantagens do Linux a variedade de comandos que ele oferece, afinal, para quem conhece comandos, a administrao do sistema acaba se tornando um processo mais rpido.

  • Captulo 4 Aprendendo comandos do GNU/Linux - 47

    O shell o responsvel pela interao entre o usurio e o sistema operacional, interpretando os comandos.

    no shell que os comandos so executados.

    4.2.1. Explorando o sistema

    Veremos agora os comandos bsicos para navegao no sistema.

    O comando ls utilizado para listar o contedo dos diretrios. Se no for especificado nenhum diretrio, ele ir mostrar o contedo do diretrio onde estamos no momento.

    Lista o contedo do diretrio atual:

    # ls

    4.3. O comando ls O comando ls possui muitos parmetros, veremos aqui as opes mais

    utilizadas. A primeira dela o -l que lista os arquivos ou diretrios de uma forma bem detalhada (quem criou, data de criao, tamanho, dono e grupo a qual eles pertencem).

    # ls -l / drwxr-xr-x4 root root 1024 2007-01-15 23:17 boot

    Veja que a sada desse comando bem detalhada. Falando sobre os campos, para o primeiro caractere temos algumas opes:

    d => indica que se trata de um diretrio l => indica que se trata de um link (como se fosse um atalho - tambm vamos falar sobre ele depois) - => hfen, indica que se trata de um arquivo c => indica dispositivo de caractere b => indica dispositivo de bloco

  • Captulo 4 Aprendendo comandos do GNU/Linux - 48

    O campo rwxr-xr-x lista as permisses, enquanto os campos root indicam quem o usurio e grupo dono desse diretrio que, no nosso caso, o administrador do sistema, o root. O nmero antes do dono indica o nmero de hard links, um assunto abordado apenas em cursos mais avanados.

    O campo 1024 indica o tamanho do arquivo, e o campo 2007-01-15 23:17 informa a data e hora em que o diretrio foi criado. Finalmente, no ltimo campo temos o nome do arquivo ou diretrio listado, que, no nosso exemplo, o boot.

    Com relao a diretrios, importante ressaltar que o tamanho mostrado no corresponde ao espao ocupado pelo diretrio e seus arquivos e subdiretrios. Esse espao aquele ocupado pela entrada no sistema de arquivos que corresponde ao diretrio.

    A opo a lista todos arquivos, inclusive os ocultos:

    # ls -a /root ..aptitude.bashrc.profile .rnd.ssh.vmware .. .bash_history .kde .qt root_161206 .viminfo .Xauthority

    Veja que, da sada do comando anterior, alguns arquivos so iniciados por . (ponto). Esses arquivos so ocultos.

    No Linux, arquivos e diretrios ocultos so iniciados por um . (ponto).

    Lista arquivos de forma recursiva, ou seja, lista tambm os subdiretrios que esto dentro do diretrio /:

    # ls -R /

    4.3.1. Coringas

    O significado da palavra coringa no dicionrio o seguinte: carta de baralho, que em certos jogos, muda de valor e colocao na sequncia. No sistema GNU/Linux bem parecida a utilizao desse recurso. Os coringas so utilizados para especificar um ou mais arquivos ou diretrios.

    Eles podem substituir uma palavra completa ou somente uma letra, seja para listar, copiar, apagar, etc. So usados trs tipos de coringas no GNU/Linux:

  • Captulo 4 Aprendendo comandos do GNU/Linux - 49

    * - Utilizado para um nome completo ou restante de um arquivo/diretrio; ? - Esse coringa pode substituir uma ou mais letras em determinada posio; [padro] - utilizado para referncia a uma faixa de caracteres de um arquivo/diretrio. [a-z][0-9] - Usado para trabalhar com caracteres de a at z seguidos de um caractere de 0 at 9. [a,z][1,0] - Usado para trabalhar com os caracteres a e z seguidos de um caractere 1 ou 0 naquela posio. [a-z,1,0] - Faz referncia do intervalo de caracteres de a at z ou 1 ou 0 naquela posio.

    A diferena do mtodo de expanso dos demais, que a existncia do arquivo ou diretrio opcional para resultado final. Isto til para a criao de diretrios. Lembrando que os 3 tipos de coringas mais utilizados (``*,?,[ ]'') podem ser usados juntos. Vejamos alguns exemplos:

    Supondo que existam 5 arquivos no diretrio /home/usurio. Podemos list-los:

    # ls arq1.txt arq2.txt arq3.txt arq4.new arq5.new

    Vamos listar todos os arquivos do diretrio /home/usurio. Podemos usar o coringa ``*'' para visualizar todos os arquivos do diretrio:

    # cd /home/usurio # ls * arq1.txt arq2.txt arq3.txt arq4.new arq5.new

    Para listarmos todos os arquivos do diretrio /home/usurio que tenham ``new'' no nome:

    # ls *new* arq4.new arq5.new

    No caso, o comando #ls /tmp/teste/* foi citado, mas no tem muito sentido utilizar esse comando, importante ressaltar que a utilizao do * se aplica para um

  • Captulo 4 Aprendendo comandos do GNU/Linux - 50

    diretrio cheio de arquivos, como mostrado no caso dois, utilizado para procurar o arquivo em especfico.

    4.3.2. Usando coringas no Shell

    Listar todos os arquivos que comeam com qualquer nome e terminam com .txt:

    # ls *.txt

    Listar todos os arquivos que comeam com o nome arq, tenham qualquer caractere no lugar do coringa, e terminem com .txt:

    # ls arq?.txt

    Para listar todos os arquivos que comeam com o nome arq, tenham qualquer caractere entre o nmero 1-3 no lugar da 4 letra e terminem com .txt. Neste caso, se obtm uma filtragem mais exata, pois o coringa especifica qualquer caractere naquela posio e [ ] especifica nmeros, letras ou intervalo que sero usados.

    # ls arq[1-3].txt

    Para listar somente arq4.new e arq5.new podemos usar os seguintes mtodos:

    # ls *.new # ls *new* # ls arq?.new # ls arq[4,5].* # ls arq[4,5].new

    O parmetro -i do ls, pode ter um grande valor quando o papo so os inodes.

    Existem muitas outras maneiras de fazer a mesma coisa mas depende muito de cada um que vai utilizar. A criatividade nesse momento conta muito. No exemplo

  • Captulo 4 Aprendendo comandos do GNU/Linux - 51

    anterior, a ltima forma resulta na busca mais especfica. O que pretendemos mostrar como visualizar mais de um arquivo de uma s vez. O uso de coringas til para co