Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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
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.
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.
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.
- 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).
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.
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.
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
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.
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.
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
20
Informe o IP do servidor DNS. Poder utilizar o do prprio Sistema, uma vez que ser usado novamente no futuro para resolues DNS.
21
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
23
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.
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.
27
28
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.
30
Selecione OK.
Selecione OK. 31
32
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.
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
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
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.
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:
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).
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.
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.
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:
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
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.
reiserfs - Para parties reiserfs. vfat ntfs - Para parties Windows Fat. - Para parties Windows NTFS.
Exemplos:
11
-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:
ou
12
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:
- 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.
14
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.
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
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
..
16
As opes mais usadas so: -p - Cria um diretrio mesmo que o diretrio pai no exista. Nesse caso cria tambm o
diretrio pai.
Exemplos:
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:
17
Comando cat
O comando cat concatena e exibe o contedo dos arquivos. Com o comando cat voc tambm pode criar arquivos simples. Alguns parmetros:
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.
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.
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.
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
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:
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.
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.
O comando clear usado para limpar a tela. Voc ainda pode usar as teclas de atalho Ctrl+l para esse servio.
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:
Exemplo: flaviocapeletti@Tux:# df -h
Sist. Arq.
Tam
Usad
Disp
Uso%
Montado em
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:
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.
8,2M
meuarquivo.tgz
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.
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 nl, utilizado para numerar as linhas de um arquivo. Este comando considera condies especiais para o cabealho e o rodap do arquivo.
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.
-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:
28
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
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
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.
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
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.
-l
-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
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:
- 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.
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.
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:
32
Comando which
O comando which recebe como argumento o nome de um comando e traz como resultado a localizao no disco deste comando.
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.
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.
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
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:
34
Operaes:
Simbolo + =
Descrio Adiciona uma permisso, sem alterar as demais Subtrai uma permisso, sem alterar as demais Configura as permisses com exatido
Permisses:
Descrio
Configura o bit de execuo para outras classes para arquivos que j possuem o bit (X) SUID ou SGID Sticky
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 -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.
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.
37
- 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:
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".
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.
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
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
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.
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:
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]
(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.
57