Você está na página 1de 100

Linux

Mdulo I

Parabns por participar de um curso dos Cursos 24 Horas. Voc est investindo no seu futuro! Esperamos que este seja o comeo de um grande sucesso em sua carreira. Desejamos boa sorte e bom estudo! Em caso de dvidas, contate-nos pelo site www.Cursos24Horas.com.br Atenciosamente Equipe Cursos 24 Horas

SUMRIO
Introduo ......................................................................................................................... 1 Unidade 1 Abordagem Inicial........................................................................................ 2 1.1 - Histrias dos Sistemas UNIX/POSIX .............................................................. 2 1.2 - Histria do Linux ............................................................................................. 6 1.3 - Projeto GNU ..................................................................................................... 7 1.4 - Caractersticas do Linux (Kernel) .................................................................... 9 1.5 - Partes importantes do kernel .......................................................................... 11 1.6 - O Sistema GNU/Linux ................................................................................... 13 1. 7 O Que so Distribuies? ............................................................................. 14 Unidade 2 A instalao do Sistema ............................................................................. 16 2.1 - Iniciando a Instalao ..................................................................................... 16 Unidade 3 Iniciando no Ambiente Grfico.................................................................. 33 3.1 - Ambiente grfico e linhas de comando Linux ............................................... 33 3.2 - Interpretador de texto e terminais virtuais...................................................... 34 3.3 - O que o X Window? .................................................................................... 36 3.4 - A organizao do ambiente grfico X Window ............................................. 36 3.5 - Iniciando o X. ................................................................................................. 37 3.6 Servidor X...................................................................................................... 38

Introduo
O Sistema Linux, maior expoente do software livre nos ltimos anos, deixou a muito tempo de ser um programa direcionado a aficionados por computao, que o utilizavam em ambiente acadmico, e passou a ser visto com outros olhos por outro grupo de pessoas, os executivos. Hoje, esta plataforma, vem ganhando espao de forma contundente entre empresas privadas de pequeno, mdio e grande porte. Tem-se ventilado tambm a possibilidade de se trabalhar com esse software em empresas estatais e no prprio mbito governamental. A razo disso no a crise ideolgica causada pelo grande irmo chamado Microsoft que, de certa forma, criou uma dependncia de seu sistema, mas a grande economia que pode ser gerada em razo de no haver a necessidade do pagamento de licenas de uso. Claro que, aliado a esta economia, esto o aumento de produtividade e a segurana dos dados. Pesquisa recente realizada pelo International Data Conference (IDC), consultoria que conta com mais de 300 executivos de TI ligados s reas de manufatura, servios financeiros, varejo e agncias governamentais de todo o mundo, revela que mais de 72% dos entrevistados admitiram estarem avaliando seriamente ou j se decidiram a adotar o Linux em seus servidores ao longo dos prximos anos, sendo a principal razo a reduo de custos gerados com licenas e suportes. Por outro lado, aqueles que ainda hesitam em adotar essa plataforma alegam a dificuldade de suporte e a fraca interoperabilidade com outros sistemas, como o prprio Windows da Microsoft. A verdade que a ideia de um software livre, desenvolvido por milhares de programadores de todo o mundo, vem tomando forma e ganhando corpo e, muito em breve, passar de uma simples promessa a grande alternativa para o mundo corporativo.

Unidade 1 Abordagem Inicial

1.1 - Histrias dos Sistemas UNIX/POSIX


No h como falar em Linux, sem antes conhecer o sistema que serviu de base para o desenvolvimento dessa plataforma. Trata-se do UNIX/POSIX. O desenvolvimento do Unix teve incio na dcada de 1960, quando profissionais da American Telephone and Telegraph (AT&T), Honeywell, GE e do Massachusets Institute of Tecnology (MIT) decidiram criar um sistema operacional que fosse desenvolvido em partes, fazendo com que algumas partes do computador pudessem ser desligadas para uma manuteno sem que outras partes ou outros usurios fossem afetados. Dessa forma poderiam ter um servio que permanecesse 24 horas por dia e 365 dias por ano ligado, podendo tornar-se mais veloz na medida em que novas partes fossem adicionadas. A esse sistema operacional foi dado o nome de Multics (Multiplexed Information and Computing Service). Era um sistema modular montado em uma bancada de processadores, memrias e equipamentos de comunicao de alta velocidade para a poca. O custo para manuteno de um servidor (mainframe) era muito alto e isso comeou a atrasar o cronograma de desenvolvimento. Assim, em 1969, a equipe da AT&T decidiu abandon-lo, sendo mantido ento apenas pelo MIT. Nessa poca, um profissional da AT&T que havia participado do projeto do Multics, Ken Thompson, iniciara um novo projeto. Estava desenvolvendo um jogo chamado Space Travel, que sim ulava o movimento dos corpos celestes pelo espao. Infelizmente, o desempenho do jogo era muito baixo e o custo muito alto. Foi quando Thompson passou a utilizar um computador PDP-7 para fazer pesquisas do Multics por conta prpria. Logo, ele e seu colega, Dennis Ritchie, que tambm havia trabalhado no projeto original, reescreveram um sistema de arquivos que Thompson j tinha planejado.

Nesse sistema implementaram um interpretador de comandos e algumas funes de utilidades bsicas para copiar e remover arquivos. Assim, criaram um sistema diferente. Ao contrrio do Multics, que tentava fazer vrias coisas, esse, tentava fazer apenas uma e muito bem: rodar programas. Assim, no incio de 1970, outro empregado da AT&T, Brian Kerningham, sugeriu o nome Unix para o novo sistema operacional, sendo a ideia aceita pelos demais. Nessa poca, os desenvolvedores do UNIX fizeram o pedido de uma mquina PDP-11 para a AT&T. Era mais poderosa que a anterior, mas ainda menos expansvel do que desejavam. No final de 1971, o PDP-11 foi fornecido e a reputao do UNIX comeou a ser construda com a primeira verso do UNIX, V1, muitos meses antes do Multics, em assembler. Inclua sistema de arquivos, fork(), roff, ed. Era utilizado como uma ferramenta de processamento de texto para a preparao de patentes.

Thompson j havia escrito a linguagem de programao B, que derivava da linguagem BCPL. Em 1973, ocorreu o que talvez tenha sido o fato mais importante da histria deste sistema operacional, o desenvolvimento da linguagem de programao em C. Isto significava que o UNIX poderia ser portado para outros hardwares e que mudanas passariam a ser mais fceis. A essa altura, a AT&T ainda no havia reconhecido o novo sistema. Ento, ele comeou a ser distribudo para universidades a um custo baixo (UNIX), o que contribuiu para o aumento da popularidade dos sistemas. 3

Em 1975 foi lanada a verso seis (V6) do UNIX, que foi a primeira verso do UNIX amplamente disponvel fora dos domnios do Bell Labs (AT&T). Nessa poca, a universidade de Berkeley comprou os cdigos-fonte do Unix e alunos comearam a fazer modificaes no sistema. Em 1978, a Berkeley Software Distribution lanou a srie BSD 2.x para PDP-11. Nesta verso foi excludo o C Shell (csh). A memria virtual veio com o lanamento do BSD 3, em 1982. Em 1979 saiu a verso 7, que inclua UUCP Unix to Unix Copy e o Unix foi portado para o novo VAX da Digital. Esses primeiros computadores no estavam permanentemente ligados atravs de uma rede. Em vez disso, utilizavam ligaes de modem dial-up. O kernel tinha somente 40 bytes! Esta foi a primeira verso do sistema vendida comercialmente, e usada principalmente por universidades. Em 1983 foi lanado o System V da AT&T e o BSD 4.2 O system V, inclua um pacote de IPC para comunicao entre processos. O BSD 4.2 foi, talvez, uma das mais importantes verses Unix. O seu software de conexo de redes tornava muito fcil a tarefa de conectar computadores Unix a redes locais. Nessa verso foram integrados os softwares que implementaram TCP/IP e sockets. Em 1988 seria lanado o System V verso 4 (SRV4). Esse sistema era uma mistura de verses anteriores do System V, BSD e Sun OS (uma implementao descendente de BSD). O BSD 4.4 foi lanado em 1992 para vrias plataformas: SPARC, HP9000, i386, DEC entre outras, exceto para VAX. A Sun Microsystem tambm lanou a sua verso do Unix , com base no BSD. Isso ocorreu at a verso 4.x do SunOS. A nova verso, SunOS 5.x est baseada no SRV4, embora tenha herdado algumas caractersticas do SunOS 4.x. O novo sistema operacional da SUM, o Solaris 2.x, um sistema que engloba o Sum5x, Open Network Computing e Open Windows. o Solaris que prov os pacotes de compatibilidade entre os BSD/SunOS e o SVR4/SunOs 5.x.

Resumo cronolgico:

1969 - Ken Thompson cria o Unix, executando em um PDP-7 da DEC 1970 - Thompson e Dennis Ritchie instalam o Unix em um PDP-11/20 da DEC. Ritchie usa a linguagem C para ser portvel em arquiteturas de hardware diferentes. 1971 - lanada a verso 1 do Unix, escrita em linguagem Assembly. 1973 - Ritchie e Thompson escrevem o primeiro compilador C para o Unix. A verso 4 do Unix escrita em linguagem C. 1974 - A AT&T autoriza a distribuio do cdigo-fonte do Unix para as universidades. 1975 - lanada a verso 6 do Unix. Sua distribuio ampla nas universidades. A Universidade da Califrnia, em Berkeley, comea a trabalhar no BSD Unix. 1978 - lanada a verso 7 do Unix. So necessrias taxas de licena. 1979 - A AT&T lana o Unix System III. 1983 - A AT$T lana o Unix System V; A Universidade da Califrnia, em Berkeley, lana o BSD Unix 4.2 (a Sun o utiliza como base para a criao do SunOS). 1984 - O servidor de janelas X Window comea a ser desenvolvido no MIT. 1986 - Primeira implementao comercial do X Window, executando no VAXstationII/GPX, o X10R3. 1987 - A AT&T lana o Unix System V release 3. lanado o BSD 4.3. A Sun e a AT&T concordam em fundir o BSD Unix e o Unix System V. 1988 - Criao do X Consortium, organizao aberta para garantir a evoluo do X. lanado o X11R3. 1990 - A AT&T lana o Unix System V release 4, que promove relativa unificao do BSD Unix e do Unix System V. O Minix colocado disposio na Internet. 1992 - A Sun lana o Solaris, baseado no Unix System V release 4. lanado o Linux 0.99pl5. 1992-93 - lanada a primeira distribuio do Linux em um cd-rom. 1994 - lanada a verso livre do X Window, o XFree86, pelo grupo XFree Project.

Fonte: www.wikipom.com.br

1.2 - Histria do Linux

No comeo da dcada de 90, um estudante de computao da universidade de Helsink, na Finlndia, chamados Linus Torvalds, comeou a desenvolver um sistema operacional que batizou com o nome de Linux. Enviou uma mensagem para uma lista de discusso na internet, dizendo que aqueles que usavam o programa Minix poderiam se beneficiar de um novo sistema operacional livre que estava desenvolvendo. O Minix era um programa desenvolvido por Andrew Tannenbaum para auxiliar no ensino da disciplina de Sistemas Operacionais, na qual ele lecionava. Era baseado no sistema Unix, que rodava em alguns microcomputadores da poca, mas era extremamente limitado. A princpio, o intuito de Linus era desenvolver um Minix melhor ado. Depois de ter desenvolvido este pequeno Kernel, Linus o colocou sob a licena GNU e deixou seu cdigo fonte disposio de todos na internet. Com a mensagem colocada na lista de discusso, logo houve o interesse de muitos acadmicos e programadores das mais variadas partes do mundo, que passaram a desenvolver o projeto, sendo que cada 6

melhoria realizada era distribuda pela internet e, imediatamente, incorporada ao ncleo do Linux. Hoje, o Linux ao mesmo tempo um kernel (ou ncleo) e o sistema operacional que roda sobre ele, dependendo do contexto em que voc encontrar a referncia, e continua sendo desenvolvido dessa maneira com uma legio de programadores ao redor do mundo que o melhoram e corrigem seus bugs a cada dia. Para tentar deixar mais claro, podemos distinguir o Sistema Linux do Sistema Operacional Windows desenvolvido pela Microsoft. Sistema Linux um sistema com cdigo-fonte aberto, desenvolvido por programadores voluntrios, com o nico objetivo de torn-lo melhor. Alm da sua gratuidade e da possibilidade de o usurio instalar em quantas mquinas quiser, sem pagar nada por isso, um sistema que pode ser adaptado (flexibilidade) s necessidades do usurio, propiciando maior agilidade no momento de adaptaes e possveis correes. Sistema Windows Por ser um software proprietrio, no qual h um dono que o registrou, no possui o cdigo-fonte aberto, ou seja, para ter o direito de us-lo preciso adquirir uma licena de uso para cada uma das mquinas na qual o usurio pretende instal-lo. Suas atualizaes so realizadas por profissionais da prpria Microsoft, inviabilizando, em muitos casos, a soluo imediata de problemas que podem surgir durante o seu desenvolvimento.

1.3 - Projeto GNU


O Projeto GNU est intimamente ligado ao desenvolvimento do Sistema Linux, como veremos a seguir: O Projeto GNU foi idealizado em 1984 por Richard Stallman com o objetivo de recuperar o esprito cooperativo que prevalecia na comunidade de informtica em sua origem. Com isso, buscava criar um sistema operacional que fosse completamente livre, podendo ser usado, modificado ou redistribudo por qualquer pessoa, desde que fosse garantido a todos os mesmos direitos de uso. 7

O programa deveria ser compatvel com o Unix, mas sem utilizar seu cdigo fonte. Assim, o nome escolhido, alm de representar o mamfero Gnu, como visto em seu logotipo, tambm significava um acronmio recursivo de GNU is Not Unix, ou seja, GNU no Unix. Os programadores do projeto acreditavam que um sistema operacional no era apenas um kernel, ou seja, apenas um controlador do sistema; ele tambm incluia compiladores, editores, formatadores de texto, software de e-mail e muitas outras especificidades. Ento, escrever um sistema operacional completo seria uma tarefa muito grande que exigiria muito tempo. Assim, uma opo seria tornar o sistema operacional compatvel com o Unix, por que o design geral j era testado, e por que a compatibilidade tornava fcil para os usurios do Unix a mudana para o GNU. O grupo de programadores comeou a desenvolver um kernel chamado Hurd, porm, em 1991, surge Linus Torvalds com seu Linux, que encaixava direitinho no sistema operacional GNU. Hoje o sistema funciona de forma satisfatria e cada vez com mais qualidade. No entanto, h uma discusso entre Stallman e Torvalds sobre a nomenclatura do sistema. Para Stallman, o sistema se chama GNU/Linux enquanto que, para Torvalds, o sistema se chama apenas Linux. Entretanto, independente de nomenclatura, o projeto no pretende se limitar apenas a sistemas operacionais. Pretende-se fornecer uma gama completa de softwares, qualquer software que muitos usurios desejem ter. Isso inclui softwares de aplicao. J existe uma planilha eletrnica e a expectativa que se desenvolva o Projeto GNU para ser tambm um sistema de editorao eletrnica WYSIWYG (what you see is what you get), durante os prximos anos. At onde o software livre pode ir? No h limites, exceto quando leis como o sistema de patentes probe o software completamente livre. O objetivo final fornecer software livre para executar todas as tarefas que os usurios de computadores querem realizar e assim tornar obsoleto o software proprietrio.

1.4 - Caractersticas do Linux (Kernel)

Diferente do que muitos pensam, o Linux somente a parte central do sistema operacional, o kernel. ele que faz a interface entre o hardware e os programas que rodam caractersticas prprias e suportam cada vez mais arquiteturas e novos hardwares.

As principais caractersticas do Linux (kernel) so:

- Multitarefa. - Multiusurio. - Suporte a nomes extensos de arquivos e diretrios (255 caracteres). - Proteo entre processos executados na memria RAM. - Suporte a mais de 63 terminais virtuais (consoles). - Modularizao o Linux somente carrega memria o que usado durante o processamento, liberando totalmente a memria assim que o programa/disponibilizado finalizado. - Devido modularizao, os drivers dos perifricos e recursos do sistema podem ser carregados e removidos completamente da memria RAM a qualquer momento. - Acessa sem problemas discos formatados pelo DOS, Window, Novell, OS/2, SunOs, Amiga, Atari, MACetc. Ou seja, FAT, FAT32, NTFS, Netware 386, entre outros formatos. - Suporte a vrios protocolos de rede. - Suporte a dispositivos infravermelho. - Suporte a rdio amador. - Suporte a dispositivos plug-and-play. - Suporte a dispositivos USB. - Roteamento. 9

- Suporte a diversos dispositivos e perifricos no mercado, tanto os novos como os obsoletos. - Pode ser executado em 10 arquiteturas diferentes (Intel 32, 64 Bits, Macintosh, Sparc, entre outros).

Porm, como explicar o que esse Kernel?

Jorge Alberto Corso traa uma analogia muito interessante com um carro, para explicar para sua turma de Introduo administrao Linux o que seria o kernel: Para explicar o que o kernel, fiz uma analogia com uma outra mquina: um carro.

Trata-se de duas mquinas, uma mecnica, outra eletrnica.

1) Para o carro movimentar-se ele precisa de um motor; 1) Para o microcomputador funcionar, ele precisa se um programa bsico um software chamado sistema operacional;

2) Existem vrios tipos de motores, motores para carro de corrida, para carro de passeio, etc.; 2) Existem vrios tipos de sistemas operacionais, Linux, Windows, UNIX, etc;

3) Mesmo para um mesmo fabricante de motor, existem vrios modelos para o mesmo fim, por exemplo: motor 1.0, motor 1.6; 3) Existe um Linux para cada tipo de computador, main-frame, PC, Macintosh;

4) Quando aprendemos a dirigir um carro de passeio, aprendemos o funcionamento bsico: direo, pedais para acelerar, trocar de marcha, frear.

10

Ou seja, no atuamos diretamente no motor, mas atravs de comandos para faz-lo funcionar; 4) Quando usamos Linux, temos um outro software que faz a mediao (interface) entre o kernel e o usurio, chama-se shell. Existem vrios shells (csh, ksh, bsh, bash, etc). Mas o importante que so os mesmos, independente do kernel (motor) em uso, afinal os pedais e direo so sempre iguais seja em um motor 1.0 ou 1.6!

5) Para alguns acessrios funcionarem em um carro devemos adequar o motor ou algum componente dele para que isto acontea, por exemplo, um arcondicionado exigir uma bateria com maior amperagem; 5) Para que o Linux funcione perfeitamente, em alguns casos necessrio instalarmos algum mdulo especfico, entenda mdulo com um programa (software) preparado para uma finalidade especfica e que no comum a todos os equipamentos, por exemplo um mdulo para a placa de rede de nosso microcomputador.

Com essas cinco afirmaes desta analogia, os alunos entenderam e ainda citaram mais alguns exemplos seguindo esta mesma lgica.

1.5 - Partes importantes do kernel

O kernel do Linux formado por diferentes partes: o gerenciador de memria, controle de dispositivos de hardware, controle de sistemas de arquivos, gerenciador de redes e vrios outros.

11

Partes importantes do kernel do linux:

As partes mais importantes do kernel (nada funciona sem elas) so o gerenciador de memria e o gerenciador de processos. O gerenciador de memria responsvel pela atribuio de reas de memria e reas de troca (swap) para os processos, para os demais componentes do kernel e para o cache de disco. J o gerenciador de processos cria processos e implementa multitarefas atravs da troca de processos ativos no processador. 12

No nvel mais baixo, o kernel contm controladores (drivers) para cada tipo de hardware suportado. Uma vez que existem inmeros hardwares, o nmero de controladores tambm muito grande. Similaridade de funcionalidades permitem que se tenham classes de controladores para suportar funes similares, ou seja, cada membro de uma determinada classe de hardwares tem a mesma interface com o resto do kernel, mas, diferem somente no que necessrio para implementar suas caractersticas especficas. Por exemplo, todos os discos rgidos parecem iguais para o resto do kernel. Isto , todos tm operaes como inicialize dispositivo, leia o setor N, grave o setor N.

1.6 - O Sistema GNU/Linux


Como j mencionado anteriormente, o Linux apenas o kernel. Para que um sistema operacional funcione adequadamente preciso, alm do Linux, diversos softwares que tornem possvel a utilizao prtica do

computador, como editores de texto, ambientes de programao, servidores grficos,

gerenciadores de janela, browsers, banco de dados, entre outros. Boa parte desses softwares j existia. Muitos deles eram provenientes do prprio projeto GNU, uma vez que comearam a escrever primeiro os aplicativos e as bibliotecas e deixaram o kernel por ltimo. Da mesma forma, outros programas criados fora do projeto GNU tambm ganhavam corpo, como o X, TecX, aplicativos BSD, SenMail (conhecido hoje por Postix e Qmail), apache, AIX (da IBM), e outros, todos eles livres, usando licenas diferentes. Esses programas eram bem conceituados, confiveis e muito usados. Porm, encontravam-se dispersos, sem um ncleo que pudesse reuni-los e formar um sistema operacional completo. O kernel Linux veio para tornar realidade um sonho que h muito tempo vinha sendo perseguido sem sucesso. 13

Hoje, com a grande divulgao do Linux, surgiram muitos outros projetos livres que conquistaram no apenas o usurio, mas outros sistemas operacionais compatveis com Unix. Alguns exemplos so o KDE, Gnome e o Gimp. Graas ao Cdigo Aberto (Open Source), foi possvel a criao de um sistema operacional robusto, verstil e utilizvel em to pouco tempo.

1. 7 O Que so Distribuies?
Com o objetivo de fazer do Linux um sistema operacional funcional, algumas empresas e grupos de usurios criaram caractersticas diferentes, o que chamamos de Distribuies Linux. Uma distribuio o conjunto do Linux com os softwares que o tornam funcional e a grande parte desses softwares do projeto GNU, que j vem h anos desenvolvendo aplicativos livres. Toda distribuio acompanha tambm um instalador do sistema operacional e, geralmente, um gerenciador de pacotes. A evoluo rpida do sistema pode gerar alguns problemas como no conseguir conectar internet. Isso geralmente acontece quando o usurio instala uma verso muita antiga do sistema. Os principais distribuidores costumam lanar novas verses a cada semestre e, por ser gratuito ou a um custo muito baixo, no faz sentido optar por essas verses antigas. Verifique os sites dos distribuidores e baixe as verses mais atualizadas. Conhea algumas distribuies:

Debian: a distribuio oficial GNU. O Debian, por no ser uma empresa comercial, ainda mantm o prestgio do incio do desenvolvimento do Linux, pois mantida por voluntrios de todo o mundo, que esto constantemente melhorando a distribuio. O Debian conta com excelente gerenciador de pacotes que permite upgrades rpidos e simples.

14

Slackware: J foi uma das distribuies mais usadas do mundo. tido como a distribuio mais prxima do U nix e tambm uma das mais difceis de manter devido ao alto nvel de conhecimento Unix que exige de seus administradores.

Red hat: Tornou-se famosa pela fcil instalao (grfica) e atualmente uma das distribuies mais usadas no mundo, com timos gerenciadores de pacotes. Porm, a campe de bugs. So necessrias muitas atualizaes para se tornar confivel.

Suse: Essa outra verso de distribuies mais populares. Possui instalador grfico e o Yast, uma ferramenta de configurao que permite alterar praticamente todo o sistema.

15

Ubuntu: Sistema operacional com base em Linux, perfeito para notebooks, desktops e servidores. Contm todos os aplicativos necessrios como navegador web, programas de apresentao, edio de texto, planilha eletrnica, comunicador instantneo e muitos outros.

Yellow Dog Linux: Esta uma distribuio que, a princpio, foi direcionada apenas para computadores Macintosh da Apple.

Unidade 2 A instalao do Sistema

2.1 - Iniciando a Instalao


A princpio, instalar o sistema GNU/Linux pode parecer algo impossvel para simples mortais como ns. No entanto, no to complicado quanto parece. Basta ter um pouco de ateno e seguir as orientaes que daremos a seguir. Realizaremos o procedimento de instalao a partir da distribuio Debian, distribuio oficial do GNU.

16

Existem vrias mdias pela qual voc pode realizar a instalao como CD, DVD, Pendrive, entre outras. Porm, caso tenha dificuldades em adquirir qualquer uma dessas, possvel realizar o download do programa atravs do site oficial www.debian.org. L, alm de baixar o sistema atualizado, poder receber informaes sobre ltimas verses e novidades de softwares compatveis. Poder verificar tambm, outros mtodos de instalao, informaes sobre bugs e listas de discusses com trocas de experincias. Importante ressaltar ainda que problemas podem ocorrer durante a instalao. Portanto, neste primeiro momento, pratique em uma mquina que possa, eventualmente, ser formatada, sem risco de perder informaes importantes para voc. Sugerimos ainda que sua mquina tenha um bom espao livre em HD, cerca de 4 GB. Para iniciar o processo de instalao, vamos considerar o uso de um CD com a verso do kernel 2.6.xxx. Trata-se de um padro de instalao adotado pelo Debian para toda a verso 2.6 do kernel Linux. O primeiro passo para instalar o sistema a partir de um CD, fazer com que sua mquina reconhea primeiramente o CD ao ser reiniciada, ou seja, dar o boot a partir do CD. Para que isto ocorra, entre no setup (BIOS) da mquina e localize o menu Advanced BIOS Features. L, voc vai selecionar o cdrom como First Boot Device, em seguida salvar a configurao. Na sequncia, coloque o CD de instalao no drive e reinicie o computador. Isso vai fazer com que, ao ligar, o computador leia o seu CD em primeiro lugar. Na primeira tela digite "linux26". Isto para que seja iniciado a instalao utilizando o Kernel 2.6 da distribuio ao invs do Kernel 2.4. Na sequncia, escolha o idioma de sua preferncia. Certamente voc escolher o Portuguese (Brazil). No entanto, preste a ateno para no escolher o portugus de Portugal (somente Portuguese).

17

Nesta tela, voc deve escolher o layout de seu teclado. Se o seu teclado possuir a letra , escolha a opo LAYOUT ABNT2.

IMPORTANTE: Escolha um nome para o host, o que lhe parecer mais agradvel. Depois disso voc ter que dizer se quer que sua rede seja configurada via DHCP. Diga Sim se sua mquina estiver ligada a um servidor DHCP ou a um modem ADSL que tenha essa funo. Em caso negativo, selecione No e escolha um IP e uma mscara de sub-rede para a sua placa de rede. 18

Se a instalao no conseguir configurar de forma automtica a sua placa de rede, dever surgir a mensagem Configurao automtica de rede falhou. Neste caso, vai precisar configurar a sua placa de rede manualmente. Para poder configurar manualmente a sua rede, voc deve possuir as informaes necessrias dos IPs disponveis. Contudo, qualquer rede bsica configurada de forma correta possui DHCP. Um exemplo de rede bsica a ligao que seu PC possui com um modem (roteador). Estes equipamentos alm de nos ligar a internet, possuem o servio DHCP.

MUITA ATENO!!!! Caso no possua as informaes de endereamento e/ou no entenda os conceitos de endereamento dinmico use a opo: No configurar a rede agora

Este procedimento vai ignorar estas configuraes, porm, no interromper a instalao e o levar direto para a opo que trata do particionamento de disco. Se possuir todos os dados do seu IP, basta optar por configurar a rede manualmente e continuar os passos a seguir. 19

Coloque o IP que sua mquina ir utilizar.

Coloque a mscara de rede a ser utilizada.

20

Coloque o "Gateway" de sua rede.

Informe o IP do servidor DNS. Poder utilizar o do prprio Sistema, uma vez que ser usado novamente no futuro para resolues DNS.

21

Informe o nome que sua mquina ir utilizar.

Informe o nome do domnio a ser utilizado em sua rede.

Particionando os discos Como dissemos, se voc optou pela opo No configurar a rede agora vir direto para esta tela. 22

O particionamento de disco um processo muito importante durante a instalao j que aqui que definimos que espao utilizares de nosso Hard Disk (HD) para as parties do disco. Basicamente, so necessrias duas parties o / e a partio swap (partio de troca). Nesta tela, voc vai escolher a opo Apagar todo o disco

Escolha a opo "Todos os arquivos em uma nica partio".

23

Selecione a opo "Finalizar o particionamento e gravar as mudanas no disco".

Selecione a opo SIM.

24

Instalando o sistema GRUB a sigla para GRand Unifield Bootloader. Um dos motivos para o GRUB ser usado sua capacidade de permitir que o usurio escolha um dos sistemas operacionais instalados em seu computador. Em outras palavras, o GRUB capaz de trabalhar com "multiboot". Escolha a opo SIM.

J estamos chegando ao final. Nesta tela, siga as orientaes e remova o CD, depois, selecione a opo CONTINUAR.

25

Aps reiniciar a mquina, voc ser apresentado ao base-config, o utilitrio de configurao do sistema bsico do Debian. Ele te far perguntas bsicas sobre a configurao que deseja para o seu sistema. Selecione OK.

Selecione a opo NO.

Selecione a opo Leste.

26

Nesta tela, voc vai configurar a sua senha do superusurio root. Essa senha vai evitar que outros usurios maliciosos possam invadir o seu sistema.

IMPORTANTE: Coloque uma senha que no ir esquecer, pois, em caso de perda o procedimento de recuperao extremamente complexo e poder s ser realizado por um snior no assunto. Repita a senha.

Digite o nome do primeiro usurio.

27

Repita o nome do novo usurio.

Informe a senha do novo usurio.

28

Repita a senha coloque o CD novamente no drive e selecione OK.

Selecione NO.

Se esta mensagem de Configurao do apt surgir durante a instalao, pode clicar em OK e continuar normalmente.

29

Nesta tela existem algumas opes de instalao. Nossa sugesto que voc no selecione nenhuma opo e siga direto em OK. No entanto, se optar por uma escolha, faa a escolha padro ou a instalao de Ambiente Desktop. As demais instalaes utilizam servios de rede, irrelevantes neste momento.

Escolha a opo sem configurao no momento.

30

Selecione a opo SIM.

Selecione OK.

Selecione OK. 31

Parabns! O novo sistema operacional Debian foi instalado com sucesso!

32

Unidade 3 Iniciando no Ambiente Grfico


3.1 - Ambiente grfico e linhas de comando Linux

Usando o terminal

Logo que surgiram as linguagens de computador e os seus programadores, todos os sistemas operacionais usavam interfaces de modo texto, uma vez que exigiam poucos recursos das mquinas, aceitavam os comandos e exibiam os resultados de forma bem simples. Hoje, mesmo com toda a evoluo em relao s interfaces e aos utilitrios de configurao grfica, o bom e velho terminal continua prestando bons servios. A grande vantagem do terminal que os comandos so sempre os mesmos, exceto por alguns poucos aplicativos especficos. Isso facilita a sua utilizao, independente de usar o Ubuntu ou o Slackware, transformando-se em um porto seguro no desenvolvimento do trabalho. O terminal tambm a forma mais natural de conversar com o sistema sempre que voc precisa de qualquer coisa alm da programao bsica. 33

Por exemplo, imagine que voc precise mover todos os arquivos com extenso .jpg de uma pasta com muitos arquivos para outra. Em vez de mover um a um ou fazer algum malabarismo com a ordem de exibio dos arquivos (para organizar a exibio com base na extenso dos arquivos e poder assim selecionar todos os .jpg com o mouse), voc poderia simplesmente abrir o terminal e digitar:

$ mv *.jpg /outra-pasta

Alm dos comandos bsicos, dois outros recursos que tornam o terminal to poderoso so a possibilidade de combinar diferentes comandos para executar tarefas mais complexas (ou filtrar os resultados para localizar informaes especficas) e a possibilidade de escrever pequenos programas em shell script. Os scripts em shell podem ser usados para automatizar qualquer tipo de tarefa que voc precise executar repetidamente, de atualizaes do sistema a backups. Essencialmente, tudo o que possvel fazer via linha de comando, ou seja, praticamente tudo, pode ser automatizado atravs de um shell script. Aps a instalao de seu Linux voc pode alternar entre a rea grfica e o modo texto com as teclas Alt + Fx . Para Fx, podem ser consideradas as teclas de funo f1 a f12. O Linux possui, como padro, seis terminais em modo texto e um grfico. Os terminais de texto podem ser acessados com a soma das teclas Alt+f1, Alt+f2 at Alt+f6. E, o grfico, com as teclas Alt +f7.

3.2 - Interpretador de texto e terminais virtuais


Os sistemas UNIX usam a interface de texto como interface padro. Essa interface usa o TTY como paradigma de entrada e sada de dados ao usurio. O TTY uma abreviatura de TeleTypewriter. Uma mquina ou equipamento que permitem interatividade de comunicao baseada em texto atravs de transmisses de sinal de cdigo pela rede telefnica.

34

O paradigma de entrada e sada com base em TTY, representa a antiga interface com o computador, o teletipo, no incio do desenvolvimento do UNIX. H muito tempo, um dos mecanismos de entrada e sada de dados com os computadores era a fita perfurada. Os furos ficavam dispostos em uma determinada posio na qual destinavam-se os caracteres zero e um para o computador e algum outro caractere para o programador. Por essa descrio fcil notar que os caracteres entram e saem do computador serialmente (em sequncia). Essa interface de entrada e sada muito simples facilita a vida do programador. Com o surgimento e a reduo de custos dos teclados e monitores (CRTs), as entradas eram feitas via linhas seriais ligadas aos computadores e conectadas nos paradigmas de entrada e sada, o que praticamente no mudou. Porm, alguns programadores acharam que era desperdcio olhar na tela as letras impressas da esquerda para a direita, de cima para baixo. Afinal, o monitor capaz de mostrar muitos locais do controlador do CRT. O que faltava era poder manipular esses registradores atravs dos programas. Como cada fabricante de monitor tem o seu prprio conjunto de registradores, os programas s seriam teis para um determinado modelo de um determinado fabricante. Em razo disso, esses programadores buscaram alternativas para manipular as sadas na tela do monitor. A interface de sada passou a ser uma tela de caracteres. Um nvel mais baixo de programao se ocupava de interfacear com os registradores e os comandos de monitoramento dos registros dos controladores de CRT. Este modelo foi utilizado para criar os Vi, programas que estudaremos mais adiante. O ambiente do Linux utiliza diversos terminais virtuais ao mesmo tempo, como se abrisse vrias reas de trabalho, permitindo o acesso de mais de um usurio ao mesmo servidor de forma simultnea e independente. Como dissemos no final do captulo anterior, no Linux voc pode acessar os terminais segurando a tecla ALT e pressionando de F1 a F6, cada Fx um terminal. O stimo (Alt+f7) usado por padro, pelo X (ambiente grfico).

35

3.3 - O que o X Window?


O X Window, tambm conhecido como X, um sistema grfico de janelas que roda em diferentes tipos de mquinas e plataformas Unix. Essa interface grfica totalmente configurvel e flexvel, podendo ser utilizada por usurios e projetistas. Pode, tambm, ser executada em mquinas locais ou remotas, atravs da conexo de rede. O X11 , basicamente, uma biblioteca (XLIB) que permite o controle total sobre as janelas, mouse, teclado e vdeo. Tal biblioteca facilita a criao de programas que gerenciam tudo isso. Esses programas so chamados de Windows Makers. O Linux, por utilizar como base o Unix, tambm adota o X11 como interface grfica padro. O grupo free86 foi quem criou a verso X11 gratuita para Linux. Sobre o X Windows System rodam os Windows Makers que conhecemos. O Gnome e KDE so os mais conhecidos.

3.4 - A organizao do ambiente grfico X Window


Em geral, o ambiente grfico dividido da seguinte forma:

Servidor X: Programa responsvel pela exibio dos grficos na tela, mouse e teclado. Ele se comunica com os programas-clientes atravs de diversos mtodos. Os servidores X podem ser executados na mesma mquina em que o programa-cliente estiver sendo usado ou pode ser executado remotamente. 36

Gerenciador de janelas: Programa que controla a aparncia da aplicao. Os gerenciadores de janelas (windows makers) so programas que atuam entre o servidor X e a aplicao. Voc pode alterar de um gerenciador para outro sem fechar seus aplicativos. Existem vrios tipos de aplicativos de gerenciadores de janelas disponveis no mercado. Entre os mais conhecidos podemos citar o Window Maker (feito por um brasileiro), o KDE e o Gnome. A escolha do seu gerenciador de janelas pessoal, depende muito do gosto de cada usurio e dos recursos que ele deseja utilizar. Porm, o KDE e o Gnome por serem os mais completos, so os mais utilizados.

A aplicao-cliente: o programa que est sendo executado. Pode ser um browser, uma planilha ou qualquer outro aplicativo.

A organizao do ambiente grfico X traz grandes vantagens de gerenciamento e recursos no ambiente grfico Unix. Com esses recursos voc pode, por exemplo, executar seus programas em computadores remotos ou mudar totalmente a aparncia de um programa sem ter que fech-lo (atravs da mudana do gerenciador de janelas).

3.5 - Iniciando o X.
O sistema grfico X pode ser iniciado de duas maneiras:

Automtica: Usando o programa xdm, que roda no ambiente grfico X e apresenta uma tela pedindo o nome e a senha para entrar no sistema (login). Manual: Atravs do comando startx ou xstart. Nesse caso, o usurio deve entrar com seu nome e senha em modo texto e, ento, executar um dos comandos. Aps executar, o X ser iniciado e executar um dos gerenciadores de janelas configurados no sistema. Na instalao realizada nesse curso, utilizamos o KDE.

37

3.6 Servidor X

Como citado anteriormente, o servidor X controla o teclado, o mouse e a exibio dos grficos em sua tela. Para ser executado, precisa ser configurado atravs do arquivo /etc/x11/xfree86config ou /etc/xorg/xorg.conf, ou com o comando xorg ou xfree86config, dependendo do sistema utilizado.

CUIDADO: sempre utilize a opo de sada de seu gerenciador de janelas para encerrar normalmente uma seo X11 e salve os trabalhos que esto ativos. A finalizao do servidor X deve ser feita em caso de emergncia, quando no se sabe o que fazer para sair do gerenciador de janelas ou de um programa mal-comportado.

38

CONCLUSO DO MDULO I
Chegamos ao fim do Mdulo I!

Quando desejar, faa a avaliao referente ao Mdulo I para ter acesso ao material correspondente ao Mdulo II!

Boa Sorte!

39

Linux
Mdulo II

Parabns por participar de um curso dos Cursos 24 Horas. Voc est investindo no seu futuro! Esperamos que este seja o comeo de um grande sucesso em sua carreira. Desejamos boa sorte e bom estudo! Em caso de dvidas, contate-nos pelo site www.Cursos24Horas.com.br Atenciosamente Equipe Cursos 24 Horas

SUMRIO
Unidade 4 A Linguagem Linux ..................................................................................... 1 4.1 - Logando no sistema .......................................................................................... 1 4.2 - O interpretador de comandos ........................................................................... 2 4.3 - O shell e o Kernel ............................................................................................. 3 4.4 - Comandos Internos ........................................................................................... 4 4. 5 - Comandos externos (programas) ..................................................................... 4 4.6 - PATH ............................................................................................................... 5 4.7 - Variveis de ambiente ...................................................................................... 6 Unidade 5 Mtodos de Armazenamento de Dados ....................................................... 7 5.1 - Estrutura de diretrios e particionamento de discos......................................... 7 5.2 O Comando MOUNT .................................................................................... 11 5.3 O comando UMOUNT .................................................................................. 12 5.4 - O arquivo FSTAB .......................................................................................... 12 Unidade 6 Manipulao de Objetos............................................................................. 15 6.1 Comandos para manipulao de diretrio ..................................................... 15 6.2 Comandos para manipulao de arquivos ..................................................... 18 6.3 Comandos Diversos ....................................................................................... 23 6.4 Editando arquivos .......................................................................................... 37 6.5 Gerenciando arquivos compactados .............................................................. 42 Encerramento .................................................................................................................. 57

Unidade 4 A Linguagem Linux

4.1 - Logando no sistema


Antes de comear a usar o sistema, necessrio que o usurio se logue no Linux. Para tanto, ele deve fornecer o nome de usurio e a senha que foram cadastrados, para fins de identificao. Ao logar ser exibida a seguinte tela.

Fornecendo o login e a senha, o usurio estar apto a usar o sistema e os recursos para os quais tiver permisso de acesso. Para sair do sistema, ou seja, executar logout necessrio digitar exit, logout ou segurar CRTL+D. No ambiente grfico temos uma maneira que no a mais recomendada para encerrar uma sesso: pressionando CRT+ALT+BACKSPACE. Ao fazer isso, o Linux encerra a sesso sem salvar arquivos ou modificaes.

4.2 - O interpretador de comandos


Aps se logar no Linux o usurio entrar para o que chamamos de prompt do sistema. No prompt voc pode digitar os comandos que deseja que o computador execute. O prompt a entrada de um programa que automaticamente executado aps o login no sistema. Esse chamado de interpretador de comandos, ou Shell, o que faz a ponte entre o usurio, os programas do sistema e o kernel.

4.3 - O shell e o Kernel


O computador no passa de um conjunto de circuitos eletrnicos digitais. Isso significa que tudo no computador se resume a um mundo binrio. A melhor forma de interagir com essas mquinas atravs de sistemas operacionais, compiladores e muitos outros programas que facilitaro esta interao. O sistema operacional composto de vrias partes. Uma delas, o ncleo, chamado de kernel. Fornece componentes lgicos para o hardware, estendendo a sua funcionalidade. Outra parte a interface com o usurio. As interfaces so chamadas genericamente de Shell (casca) e atuam de diversas formas no sistema operacional, possuindo vrios comandos internos que permitem ao usurio solicitar uma srie de servios. O Shell tambm pode ser usado para implementar linguagens simples de programao que permitem o desenvolvimento de pequenos programas, conhecidos como Shell Script. Nos sistemas UNIX existem muitos interpretadores de comandos diferentes, cada um com suas peculiaridades, ficando a critrio do usurio decidir qual shell ser mais adequado s aplicaes que deseja fazer.

Alguns exemplos: - Broune Shell(sh). - C shell (csh). - Korn Shell (ksh).

4.4 - Comandos Internos


A principal funo do interpretador de comandos executar programas disponveis no sistema. Porm, cada interpretador tem seus comandos internos (builtins), ou seja, existem alguns comandos especiais que no so programascomandos ativados pelo Shell, mas trata-se de pequenas rotinas internas do prprio interpretador de comandos. Ao executar um comando, o interpretador primeiro verifica se o que foi requerido refere-se a um Comendo Interno ou a um Comando Externo, nessa ordem. No caso do bash, um Shell desenvolvido para o Projeto GNU, podemos citar como exemplo o comando echo. Quando digitamos no prompt echo Teste, o bash executa o programa echo que executa sua rotina interna correspondetne ao echo, no precisando assim executar um programa externo. Os comandos internos tm uma importncia muito grande, pois, so o que faz com que o shell seja programvel, isto , os comandos internos possuem rotinas internas que representam controles de fluxo e laos (if, while, for, etc..). Assim, podemos escrever scripts e execut-los a partir do Shell (shell scripts). Exemplo de comandos internos: cd, exit, bg, echo. Para acessar a lista completa dos comandos internos, pode-se recorrer ao manual do shell, com o comando man bash.

4. 5 - Comandos externos (programas)


Quando no digitamos um comando interno do shell, esse executa o programa que estamos chamando com todos os parmetros passados, caso existam. Os comandos externos do interpretador de comandos so procurados no disco, usando o comando path, e so executados assim que encontrados.

Uma das vantagens do interpretador de comandos consiste em o usurio no precisar saber onde esto localizados os programas que deseja executar. No caso do bash, o nome do arquivo e o comando so completados quando pressionada a tecla TAB, o que til quando no se sabe ao certo o nome do comando ou do arquivo.

Exemplos de comandos externos: ls, mkdir, rmdir. Para obter uma lista com diversos comandos externos podemos verificar o contedo dos diretrios digitando /bin e /sbin.

4.6 - PATH
Path o caminho de procura dos arquivos/comandos executveis. O path (caminho) armazenado na varivel com o comando echo $PATH. Por exemplo, o caminho /usr/local/bin:/usr/bin:/Bin:usr/bin/X11 significa que se voc digitar o comando ls, o interpretador de comandos iniciar a procura de programa ls no diretrio /usr/local/Bin. Caso no encontre o arquivo no diretrio /usr/local/Bin, ele inicia a procura em /usr/bin at que encontre o arquivo procurado. Caso o interpretador de comandos chegue at o ltimo diretrio do path sem encontrar o arquivo/comando digitado, mostrada a seguinte mensagem:

Bash: ls: comando no found (comando no encontrado)

O caminho de diretrios vem configurado na instalao do Linux, mas, pode ser alterado no arquivo /etc/profile. Caso deseje alterar o caminho para todos os usurios, este o melhor lugar, pois ele lido por todos os usurios no momento do login. Caso um arquivo/comando no esteja localizado em nenhum dos diretrios, voc deve execut-lo usando um ./ (ponto barra) na frente do comando. Isso diferencia o Linux do funcionamento do MS-DOS (Windows), no qual o comando sempre procurado no diretrio corrente, antes de ser procurado no path. Se desejar alterar o path para um nico usurio, modifique o arquivo ./bash_profile em seu diretrio de usurio (home).

4.7 - Variveis de ambiente


Como o SHELL sabe onde esto os programas a serem executados?

Os processos no Unix e na maioria dos sistemas operacionais mantm um conjunto de variveis globais chamadas de variveis de ambiente. Algumas dessas variveis so copiadas pelo sistema operacional atravs do processo pai-filho, ou seja, saem do processo pai para o processo filho. Outras so iniciadas ou modificadas pelo sistema operacional.

Como vimos no captulo anterior, uma dessas variveis o PATH, que usada pelo interpretador de comandos para saber onde esto os programas que deve executar. Existem muitas outras variveis de ambiente alm de varivel PATH. Algumas das mais importantes so:

- TERM: tem valor do tipo de terminal virtual que est sendo usado.

- HOME: tem o caminho para o diretrio home do usurio.

- MANPATH: tem o caminho para o editor de texto padro.

Para verificar o valor de todas as variveis de ambiente, basta digitar o comando env. Esse comando listar todas as variveis existentes com seus respectivos valores. Caso voc queira saber o valor de uma varivel especfica, basta digitar o comando, que imprimir o contedo da varivel PATH. Existem trs maneiras de mudar o valor de uma varivel de ambiente:

1) Com o comando export podemos tanto alterar o valor de uma varivel de ambiente, quanto criar novas variveis. a. Exemplo: export PATH=$PATH:/home/user/bin 2) Com o comando set setamos ou configuramos o valor de uma varivel de ambiente existente. 6

a. Exemplo: set PATH=$PATH:/home/user/bin 3) Tambm podemos escrever apenas PATH=$PATH:/home/user/bin na linha de comando.

Unidade 5 Mtodos de Armazenamento de Dados

5.1 - Estrutura de diretrios e particionamento de discos

Nos sistemas operacionais com base na linguagem GNU/Linux, o esquema de particionamento de disco ocorre de maneira diferenciada, no qual se destaca trs pontos principais:

1) Quantidade de parties para o funcionamento. 2) Rtulo de parties. 3) Software de particionamento. 7

Podemos estabelecer um comparativo entre plataforma Windows (geralmente conhecida e de fcil compreenso) e a plataforma GNU/Linux.

Na plataforma da Microsoft, em verses mais antigas, ainda usada a ferramenta de particionamento do DOS, que tem, no mximo, uma partio primria e uma estendida, na qual podemos ter inmeras parties lgicas. Esse limite j foi praticamente extinto, uma vez que padres internacionais definem o uso de 64k alocados em disco para armazenar a tabela de particionamento. Visto que para cada partio criada precisamos utilizar 16k para guardar informaes sobre ela, assim, temos um limite mximo de quatro parties. Note que, neste caso, temos que utilizar uma dessas reservas para criar uma partio estendida. Isso nos dar oportunidade de criar outras parties chamadas lgicas dentro desta partio estendida. O esquema de particionamento do GNU/Linux extremamente flexvel. Mas precisamos seguir algumas regras para que nosso sistema possa ser iniciado aps a instalao. As bases de todas essas regras so definidas em padres mundialmente utilizados como o FHS (Filesystem Hierarchy Standard) que define onde os arquivos e diretrios do sistema sero localizados. Quando estamos particionando o disco para o Linux devemos levar em considerao que, nessa plataforma, as parties e diretrios esto muito mais ligados entre si do que em outros sistemas operacionais. Quando usamos esses diretrios para acessar ou montar parties, o chamamos de Ponto de Montagem e precisamos saber quem so, para podermos particionar o disco.

Ressaltamos que os sistemas Linux podem funcionar apenas com duas parties, sendo uma para o sistema operacional que ser montado na raiz / (barra) e outra para troca de arquivos, chamada de swap. Logo entenderemos esses termos. Todos esses pontos de montagem iro se localizar hierarquicamente abaixo de um nico diretrio-raiz, que no Linux representado pela / (barra). Cada ponto de montagem precisa, obrigatoriamente, utilizar uma partio, mas essa no precisa ser exclusiva. Por exemplo, tendo quatro parties primrias possvel ter quatro pontos de montagem independentes. Note que qualquer outro ponto de montagem que no for especificado ser montado dentro da raiz (/). Outro ponto de montagem necessrio para que o Linux seja instalado e funcione corretamente o da partio swap. A swap conhecida como zona de troca e auxilia no armazenamento dos dados que esto em transio entre memria e disco. A zona de troca essencial para instalao e funcionamento de qualquer distribuio Linux, alm de aumentar o desempenho do sistema de maneira extraordinria. Outra vantagem do Linux sobre os demais sistemas operacionais o que ele pode fornecer com essas caractersticas. Ainda possvel utilizar pontos de montagens separados por discos, aumentando assim o desempenho do sistema. Na verdade, alterando simplesmente a maneira e o local onde os dados sero armazenados. 9

Se voc tiver mais de um HD ser possvel espalhar esses pontos de montagem pelos HDs. Esse tipo de planejamento deve ser bem pensado e executado durante a instalao do sistema, mas tambm faz parte de um procedimento de tunning, ou seja, ajuste fino. O Linux, como os sistemas UNIX/POSIX, no trabalha com a ideia de volumes lgicos como em alguns outros sistemas (como MS-DOS, que representa a unidade de disco rgido e a unidade de disquetes como dois volumes lgicos diferentes). O Linux tem uma nica unidade, a sua rvore de diretrios, cuja raiz o diretrio /. Todos os componentes, tais como: unidade de disquete, CDROM, impressora, HD, entre outros, so representados por arquivos. Esses arquivos esto localizados no /dev da rvore de diretrios do Linux. Isso quer dizer que, quando um programa precisa ler ou escrever em um desses componentes, ele l informaes e escreve no arquivo que representa aquele componente (device). Um exemplo prtico de como isso funciona consiste em fazer o seguinte teste: quando logamos localmente no Linux estamos usando o primeiro terminal virtual (console), que tambm representado por um arquivo, o /dev/tty1. Se, no tty1 executamos o comando ls /dev/tty2 estaremos redirecionando a sada do comando ls para o console tty2. Para vermos se isso realmente ocorre, basta mudarmos para a tty2 digitando Alt+F2. Pois bem, vimos que o Linux tem somente uma rvore de diretrios, mas seus arquivos ou partes dessa rvore podem estar em componentes diferentes do computador, como por exemplo, uma partio do HD, disquete, etc. Para unir todos esses devices em uma nica estrutura de diretrios, existe o comando mount, que monta todos os dispositivos, a exemplo do acesso ao contedo CDROM. Tenho que montar esse CD e para isso eu devo usar o comando mount.

10

5.2 O Comando MOUNT


O comando mount utilizado para montar um dispositivo na hierarquia do sistema de arquivos do Linux.

As opes mais usadas so: -a - Montar todos os dispositivos especificados no arquivo /etc/fstab que no tm a opo noauto selecionada. -r - Montar o sistema de arquivos do dispositivo como somente leitura. -w - Montar o sistema de arquivos do dispositivo como leitura e gravao. -o - Especificar as opes de montagem. -t - Especificar o tipo do sistema de arquivos do dispositivo.

Alguns tipos: ext2 ext3 - Parties Linux. - Parties Linux.

reiserfs - Para parties reiserfs. vfat ntfs - Para parties Windows Fat. - Para parties Windows NTFS.

iso9660 - Para montar unidades de cdrom.

Exemplos:

flaviocapeletti@Tux:# mount /dev/hdb1 /mnt/windows -t vfat

flaviocapeletti@Tux:# mount /dev/fd0 /mnt/floppy -t vfat

flaviocapeletti@Tux:# mount /dev/cdrom /mnt/cdrom -t iso9660

11

5.3 O comando UMOUNT


O comando umount utilizado para desmontar dispositivos montados pelo comando mount. O umount sincroniza o contedo do disco com o contedo dos buffers e libera o diretrio de montagem.

As opes mais usadas so:

-a - Desmonta todos os dispositivos listados no arquivo /etc/mtab, que mantido pelo comando mount como referncia de todos os dispositivos montados. -t tipo - Desmonta somente os dispositivos que contenham o sistema de arquivos especificados no tipo.

Exemplos:

flaviocapeletti@Tux:# umount /dev/cdrom

ou

flaviocapeletti@Tux:# umount /cdrom

5.4 - O arquivo FSTAB


O arquivo fstab armazena as configuraes dos dispositivos que devem ser montados e determina o ponto de montagem de cada um na inicializao do sistema operacional. O Linux suporta diversos sistemas de arquivos locais e remotos. O arquivo fstab est localizado no diretrio /etc. O arquivo fstab tem a seguinte aparncia:

12

Dispositivo /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4

P.Montagem Tipo S. Arquivos Op. Montagem Backup Ch. Disc. /boot / none /home ext3 reiserfs swap reiserfs defaults defaults sw defaults 0 0 0 0 2 1 0 2

Onde:

- Dispositivo: Especifica o dispositivo a ser montado.

- P. Montagem (Ponto de montagem): Especifica o diretrio em que o dispositivo ser montado.

- Tipo S.Arquivos (Tipo sistema de arquivos): Especifica o tipo de sistema de arquivos a ser montado.

- Op. Montagem (Opes de montagem): Especifica as opes de montagem dependendo do tipo de sistema de arquivos.

- Backup (Frequncia de Backup): O programa dump consulta o arquivo para saber a frequncia de backup. um campo numrico, onde 1 para sistemas ext2 e 0 para outros.

- Ch. Disc (Checagem de disco): Determina se o dispositivo deve ou no ser checado na inicializao do sistema pelo fsck. um campo numrico, onde 0 para no ser checado, 1 para ser checado primeiro (raiz) e 2 para checar depois do raiz.

13

Opes de montagem:

Opo auto Noauto ro rw Exec Noexec User Users Nouser Sync Async Dev Suid Nosuid defaults

Descrio Habilita que o dispositivo seja montado na inicializao. Desabilita que o dispositivo seja montado na inicializao. Monta o sistema de arquivos somente como leitura. Monta o sistema de arquivos para leitura e gravao. Habilita a execuo de arquivos no sistema de arquivos especificados. Desabilita a execuo de arquivos. Possibilita que qualquer usurio monte o dispositivo, mas probe outros usurios de desmont-lo. Possibilita que qualquer usurio monte e desmonte o dispositivo. Somente o superusurio (root) pode montar e desmontar. Habilita a transferncia de dados sncrona no dispositivo. Habilita a transferncia de dados assncrona no dispositivo. Dispositivo especial de caracteres. Habilita que os executveis tenham bits do suid e sgid. Desabilita que os executveis tenham bits do suid e sgid. Configura as opes de montagem como rw,suid, exec, auto, nouser e async.

Exemplo: flaviocapeletti@Tux:# cat /etc/fstab

14

Unidade 6 Manipulao de Objetos


6.1 Comandos para manipulao de diretrio
Comando cd

O comando cd usado para navegar por diretrios. , sem dvida, um dos comandos mais usados no Linux. Se durante o comando no houver direcionamento para algum diretrio, levar o usurio de volta ao diretrio raiz.

Exemplos: flaviocapeletti@Tux:$ cd /home Nesse exemplo estamos acessando o diretrio /home

flaviocapeletti@Tux:$ cd /usr/local Nesse exemplo estamos acessando o diretrio /usr/local

flaviocapeletti@Tux:/usr/local$ cd .. Nesse exemplo estamos deixando o diretrio filho de nome local e voltando ao diretrio pai de nome usr. O resultado : flaviocapeletti@Tux:/usr$ Leia o man do comando para se divertir e aprender mais.

Comando ls

O comando ls lista os arquivos de diretrios e exibe informaes sobre as suas caractersticas. Para usar o comando ls no preciso nenhuma opo ou argumento para ser executado.

15

Exemplo: flaviocapeletti@Tux:$ ls -l drwxr-xr-x 77 root drwxr-xr-x 59 root root root 5776 2006-10-19 08:15 etc 1600 2006-10-09 14:05 home

Depois tente isso: flaviocapeletti@Tux:$ ls -l -s

E, por fim: flaviocapeletti@Tux:$ ls -ls

Voc ver que, usando parmetros, o ls retorna listas extensas com os resultados da sua consulta, tornando, assim, a consulta muito mais eficaz.

Comando pwd Esse comando mostra o nome e o caminho do diretrio atual. Voc pode us-lo para verificar em qual diretrio voc se encontra (caso seu aviso de comandos no mostre isso).

Exemplo:

# pwd /usr/local

Comando mkdir

O comando mkdir usado para criar diretrios. Quando o usurio cria um diretrio novo com o comando mkdir, esse diretrio recebe, automaticamente, dois elementos ocultos. Esses so o

(ponto) e o

..

(dois pontos). Esses elementos

representam ligaes entre o novo diretrio e o diretrio pai.

16

As opes mais usadas so: -p - Cria um diretrio mesmo que o diretrio pai no exista. Nesse caso cria tambm o

diretrio pai.

-m - Configura a permisso do diretrio criado.

Exemplos:

flaviocapeletti@Tux:$ mkdir documentos Cria o diretrio documentos.

flaviocapeletti@Tux:$ mkdir -p meusdocumentos/cartas Cria o diretrio cartas como filho do diretrio meusdocumentos.

flaviocapeletti@Tux:$ mkdir -m 777 meusdocumentos/modelos Cria o diretrio modelos abaixo do diretrio meusdocumentos com permisso total.

Comando rmdir

O comando rmdir usado para remover somente diretrios vazios de forma relativamente segura. Esse comando no se restringe remoo de um diretrio por vez. Se estiverem vazios, mais de um pode ser removido.

Exemplo:

flaviocapeletti@Tux:$ rmdir meudiretorio Remove o diretrio meudiretrio, que se encontra vazio.

17

6.2 Comandos para manipulao de arquivos

Comando cat

O comando cat concatena e exibe o contedo dos arquivos. Com o comando cat voc tambm pode criar arquivos simples. Alguns parmetros:

- Obtm dados do arquivo de entrada padro.

-n - Numera as linhas. -v - Exibe caracteres no imprimveis.

Exemplo: flaviocapeletti@Tux:~$ cat > flaviocapeletti.txt Flaviocapeletti Paiva

flaviocapeletti@Tux:~$ cat flaviocapeletti.txt Flaviocapeletti Paiva

Vejamos o que foi feito. Em primeiro lugar, foi criado o arquivo chamado flaviocapeletti.txt com o comando cat associado com o redirecionador ">", em seguida pedimos para o Linux exibir o contedo do arquivo criado novamente com o comando cat. No se preocupe, neste momento, com redirecionadores. Isso er explicado no decorrer do curso.

Leia o man do comando para se divertir e aprender mais.

18

Comando tac

O comando tac o oposto do comando cat. O comando tac exibe o contedo de um arquivo de trs para frente.

Exemplo: flaviocapeletti@Tux:$ tac arquivo.txt Leia o man do comando, divirta-se e aprenda mais com isso.

Comando rm

O comando rm usado para remover arquivos e/ou diretrios do sistema. Muito cuidado com esse comando, pois, se usado de maneira errada pode ser totalmente desastroso. As opes mais usadas so:

-f - Fora a remoo, no pergunta antes de remover. -R - Remove diretrio e todo seu contedo.

Exemplos: flaviocapeletti@Tux:$ rm arquivo1 Remove arquivo1.

flaviocapeletti@Tux:$ rm -Rf /home/usercomum Remove todo o diretrio usercomum.

flaviocapeletti@Tux:/tmp$ rm * Remove todo o contedo do diretrio /tmp.

19

Comando cp

O comando cp usado para copiar diretrios ou arquivos. As opes mais usadas so: -d - Mantm os links ao copiar. -p - Copia todas as informaes dos atributos dos arquivos e diretrios, bem como dono, permisso, grupo, etc. -R - Copia os arquivos recursivamente. til para copiar os arquivos e diretrios abaixo do diretrio especificado. -a - Faz o mesmo que as opes "-dpR" combinadas. -f - Fora a cpia, gravando por cima do destino. -i - Pergunta ao usurio antes de copiar.

-v - Mostra o nome de cada arquivo que est sendo copiado.

Exemplos: flaviocapeletti@Tux:$ cp arquivo1 arquivo2 Nesse exemplo estamos copiando o arquivo1 para arquivo2 no mesmo diretrio.

flaviocapeletti@Tux:$ cp arquivo1 /tmp Nesse exemplo estamos copiando o arquivo1 para o diretrio /tmp.

flaviocapeletti@Tux:$ cp -Rfv /home /tmp Nesse exemplo podemos copiar todo o diretrio /home e todos os seus subdiretrios para o diretrio /tmp.

Comando mv

O comando mv usado para mover ou renomear arquivos e diretrios. Use esse comando com cuidado. As opes mais utilizadas so:

20

-i

- Modo interativo, pede confirmao.

-f - Usa modo forado, substitui arquivos protegidos.

Exemplo: flaviocapeletti@Tux:$ mv arquivo1 arquivo2.txt Nesse exemplo estamos renomeando o arquivo1 para arquivo2.txt.

flaviocapeletti@Tux:$ mv /home/flaviocapeletti/documentos /tmp Nesse exemplo estamos movendo o diretrio documentos para o diretrio /tmp.

Coringas

Os coringas so usados quando estamos trabalhando com arquivos de diretrios do Shell. muito comum precisarmos trabalhar com diversos arquivos de uma vez. Para tornar essa tarefa simples, o Linux oferece o recurso de coringa para os nomes dos arquivos e diretrios:

Smbolo * ? {texto1, texto3...}

Descrio Usado para "qualquer coisa" ele pode substituir um ou mais caracteres de um nome. Usado para substituir um caractere somente de um nome.

texto2, Usado para substituir as partes dentro da chave{}, pelo texto1, depois texto2, depois texto3, etc.

Exemplos: flaviocapeletti@Tux:$ ls *.txt Lista todos os arquivos que possuem a extenso .txt.

flaviocapeletti@Tux:$ ls fern???o

21

Redirecionadores

Um esquema interessante no Linux so os redirecionadores. Como o Linux inicialmente foi criado para programadores e por programadores, era essencial que os comandos e processos tratassem as entradas e sadas com grande facilidade. Antes de comear com os exemplos preciso definir o que so Entrada Padro, Sada Padro e Sada de Erro.

- A Entrada Padro (stdin) a entrada de fluxo de dados. Pode ser representado por 0.

- A Sada Padro (stdout) a sada de fluxo de dados em condies normais. Pode ser representado por 1.

- A Sada de Erro (stderr) a sada de um fluxo de dados em condies de erro. Pode ser representado por 2.

Podemos redirecionar a Entrada Padro de uma sada para uma outra sada, utilizando o sinal de maior (>) e, para direcionar, uma entrada para outra entrada usamos o sinal de menor (<).

Ainda podemos redirecionar uma sada para uma entrada usando uma barra vertical especial. O sinal "pipe"(|) ou condutor.

Exemplos: flaviocapeletti@Tux:$ ls > saida.txt No exemplo acima usamos o comando ls como j vimos antes, porm, aqui ele pega todo o resultado de retorno e grava no arquivo saida.txt. Logo aps realizar o exemplo acima verifique o contedo do arquivo "saida.txt" com o comando cat.

flaviocapeletti@Tux:$ mail "meuemail@domain.com" < email.txt

22

J nesse exemplo, o programa mail est recebendo como argumento o endereo de email e, ao invs de utilizar o teclado como entrada padro, o arquivo texto email.txt redirecionado como entrada.

flaviocapeletti@Tux:$ ./meuprograma > arquivo.txt Nesse exemplo, o arquivo.txt recebe toda a sada do programa meuprograma.

flaviocapeletti@Tux:$ ./meuprograma 2 > error.log Nesse exemplo, o arquivo error.log receber toda a sada de erros do programa meuprograma.

flaviocapeletti@Tux:$ ./meuprograma > arquivo1 2>&1 error.log Nesse exemplo, toda a sada padro e de erros de meuprograma ser gravada em error.log.

flaviocapeletti@Tux:$ ls -l | more Nesse exemplo, os resultados do ls so repassados ao comando more, paginando assim os resultados.

6.3 Comandos Diversos


Comando clear

O comando clear usado para limpar a tela. Voc ainda pode usar as teclas de atalho Ctrl+l para esse servio.

Exemplo: flaviocapeletti@Tux:$ clear

23

Comando df

O comando df usado para exibir o nmero de blocos livres no HD e inodes. Para aqueles que no conhecem, o Inodes uma estrutura responsvel por conter informaes sobre arquivos e pastas. a identidade de um arquivo, com informaes sobre permisses de acesso, identificao dos donos dos arquivos, data e hora do ltimo acesso e alteraes, tamanho e, o mais importante, os famosos ponteiros para o arquivo em si. Como o nmero de inodes est diretamente ligado ao nmero de arquivos que um dispositivo pode armazenar, possvel que ele acabe e ainda tenha espao disponvel em disco. Isso raro, mas pode acontecer quando se tem muitos arquivos. O nmero de inodes definido na formatao do disco. As opes mais usadas so:

-h - Mostra as informaes de forma amigvel. -i - Mostra o nmero de inodes restantes.

Exemplo: flaviocapeletti@Tux:# df -h

Sist. Arq.

Tam

Usad

Disp

Uso%

Montado em

/dev/hda2 tmpfs /dev/hda1 /dev/hda4

19G 126M 89M 13G

3,9G 0 11M 8,8G

15G 126M 74M 3,6G

21% 0% 13% 72%

/ /dev/shm /boot /home

O comando df tambm pode receber como parmetro um diretrio. Neste caso ele ir mostrar a capacidade utilizada e restante deste diretrio.

24

Exemplo:

flaviocapeletti@Tux:# df /home/flaviocapeletti

Sist. Arq.

1K-blocos

Usad

Dispon.

Uso%

Montado em

/dev/hda4

12891760

9220040

3671720

72%

/home

Comando ln

O comando ln cria ligaes (links), ou imagens para determinados programas, arquivos ou diretrios. O comando ln associa um nome a um determinado programa, transferindo todas as funes daquele programa para o nome em que se cria o vnculo. Os links criados podem ser visto com a opo -l do comando ls. As opes mais usadas so:

-s - Cria um link simblico. O padro do comando ln so links fsicos. -f - Fora a criao de um link, mesmo que esse j exista. -i - Exibe nmero de identificao.

Exemplos: flaviocapeletti@Tux:# ln -s /usr/src/linux-2.6.20 /usr/src/linux Nesse exemplo criamos um link simblico Linux, que aponta para o diretrio /usr/src/linux-2.6.20. Usando o comando ls -l temos o seguinte retorno: flaviocapeletti@Tux:/usr/src:# ls ls total 0 0 lrwxrwxrwx 1 root src 22 2000-01-01 08:32 linux -> /usr/src/linux-2.4.20/ Criando um link fsico:

flaviocapeletti@Tux:/usr/src:# ln /var/log/messages /var/adm/log/kernel.log Cria o link fsico kernel.log do arquivo messages. 25

Comando du

O comando du usado para obter informaes do espao utilizado por um diretrio ou arquivo. As opes mais usadas so: -a - Mostra todos os arquivos e no somente os diretrios. -c - Mostra um total no final da listagem. -h - Mostra as informaes de maneira mais amigvel. -s - Mostra um sumrio do diretrio especificado e no o total de cada subdiretrio. -S - Exclui os subdiretrios da contagem.

Exemplo: flaviocapeletti@Tux:# du -h meuarquivo.tgz

8,2M

meuarquivo.tgz

Leia o man do comando para se divertir e aprender mais.

Comando find

O comando find usado para localizar uma expresso a partir de um caminho ou diretrio. Busca diretamente no sistema de arquivos.

Exemplos: flaviocapeletti@Tux:# find / -name meuprograma.txt Nesse exemplo estamos procurando pelo arquivo meuprograma.txt.

flaviocapeletti@Tux:# find / -iname MeuPrograma.txt Nesse exemplo estamos procurando pelo arquivo MeuPrograma.txt. Perceba que, no primeiro exemplo, usamos -name e agora usamos -iname. Isso acontece porque o iname no diferencia maisculas de minscula. Como no temos certeza do nome do arquivo usamos iname. 26

flaviocapeletti@Tux:# find /home/flaviocapeletti -iname documento.stx Nesse exemplo, procuramos o documento.stx no /home/flaviocapeletti.

Esses so alguns exemplos simples do uso do comando find.

Leia o man do comando para se divertir e aprender mais.

Comando tee

O comando tee usado como um filtro em conexes de vrios comandos. Esse comando recebe dados de uma entrada padro, grava o que recebeu em um arquivo e ainda envia para sua sada padro.

Exemplo: flaviocapeletti@Tux:$ ./programa | tee programa.txt | imprime | tee boleto.txt | lpr 2> errors.log

Comando head

O comando head, exibe as 10 primeiras linhas de um arquivo.

A opo mais usada :

-n (nmero) - Configura o nmero de linhas que o head ir mostrar.

Exemplo: flaviocapeletti@Tux:$ head -n 50 arquivo.txt ou flaviocapeletti@Tux:$ head arquivo.txt Comando nl 27

O comando nl, utilizado para numerar as linhas de um arquivo. Este comando considera condies especiais para o cabealho e o rodap do arquivo.

Smbolo \:\:\: \:\: \:

Descrio Esse smbolo utilizado para iniciar o cabealho do texto. Esse smbolo utilizado para iniciar o corpo do texto. Esse smbolo utilizado para iniciar o rodap do texto.

As opes mais usadas so:

-h (subopo) - Utilizada para formatar o cabealho do texto. O padro no numerar o cabealho. -b (subopo) - Utilizada para formatar o corpo do texto. O padro numerar somente as linhas no vazias. -f (subopo) - Utilizada para formatar o rodap do texto. O padro no numerar o rodap.

As subopes so:

A - Numerar todas as linhas. t - Numerar somente as preenchidas. n - No numerar as linhas.

Exemplo: Suponha que um arquivo.txt tenha o seguinte contedo:

\:\:\: Meu relatrio --------------------------------------Nome Estado ---------------------------------------

28

\:\: Flavio Capeletti RS \: --------------------------------------flaviocapeletti@Tux:$ nl arquivo.txt

Comando tail

O comando tail oposto ao comando head que j vimos. Este comando exibe as 10 ltimas linhas de um arquivo, diferente do comando head, que exibe as 10 primeiras. As opes mais usadas so:

-n (nmero) - Especfica o nmero de linhas finais que o tail dever exibir. -f - Mostra as ltimas linhas finais de um arquivo continuamente, enquanto

outro processo grava mais linhas.

Exemplo: flaviocapeletti@Tux:$ tail -n 50 arquivo.txt ou flaviocapeletti@Tux:$ tail -f /var/log/messages

Comando touch

O comando touch usado para criar arquivos. Alm disso, ele pode mudar a data e a hora de acesso e ou modificao de arquivos. As opes mais usadas so:

-a

- Muda somente a data e a hora de acesso para a atual.

29

-m -t datahora

- Muda somente a data e a hora de modificao para a atual. - Muda a hora e a data para o datahora definidos.

Exemplos: flaviocapeletti@Tux:$ touch arquivo1 Criamos um arquivo de nome arquivo1.

Comando echo

O comando echo repete ou ecoa tudo aquilo que for digitado sua frente, separado por espao em branco. muito usado para marcar linhas de scripts, verificar contedos de variveis de ambiente entre outros.

Exemplo: flaviocapeletti@Tux:~$echo $PATH Nesse exemplo, pedimos para o comando echo exibir o contedo da varivel $PATH

flaviocapeletti@Tux:~$echo "seu nome"

Comando wc

O comando wc faz a contagem em unidade do contedo de um arquivo, linhas, caracteres e palavras. Digitando o comando wc sem opo, o usurio ter como resultado o nmero de caracteres, palavras e linhas.

As opes mais usadas so:

-l

- Exibe o nmero de linhas.

-w - Exibe o nmero de palavras. -c - Conta o nmero de caracteres de um ou mais arquivos. -t Exibe estimativa de tempo para o resultado.

30

Exemplo: flaviocapeletti@Tux:$ wc arquivo.txt

Comando cut

O comando cut (cortar) l o contedo de um ou mais arquivos e tem como sada uma coluna vertical. As opes mais usadas so:

-b nmero direita). -c nmero a direita).

- Imprime uma lista vertical com o byte nmero (da esquerda para a

- Imprime uma lista vertical com o caractere nmero (da esquerda para

-d delimitador - Configura o delimitador que separa uma coluna da outra. O padro o Tab. -f nmero - Imprime a coluna nmero.

Exemplo: flaviocapeletti@Tux:$ cut -d : -f 1 /etc/passwd

Leia o man do comando para se divertir e aprender mais.

Comando expand

O comando expand troca o Tab (tabulao) dentro dos textos pelo nmero de espaos correspondentes. til para tornar um texto que faz uso das tabulaes mais atrativo para determinados dispositivos, como impressora, arquivos e outros. As opes mais usadas so:

-t (nmero) - Especfica o nmero de espaos que o tab contm. O padro 8. -i Exemplo: 31 - Converte somente o incio das linhas.

flaviocapeletti@Tux:$ expand arquivo.txt

Comando alias

Este comando atribui um apelido para o comando. Seu papel abreviar linhas de comando, alm de certas operaes.

Exemplo: flaviocapeletti@Tux:$ alias flaviocapeletti= "ls -ls" No exemplo foi criado um alias com o nome de flaviocapeletti que recebe o comando ls -ls. Com isso, basta apenas digitar flaviocapeletti para listar o contedo de um diretrio.

Resultado do exemplo:

flaviocapeletti@Tux:$ flaviocapeletti 0 drwxr-xr-x 0 drwxr-xr-x 5 root 5 root root root 120 2000-01-01 00:54 mnt 136 2000-01-01 01:25 opt

Comando split

O comando split usado para dividir grandes arquivos em n-arquivos menores. Os arquivos de sada so gerados de acordo com tamanho do arquivo de entrada. As opo mais usadas so:

-n - Onde n o nmero de linhas que iro dividir o arquivo de entrada.

Exemplo: flaviocapeletti@Tux:$ split -20 arquivo_entrada.txt arquivo_saida.txt

Leia o man do comando e se divirta e aprenda mais com isso.

32

Comando which

O comando which recebe como argumento o nome de um comando e traz como resultado a localizao no disco deste comando.

Exemplo: flaviocapeletti@Tux:# which mcedit /usr/bin/mcedit

Leia o man do comando para se divertir e aprender mais.

Comando whereis

O comando whereis localiza e exibe o PATH (caminho) de arquivos. Ele muito menos complexo e muito menos eficaz que o comando find, porm, para casos simples e imediatos, cumpre muito bem seu papel.

Exemplo: flaviocapeletti@Tux:# whereis mcedit mcedit: /usr/bin/mcedit /usr/share/man/man1/mcedit.1.gz

Leia o man do comando para se divertir e aprender mais.

Comando locate

O comando locate busca a localizao de arquivos e diretrios em um banco de dados criado com o comando updatedb. Sua busca mais rpida que a do find, mas ele necessita de que o banco de dados esteja atualizado.

Exemplo: flaviocapeletti@Tux:# locate passwd /etc/passwd 33

Comando whatis

O comando whatis faz uma consulta no banco de dados por uma palavra exata.

Exemplo: flaviocapeletti@Tux:# whatis free free (1) - Display amount of free and used memory in the system

Obs: O comando free exibe informaes de memria do sistema.

Comando chmod

O comando chmod utilizado para modificar as permisses de arquivos. Este comando aceita a representao das permisses atravs de letras ou octetos.

Para a representao das permisses atravs de letras, voc poder utilizar as letras u, g, o e a para representar as classes, smbolos de adio, subtrao e igualdade para as operaes e as letras r, w, x, X, s e t que voc j conhece como permisses.

Classes de Permisses:

Letra Descrio u g o a Dono Grupo Outros Todos

34

Operaes:

Simbolo + =

Descrio Adiciona uma permisso, sem alterar as demais Subtrai uma permisso, sem alterar as demais Configura as permisses com exatido

Permisses:

Permisso r w x X s t Leitura (Read) Gravao (Write) Execuo (eXecute)

Descrio

Configura o bit de execuo para outras classes para arquivos que j possuem o bit (X) SUID ou SGID Sticky

Ainda podemos usar combinaes de nmeros. Vejamos: r =4 w =2 x =1

O valor dessa combinao, equivale a 7, que seria permisso total.

Exemplos de uso do comando chmod: flaviocapeletti@Tux:# chmod 777 arquivo.txt Neste exemplo estou dando permisso total ao dono, grupo e outros sobre o arquivo.txt. Isto acontece pois os valores r w x tambm podem ser representados por nmeros.

flaviocapeletti@Tux:# chmod 0400 arquivo.txt 35

Neste exemplo estou definindo o SUID do arquivo como 0.

flaviocapeletti@Tux:# chmod -R 0400 /home/diretorio Neste exemplo estou dando permisso 0400 para todo o diretrio /home/diretorio.

Vejamos as opes mais usadas. -v - Reporta as permisses dos arquivos, inclusive as mudanas de permisses. -c - Reporta somente a mudana de permisso. -R - Muda as permisses de todos os arquivos e diretrios recursivamente dentro da mesmo hierarquia.

Leia o man do comando para se divertir e aprender mais.

Comando chown

O comando chown altera o dono do arquivo ou diretrio e pode tambm alterar o grupo a que este pertence. As opes mais usadas so:

-v - Reporta o dono dos arquivos, inclusive as mudanas de dono. -c - Reporta somente a mudana de dono. -R - Muda o dono de todos os arquivos e diretrios recursivamente dentro da mesma hierarquia.

Exemplos: flaviocapeletti@Tux:# chown flaviocapeletti arquivo.txt Altera o dono do arquivo "arquivo.txt" para usurio flaviocapeletti e o grupo do arquivo para o grupo do mesmo usurio.

flaviocapeletti@Tux:# chown flaviocapeletti.users arquivo.txt Altera o dono do arquivo "arquivo.txt" para o usurio flaviocapeletti e o grupo para users. flaviocapeletti@Tux:# chown .users arquivo.txt 36

Altera o grupo do arquivo para o grupo users e deixa inalterado o dono do arquivo.

flaviocapeletti@Tux:# chown -R flaviocapeletti /home/diretorio Altera o dono de todos os arquivos do diretrio /home/diretrio para o usurio flaviocapeletti.

Leia o man do comando para se divertir e aprender mais.

6.4 Editando arquivos


Apesar do GNU/Linux contar com uma gama enorme de editores de texto, daremos destaque para o editor Vi (Visual Interface), pelas razes que veremos a seguir: O Vi um editor de texto criado por Bill Joy, um estudante da Universidade de Stanford que veio a se tornar presidente da Sun Microsystems. Seu desenvolvimento foi realizado a partir do editor de textos ed, um editor escrito por Ken Thompson e que contm uma das primeiras execues de expresses regulares. A importncia do Vi para o Linux, no se resume apenas ao fato de ser um editor de texto, mas ser o editor mais usado por programadores de todo o mundo e tambm, ser comum a todas as distribuies do sistema GNU/Linux. O Vi tambm proporciona grande vantagem em relao a outros sistemas operacionais que armazenam suas configuraes em arquivos binrios. Por ser desenvolvido em formato, pode ser modificado facilmente para corrigir eventuais erros e claro, so mais difceis de serem corrompidos. Outra vantagem que vale ser ressaltada a sua disponibilidade em casos de emergncias. Apesar de no possuir a complexidade de outros editores como o Jed ou o XEmacs, nada se compara ao Vi em termos de denominadores comuns. Diante de todas essas caractersticas, torna-se indispensvel conhecer o Vi de forma mais contundente. Assim, apresentaremos, os comandos bsicos e ao longo do captulo, alguns comandos avanados. A histria da tecnologia nos ensina que a melhor maneira de aprender a usar aplicativos praticando. Desta forma, passamos a listar os principais comandos desse editor de texto.

37

Existem dois modos no Vi:

- Modo de Edio

- Modo de Comando

Modo de Edio

No modo de edio, possvel digitar livremente como se estivesse em um editor de textos comum. Esse modo iniciado no editor - a partir do shell digitando-se vi - atravs de um dos seguintes comandos:

i - insere texto a partir do cursor atual. a - insere texto depois do cursor atual. I - insere texto no incio da linha. A - insere texto no final da linha. s - substitui texto no cursor atual. S - substitui texto depois do cursor atual. o - abre uma linha abaixo do cursor atual.

Modo de Comando

O modo de comando se inicia com a tecla ESC. Alguns desses comandos so: substituio, insero e procura de texto, gravao e abertura de arquivos entre outros, alm de recorte, cpia e colagem de texto. Os comandos mais usados so:

/(Expresso) - Procura Expresso (que pode ser qualquer palavra) no texto. 38

n N yy p dd n comando

- Procura prxima ocorrncia de Expresso no texto. - Procura ocorrncia anterior de Expresso no texto. - Copia linha atual do texto para memria. - Cola contedo da memria no texto. - Apaga linha atual (e coloca na memria). - Um nmero n (1, 2, ...) seguido de qualquer comando executa o

comando n vezes. u - Desfaz ltima ao executada. - Refaz ltima ao executada. - Pula para linha de nmero n. - Salva o arquivo atual. - Salva o arquivo atual e sai do Vi. - Salva o arquivo atual e sai do Vi (equivalente) a :wq. - Sai do Vi. - Sai do Vi, independente de salvar o contedo atual. - Salva o arquivo atual com o nome arquivo.

.
:n :w :wq :x :q :q! :w arquivo

Guia rpido do Vi

Funes de procura /<expresso> - comea a procura pelo incio do arquivo do termo "expresso". ?<expresso> - comea a procura pelo final do arquivo do termo "expresso". n - procura a prxima palavra. N - inverte o sentido da procura.

Movimentao e insero de texto :3,9d - apaga as linhas de 3 a 9. :4,7m 11 - move as linhas de 4 a 7 para a linha 11. :2,6t 11 - copia as linhas de 2 a 6 para a linha 11. :2,7w <file> - escreve as linhas de 2 a 7 para o arquivo "file". :r <file> - l o arquivo 'file' e insere seu contedo no documento atual. 39

Adicionar/apendar texto a - apendar texto depois do cursor. A - apendar texto no final da linha. i - inserir texto antes do cursor. I - inserir texto no comeo da linha.

Mudar texto cw - muda uma palavra. 3cw - muda 3 palavras. C - muda uma linha. r - sobrescreve um caractere. R - sobrescreve a linha inteira. :%s/<old>/<new>/g - muda todas as ocorrncias da expresso "old" para a expresso "new".

Cancelar uma funo u - desfazer a ltima operao.

. - repete a ltima operao.


Salvar arquivos e sair :w - salvar da memria (buffer) para o disco (arquivo). :q - sair do editor. :wq - salvar e sair do editor. :x - salvar e sair do editor. :e! - reeditar, desprezando as mudanas. ZZ - salvar e sair do editor.

Movimentao de tela/linha 0 - vai direto para o comeo da linha. ) ou $ - vai direto para o final da linha. g (Linux) - vai para a primeira linha do arquivo. G - vai para a ltima linha do arquivo. 5G - vai para a linha 5. 40

Copiar e inserir textos yy - copia um linha. 5yy - copia 5 linhas. p - cola abaixo do cursor. P - cola acima do cursor.

Adicionar novas linhas o - abre uma nova linha para edio abaixo do cursor. O - abre uma nova linha para edio acima do cursor.

Apagar texto x - apaga um caractere. dw - apaga uma palavra. dd - apaga uma linha. 5dd - apaga 5 linhas. dG - apaga do cursor at o final do arquivo.

Configuraes da sesso :set nu - mostra o nmero de linhas. :set nonu - desliga o comando acima. :set all - mostra todas as configuraes. :set list - mostra os caracteres ocultos.

Rolagem do texto CTRL+f - rola uma tela para baixo. CTRL+b - rola uma tela atrs. CTRL+d - rola meia-tela (1/2) para baixo. CTRL+u - rola meia-tela (1/2) atrs.

41

Como vimos, o Vi foi desenvolvido a partir do Ed, editor muito bsico de linhas. O Vi original muito simples e no possui alguns recursos que suas variantes mais modernas j possuem. Desta forma, vale a pena destacarmos a variante mais importante do Vi, que j se consagra como sua sucessora. Trata-se do Vim que veremos a seguir: Em 1992, surgiu um concorrente a altura para o Vi, que o imitava fielmente. Tanto que ficou conhecido como Vim (Vi IMitator ou Imitao do Vi). No entanto, com suas funcionalidades e estrutura mais apuradas, tornou-se muito popular passando de imitador para Vi IMproved, ou seja, Vi Melhorado. Hoje o Vim vem se tornando o editor de textos padro em sistemas GNU/Linux, com interface grfica podendo rodar em um terminal dentro do X Window ou no console. Possui tambm mltiplos undos e redo, diferente do Vi original. Alm disso, possui modo visual (apertando-se a tecla v no modo de comando), onde possvel marcar o texto desejado para copiar ou deletar. O Vim tambm altamente configurvel.

6.5 Gerenciando arquivos compactados


Neste captulo, voc vai aprender a gerenciar arquivos compactados. Conhecer as caractersticas de cada um, de identificar um arquivo compactado e como descompactar um arquivo compactado usando um programa correspondente. Utilizar arquivos compactados uma maneira excelente de reduzir o consumo de espao em disco, propiciando uma melhor velocidade na transferncia de arquivos via rede ou mesmo em dispositivos mveis.

Qual o papel de programas compactadores/descompactadores?

Os programas compactadores e descompactadores tem a funo de diminuir e restaurar, respectivamente, o tamanho de um arquivo, ou vrios arquivos, atravs da substituio de caracteres repetidos. Para que possa ficar mais claro, sugerimos um exemplo que est ligado diretamente a esse assunto e presente em todos os livros sobre Compactao no Linux. Observe a frase: 42

Compactadores compactam e deixam arquivos compactados.

Quando realizamos a compactao deste arquivo, a frase passa a ter a seguinte configurao: %dores %m e deixam arquivos %dos. Por este exemplo, possvel percebe r que o verbo compactar, que se encontrava em trs palavras derivadas na frase acima compactadores, compactam e compactados, foi substitudo por um sinal de %. O processo para descompactar este arquivo, segue o procedimento contrrio compactao. Ele substituiria o smbolo % pela palavra compacta e a, voc teria o arquivo restaurado. Se observar novamente a frase na ntegra e depois compactada, ver que seu tamanho caiu quase pela metade. Este volume de compactao de um arquivo chamado de taxa de compactao. Assim, em termos tcnicos, se o tamanho do arquivo for reduzido pela metade aps a sua compactao, pode-se afirmar que atingiu uma taxa de compactao de 2:1 (l-se dois para um). Da mesma forma, se o arquivo for reduzido em quatro vezes, afirma-se que atingiu uma taxa de compactao de 4:1 (quatro para um) e assim por diante. Para que no se perca informaes e nem se corrompa o arquivo, os programas de compactao mantm um cabealho com todas as substituies usadas durante o processo de compactao. Isso ocorre para garantir o controle dos caracteres que so usados nas substituies. O tamanho desse cabealho pode ser fixo ou definido pelo usurio, dependendo do programa usado na compactao.

Observaes:

preciso estar muito atento quando estiver trabalhando com arquivos compactados, uma vez que no possvel, trabalhar diretamente com eles, na condio de compactados. Para poder usar o arquivo corretamente, preciso descompact-lo.

43

H programas que aceitam os arquivos compactados mas, se prestar ateno, vai notar que eles apenas simplificam a tarefa descompactando o arquivo, abrindo e o recompactando assim que o trabalho estiver concludo, tudo de forma automtica. Os arquivos de texto, por terem muito mais caracteres repetidos que os arquivos binrios, atingem uma taxa de compactao muito maior que estes outros. Geralmente, esta taxa pode chegar a 10:1. J os arquivos binrios, costumam trabalhar com uma taxa de compactao de 2:1.

Tipos de compactao

Esses programas de compactao podem ser divididos basicamente em dois tipos:

1) Compactao sem perdas de dados.

2) Compactao com perdas de dados.

No caso da compactao sem perdas, o arquivo compactado sem nenhum risco de perder dados importantes. Da mesma forma, descompactado mantendo seu contedo original. J a compactao com perdas, no qual pode ocorrer a perda parcial de dados, realizado para atingir altas taxas de compactao. um tipo especfico de compactao direcionado para tipos de arquivos especiais, como msicas e imagens ou arquivos que envolvam a percepo humana. Esta ideia est baseada no fato de o ouvido humano no ser to sensvel a determinados sons e frequncias, possibilitando a perda de alguns sons pouco perceptveis ao compactar uma msica, por exemplo. Uma compactao do tipo ogg ou mp3 utiliza-se destes recursos. Esta diferena no som s seria notada se a msica fosse reproduzida em um equipamento de alta qualidade. Portanto, para o dia a dia, voc estar ouvindo a mesma msica e economizando muito espao em disco.

44

Da mesma forma, podemos exemplificar a compactao com perdas, quando falamos de imagens do tipo jpg. Imagine que voc tem uma imagem com 60.000 tons de cor diferentes, mas alguns tons so muito prximos de outros, ento o compactador resume para 20.000 tons de cor e a imagem ter 1/3 do tamanho original e o nosso olho conseguir entender a imagem sem problemas e quase no perceber a diferena. Apesar das vantagens na taxa de compactao com perdas, este processo deve ser evitado em casos de compactao de textos ou programas que em caso de alterao, pode se tornar ilegvel ou, no caso de programas, pode no rodar no sistema. Da mesma forma no podemos ter perdas quando compactamos imagens ou msicas que sero utilizadas em processos posteriores de masterizao, mixagem ou impresso em alta definio.

Extenses de arquivos compactados

Os arquivos compactados possuem extenses que identificam o tipo de arquivo e, consequentemente, qual o programa necessrio para trabalhar com aquele tipo de arquivo. So dezenas de extenses que podem ser adicionadas ao nome do arquivo no momento da compactao. Por exemplo, se um arquivo compactado pelo programa GZIP, seu nome receber a extenso .gz. O mesmo processo acontece, s que de forma contraria, quando ocorre a descompactao. Neste caso, a extenso retirada do arquivo. Abaixo segue uma listagem de extenses mais usadas e os programas correspondentes:

.gz - Arquivo compactado pelo programa gzip. Use o mesmo programa gzip para descompactar o arquivo.

.bz2 - Arquivo compactado pelo programa bzip2. Da mesma forma, use o programa bzip2 para descompact-lo. .Z Extenso do arquivo compactado pelo programa compress. Use o programa uncompress para descompactar o arquivo. 45

.zip Extenso do arquivo compactado pelo programa zip. Use o programa unzip para descompact-lo.

.rar - Arquivo compactado pelo programa rar. Use o mesmo programa rar para descompact-lo.

.tar.gz - Arquivo compactado pelo programa gzip no utilitrio de arquivamento tar. Pode ser abreviada pelo termo .tgz. Para realizar a descompactao, poder usar o gzip e depois o tar ou somente o programa tar usando a opo -z.

.tar.bz2 - Arquivo compactado pelo programa bzip2 no utilitrio de arquivamento tar. Para descompact-lo, voc pode usar o bzip2 e depois o tar ou somente o programa tar usando a opo -j.

.tar.Z - Arquivo compactado pelo programa compress no utilitrio de arquivamento tar. Para descompact-lo, poder usar o uncompress e depois o tar ou somente o programa tar usando a opo -Z.

Extenso GZIP

Por ser utilizada pela maioria dos programadores, acabou por se tornar um compactador padro do GNU/Linux. Essa extenso possui tima taxa de compactao e velocidade. Deve ser digitado da seguinte forma: gzip (arquivo) (opes)

(arquivo) - Define quais arquivos sero compactados pelo gzip. Caso seja usado o sinal -, ser assumido a entrada padro. Voc poder compactar vrios arquivos de uma vez, utilizando a ferramenta Curingas, como vimos anteriormente.

(opes)

46

-d, --decompress [arquivo] - Descompacta um arquivo. -f - Fora a compactao, compactando at mesmo links. -l [arquivo] - Lista o contedo de um arquivo compactado pelo gzip. -r - Compacta diretrios e sub-diretrios. -c [arquivo] - Descompacta o arquivo para a sada padro. -t [arquivo] - Testa o arquivo compactado pelo gzip. -[num], --fast, --best - Ajustam a taxa de compactao/velocidade da compactao. Quanto melhor for a taxa de compactao, menor ser a velocidade e vice versa. A opo --fast permite uma compactao rpida e tamanho do arquivo maior. A opo --best permite uma melhor compactao e uma velocidade menor. J o uso da opo -[nmero] permite especificar a forma de compactao, atravs dos nmeros 1 (menor compactao) a 9 (melhor compactao). Muito bom para equilibrar taxa de compactao e velocidade, principalmente em computadores menos potentes.

Exemplos: gzip -9 texto.txt - Compacta o arquivo texto.txt usando a compactao mxima (compare o tamanho do arquivo compactado usando o comando ls -la). gzip -d texto.txt.gz - Descompacta o arquivo texto.txt. gzip -c texto.txt.gz - Descompacta o arquivo texto.txt para a tela. gzip -9 *.txt - Compacta todos os arquivos que terminam com .txt. gzip -t texto.txt.gz - Verifica o arquivo texto.txt.gz.

A extenso gzip o preferido dos programadores porque tambm reconhece arquivos compactados por outros programas, como zip, compress, compress -H e pack.

Extenso ZIP

Essa extenso compatvel com o pkzip (do DOS) e trabalha com arquivos de extenso .zip. Ao comparar com o gzip, ver que essa extenso apresenta uma tima taxa de compactao e velocidade no processamento dos arquivos compactados. Deve ser digitado da seguinte forma: zip [opes] [arquivo-destino] [arquivos-origem] 47

(arquivo-destino) - Nome do arquivo compactado que ser gerado. (arquivos-origem) Arquivos ou Diretrios que sero compactados. (opes)

-r - Compacta arquivos e sub-diretrios. -e - Permite encriptar o contedo de um arquivo .zip atravs de senha. A senha ser pedida no momento da compactao. -f - Substitui um arquivo compactado existente dentro do arquivo .zip somente se a verso for mais nova que a atual. No acrescenta arquivos ao arquivo compactado. Deve ser executado no mesmo diretrio onde o programa .zip foi executado anteriormente. -F - Repara um arquivo .zip que foi danificado. -[NUM] - Ajusta a qualidade/velocidade da compactao. Da mesma forma que o gzip, pode ser especificado um nmero de 1 a 9, onde o nmero 1 representa mnima compactao e mxima velocidade e o nmero 9 representa uma melhor compactao e menor velocidade. -i [arquivos] - Compacta somente os [arquivos] especificados. -j - Se especificado, no armazena caminhos de diretrios. -m - Apaga os arquivos originais aps a compactao. -T [arquivo] - Procura por erros em um arquivo .zip. Caso sejam detectados problemas, utilize a opo -F para corrigi-los. -y - Armazena links simblicos no arquivo .zip. Por padro, os links simblicos so ignorados durante a compactao. -k [arquivo] - Modifica o [arquivo] para ter compatibilidade total com o pkzip do DOS. -l - Converte saltos de linha UNIX (LF) para o formato CR+LF (usados pelo DOS). Use esta opo com arquivos Texto. -ll - Converte saltos de linha DOS (CR+LF) para o formato UNIX (LF). Use esta opo com arquivos texto. -n [extenso] - No compacta arquivos identificados por [extenso]. armazenado sem compactao no arquivo .zip. Muito til para uso com arquivos j compactados. Caso sejam especificadas diversas extenses de arquivos, elas devem ser separadas por : -. Por exemplo, zip -n .zip:.tgz arquivo.zip *.txt. 48

-q - No mostra mensagens durante a compactao do arquivo. -u Atualiza ou adiciona arquivos ao arquivo .zip. -X - No armazena detalhes de permisses, UID, GID e datas dos arquivos. -z - Permite incluir um comentrio no arquivo .zip. Caso o nome de arquivo de destino no termine com .zip, esta extenso ser automaticamente adicionada. Para a descompactao de arquivos .zip no GNU/Linux, necessrio o uso do utilitrio unzip.

Exemplos: zip textos.zip *.txt - Compacta todos os arquivos com a extenso .txt para o arquivo textos.zip (compare o tamanho do arquivo compactado digitando ls -la). zip -r textos.zip /usr/*.txt - Compacta todos os arquivos com a extenso .txt do diretrio /usr e sub-diretrios para o arquivo textos.zip. zip -9 textos.zip * - Compacta todos os arquivos do diretrio atual usando a compactao mxima para o arquivo textos.zip. zip -T textos.zip - Verifica se o arquivo textos.zip contm erros.

Extenso UNZIP

Essa extenso utilizada para descompactar arquivos compactados pela extenso .zip. Da mesma forma que a extenso .zip, este programa tambm compatvel com arquivos compactados pelo pkzip do DOS. Deve ser digitado da seguinte forma: unzip [opes] [arquivo.zip] [arquivos-extrair] [d diretrio] (arquivo.zip) o arquivo que deseja descompactar. Podem ser usados curingas para especificar mais de um arquivo para ser descompactado de uma vez. (arquivos-extrair) - Nome dos arquivos, sempre separados por espao, que sero descompactados do arquivo .zip. Caso no haja especificao desses arquivos, o programa vai assumir o smbolo *, no qual vai realizar a descompactao de todos os arquivos. (-d diretrio) - Diretrio escolhido para que os arquivos sejam descompactados. Caso no for especificado, os arquivos sero descompactados no diretrio atual. (opes) 49

-c - Descompacta os arquivos para stdout (sada padro) ao invs de criar arquivos. Os nomes dos arquivos tambm so mostrados. -p Neste caso, descompacta os arquivos para stdout (sada padro) ao invs de criar arquivos. Porm, os nomes dos arquivos no so mostrados. -f - Descompacta somente arquivos que existam no disco e, mais novos que os atuais. -l - Lista os arquivos existentes dentro do arquivo .zip. -M - Efetua uma pausa a cada tela de dados durante o processamento (a mesma funo do comando more). -n - Nunca substitui arquivos j existentes. Se um arquivo existe ele pulado. -o - Substitui arquivos existentes sem perguntar. Tem a funo contrria a opo -n. -P [SENHA] - Permite descompactar arquivos .zip usando a [SENHA]. Ateno: Quando se usa a opo de senha, voc permite que qualquer usurio conectado em seu sistema possa ver a senha digitada na linha de comando. -q - No mostra mensagens. -t - Verifica o arquivo .zip em busca de erros. -u - Idntico a opo -f s que tambm cria arquivos que no existem no diretrio. -v - Mostra mais detalhes sobre o processamento do unzip. -z - Mostra somente o comentrio existente no arquivo. Por padro o unzip tambm descompacta sub-diretrios caso o arquivo .zip tenha sido gerado com zip -r.

Exemplos: unzip texto.zip - Descompacta o contedo do arquivo texto.zip no diretrio atual. unzip texto.zip carta.txt - Descompacta somente o arquivo carta.txt do arquivo texto.zip. unzip texto.zip -d /tmp/texto - Descompacta o contedo do arquivo texto.zip para o diretrio /tmp/texto. unzip -l texto.zip - Lista o contedo do arquivo texto.zip. unzip -t texto.zip - Verifica o arquivo texto.zip.

50

Extenso TAR

A extenso tar, foge dos padres de compactao por se tratar de um programa de arquivamento, ou seja, ele no um compactador, e sim um arquivador. Na verdade, esse programa junta vrios arquivos em um s. No entanto, nada impede que ele seja usado em conjunto com um compactar (como o gzip ou zip) para arquivar os arquivos j compactados. O tar tambm pode ser usado para cpias de arquivos especiais ou dispositivos do sistema. comum encontrar arquivos com a extenso .tar, .tar.gz, .tgz, .tar.bz2, .tar.Z, .tgZ, o primeiro um arquivo normal gerado pelo tar e todos os outros so arquivos gerados atravs do tar junto com um programa de compactao gzip (.gz), bzip2 (.bz2) e compress (.Z). Deve ser digitado da seguinte forma: tar [opes] [arquivo-destino] [arquivos-origem]

(arquivo-destino) - o nome do arquivo de destino. Normalmente especificado com a extenso .tar em casos em que ocorra apenas o arquivamento. Se houver compactao tambm, a exteno muda para .tar.gz/.tgz ou outras. (arquivos-origem) - Especifica quais arquivos/diretrios sero arquivados/compactados.

(opes) -c, --create - Cria um novo arquivo .tar. -t, --list - Lista o contedo de um arquivo .tar. -u, --update - Atualiza arquivos compactados no arquivo .tar. -f, --file [HOST:]F - Usa o arquivo especificado para gravao ou o dispositivo /dev/rmt0. -j, --bzip2 - Usa o programa bzip2 para processar os arquivos do tar. -l, --one-file-system - No processa arquivos em um sistema de arquivos diferentes de onde o tar foi executado. -M, --multi-volume - Cria/lista/descompacta arquivos em mltiplos volumes. O uso de arquivos em mltiplos volumes permite que uma grande cpia de arquivos que no cabe em um disquete, por exemplo, seja feita em mais de um disquete. -o - Grava o arquivo no formato VT7 ao invs do ANSI. 51

-O, --to-stdout - Descompacta arquivos para a sada padro ao invs de gravar em um arquivo. --remove-files - Apaga os arquivos de origem aps serem processados pelo tar. -R, --record-number - Mostra o nmero de registros dentro de um arquivo tar em cada mensagem. --totals - Mostra o total de bytes gravados com a opo --create. -v - Mostra os nomes dos arquivos enquanto so processados. -V [NOME] - Inclui um [NOME] no arquivo tar. -W, --verify - Tenta verificar o arquivo gerado pelo tar aps grav-lo. X - Extrai arquivos gerados pelo tar. -X [ARQUIVO] - Tenta apagar o [ARQUIVO] dentro de um arquivo compactado .tar. -Z - Usa o programa compress durante o processamento dos arquivos. -z - Usa o programa gzip durante o processamento dos arquivos. --use-compress-program [PROGRAMA] - Usa o [PROGRAMA] durante o processamento dos arquivos. Ele deve aceitar a opo -d. -[0-7][lmh] - Especifica a unidade e sua densidade.

Observao importante:

A extenso precisa ser especificada no arquivo de destino para a identificao correta:

Caso seja usada a opo -j para compactao, a extenso dever ser .tar.bz2. Caso seja usada a opo -z para compactao, a extenso dever ser .tar.gz ou .tgz. Caso seja usada a opo -Z para a compactao, a extenso dever ser .tar.Z ou .tgZ.

Esta observao relevante, uma vez que saber qual compactador auxiliou o tar na compactao, ser necessrio no momento de descompactar este arquivo.

52

Exemplos: tar -cf index.txt.tar index.txt - Cria um arquivo chamado index.txt.tar que armazenar o arquivo index.txt. Voc pode notar digitando ls -la que o arquivo index.txt foi somente arquivado (sem compactao), isto til para juntar diversos arquivos em um s. tar -xf index.txt.tar - Desarquiva o arquivo index.txt criado pelo comando acima. tar -czf index.txt.tar.gz index.txt - O mesmo que o exemplo de arquivamento anterior, s que agora usado a opo -z (compactao atravs do programa gzip). Voc agora pode notar digitando ls -la que o arquivo index.txt foi compactado e depois arquivado no arquivo index.txt.tar.gz (voc tambm pode cham-lo de index.txt.tgz que tambm identifica um arquivo .tar compactado pelo gzip). tar -xzf index.txt.tar.gz - Descompacta e desarquiva o arquivo index.txt.tar.gz criado com o comando acima. gzip -dc index.tar.gz | tar -xf - - Faz o mesmo que o comando acima s que de uma forma diferente: Primeiro descompacta o arquivo index.txt.tar.gz e envia a sada do arquivo descompactado para o tar que desarquivar o arquivo index.txt. tar -cjf index.txt.tar.bz2 index.txt - Arquiva o arquivo index.txt em index.txt.tar.bz2 compactando atravs do bzip2 (opo -j). tar -xjf index.txt.tar.bz2 - Descompacta e desarquiva o arquivo index.txt.tar.bz2 criado com o comando acima. bzip2 -dc index.txt.tar.bz2 | tar -xf - - Faz o mesmo que o comando acima s que de uma forma diferente: Primeiro descompacta o arquivo index.txt.tar.bz2 e envia a sada do arquivo descompactado para o tar que desarquivar o arquivo index.txt. tar -t index.txt.tar - Lista o contedo de um arquivo .tar. tar -tz index.txt.tar.gz - Lista o contedo de um arquivo .tar.gz.

Extenso BZIP2

A extenso bzip2, surgiu a pouco tempo e vem sendo usada cada vez mais por conseguir atingir uma taxa de compactao em arquivos texto muito melhor que os demais compactadores disponveis no mercado. Por outro lado, sua velocidade de compactao tambm menor; quase duas vezes mais lento que o gzip. A extenso dos arquivos compactados pelo bzip2 a .bz2. Deve ser digitado da seguinte forma: bzip2 [opes] [arquivos] 53

(arquivos) - Especifica quais arquivos sero compactados pelo bzip2. Caso seja usado um sinal de -, ser assumido a entrada padro. Curingas podem ser usados para especificar vrios arquivos de uma s vez.

(Opes) -d, --decompress [arquivo] - Descompacta um arquivo. -f - Fora a compactao, compactando at mesmo links. -l [arquivo] - Lista o contedo de um arquivo compactado pelo bzip2. -r - Compacta diretrios e sub-diretrios. -c [arquivo] - Descompacta o arquivo para a sada padro. -t [arquivo] - Testa o arquivo compactado pelo bzip2. -[num], --fast, --best Da mesma forma que o gzip, ajustam a taxa de compactao/velocidade da compactao. Quanto melhor for a taxa de compactao, menor ser a velocidade e vice versa. A opo --fast permite uma compactao rpida e tamanho do arquivo maior. A opo --best permite uma melhor compactao e uma velocidade menor. J o uso da opo -[nmero] permite especificar a forma de compactao, atravs dos nmeros 1 (menor compactao) a 9 (melhor compactao). Muito bom para equilibrar taxa de compactao e velocidade, principalmente em computadores menos potentes.

Exemplos: bzip2 -9 texto.txt - Compacta o arquivo texto.txt usando a compactao mxima (compare o tamanho do arquivo compactado usando o comando ls -la). bzip2 -d texto.txt.bz2 - Descompacta o arquivo texto.txt. bzip2 -c texto.txt.bz2 - Descompacta o arquivo texto.txt para a sada padro (tela). bzip2 -9 *.txt - Compacta todos os arquivos que terminam com .txt. bzip2 -t texto.txt.bz2 - Verifica o arquivo texto.txt.bz2.

54

Extenso RAR

O rar um compactador que possui verses tanto para GNU/Linux, quanto para DOS, Windows, OS/2 e Macintosh. Apesar de ser vendido comercialmente, possvel encontrar verses Shareware (uso limitado), podendo ser muito til em algumas situaes. Deve ser digitado da seguinte forma: rar [aes] [opes] [arquivo-destino.rar] [arquivos-origem]

(arquivo-destino.rar) - o nome do arquivo de destino.

(arquivos-origem) - Arquivos que sero compactados. Podem ser usados curingas para especificar mais de um arquivo.

(aes) a - Compacta arquivos. x - Descompacta arquivos. d - Apaga arquivos especificados. t - Verifica o arquivo compactado em busca de erros. c - Inclui comentrio no arquivo compactado. r - Repara um arquivo .rar danificado. l - Lista arquivos armazenados no arquivo compactado. u - Atualiza arquivos existentes no arquivo compactado. m - Compacta e apaga os arquivos de origem (move). e - Descompacta arquivos para o diretrio atual. p - Mostra o contedo do arquivo na sada padro. rr - Adiciona um registro de verificao no arquivo. s - Converte um arquivo .rar normal em arquivo auto-extrctil. Arquivos auto-extrcteis so teis para enviar arquivos a pessoas que no tem o programa rar. Basta executar o arquivo e ele ser automaticamente descompactado (usando o sistema operacional que foi criado). Note que esta opo requer que o arquivo default.sfx esteja presente no diretrio home do usurio. Use o comando find para localiz-lo em seu sistema. 55

(opes) o+ - Substitui arquivos j existentes sem perguntar. o- - No substitui arquivos existentes. sfx - Cria arquivos auto-extrcteis. y - Assume sim para todas as perguntas. r - Inclui sub-diretrios no arquivo compactado. x [ARQUIVO] - Processa tudo menos o [ARQUIVO]. Pode ser usado curingas. v [TAMANHO] - Cria arquivos com um limite de tamanho. Por padro, o tamanho especificado em bytes, mas o nmero pode ser seguido de k (kilobytes) ou m (megabytes). Exemplo: rar a -v1440k ... ou rar a -v10m. p [SENHA] - Inclui senha no arquivo. m [0-5] - Ajusta a taxa de compactao/velocidade de compactao. O valor 0 no faz compactao alguma, tornando o processo mais rpido. Neste caso, somente armazena os arquivos. J o valor 5 o nvel que usa mais compactao e torna o processo mais lento. ed - No inclui diretrios vazios no arquivo. isnd - Ativa emisso de sons de alerta pelo programa. ierr - Envia mensagens de erro para stderr. inul - Desativa todas as mensagens. ow - Salva o dono e grupo dos arquivos. ol - Salva links simblicos no arquivo ao invs do arquivo fsico que o link faz referncia. mm[f] - Usa um mtodo especial de compactao para arquivos multimdia (sons, vdeos, etc). Caso for usado mmf, fora o uso do mtodo multimdia mesmo que o arquivo compactado no seja deste tipo.

Exemplos: rar a texto.rar texto.txt - Compacta o arquivo texto.txt em um arquivo com o nome texto.rar. rar x texto.rar - Descompacta o arquivo texto.rar. rar a -m5 -v1400k textos.rar * - Compacta todos os arquivos do diretrio atual, usando a compactao mxima no arquivo textos.rar. Note que o tamanho mximo de cada arquivo 1440 para ser possvel grav-lo em partes, para disquetes. 56

rar x -v -y textos.rar - Restaura os arquivos em mltiplos volumes criados com o processo anterior. Todos os arquivos devem ter sido copiados dos disquetes para o diretrio atual antes de prosseguir. A opo -y til para no precisarmos responder yes a toda pergunta que o rar fizer. rar t textos.rar - Verifica se o arquivo textos.rar possui erros. rar r textos.rar - Repara um arquivo .rar danificado.

Encerramento
Caro amigo,

Chegamos ao fim de nosso curso com a certeza de que conseguimos transmitir uma boa noo sobre os conceitos e tcnicas para se trabalhar com Linux.

Nossa torcida para que este curso lhe ajude a desenvolver trabalhos usando esta ferramenta que vem crescendo e se desenvolvendo a cada dia e, quem sabe, seja o incio de uma grande carreira de programador.

Boa Sorte e Sucesso!

57

Você também pode gostar