Linux Modulo i

Embed Size (px)

Citation preview

  • 7/31/2019 Linux Modulo i

    1/45

    CURSO DE LINUX BSICO: Mdulo I

    1

    Mdulo I

  • 7/31/2019 Linux Modulo i

    2/45

    CURSO DE LINUX BSICO: Mdulo I

    2

    Universidade Federal de Viosa

    Nilda de Ftima Ferreira Soares - Reitora

    Demtrius David da Silva - Vice-Reitor

    CEAD - Coodenadoria de Educao Aberta e a Distncia

    Frederico Vieira Passos - Diretor

    VAREJO-JR, C.G; COSTA,M.H. - Curso de Linux - Mdulo I. Viosa, 2010.

    Layout: Jos Timteo Jnior

    Edio de imagens e capa: Diogo Rodrigues

    Editorao Eletrnica: Diogo Rodrigues e Hamilton Henrique Teixeira Reis

    Reviso Final: Joo Batista Mota

    CEAD - Prdio CEE, Avenida PH Rolfs s/nCampus Universitrio, 36570-000, Viosa/MGTelefone: (31) 3899 2858 | Fax: (31) 3899 3352

  • 7/31/2019 Linux Modulo i

    3/45

    CURSO DE LINUX BSICO: Mdulo I

    3

    SumrioApreSentAo do CurSo.................................................................................................................41. introduo...............................................................................................................6

    1.1 - SiStemA operACionAl.....................................................................................................6

    1.2 - o linux..........................................................................................................................61.3 - diStribuieS do linux.................................................................................................101.4 - SoftwAre livre............................................................................................................13

    2.AlgunS ConCeitoS bSiCoS........................................................................................................142.1 HArdwAree SoftwAre.......................................................................................................142.2 terminAl virtuAl (ConSole)................................................................................................142.3 AviSodeComAndo(prompt)................................................................................................142.4 interpretAdordeComAndoS...............................................................................................152.5 login.................................................................................................................................162.6 logout..............................................................................................................................162.7 ComAndoS..........................................................................................................................162.8 Arquivo.............................................................................................................................172.9 diretrio...........................................................................................................................182.10 nomeAndo ArquivoSe diretrioS....................................................................................262.11 CuringAS..........................................................................................................................262.12 nomeSdediSpoSitivoS......................................................................................................272.13 liStAndoAS plACAS e outroS HArdwAreS em um ComputAdor.........................................28

    3.ComAndoS pArA mAnipulAo de ArquivoS.............................................................................293.1CAt.....................................................................................................................................293.2tAC.....................................................................................................................................293.3 rm......................................................................................................................................303.4 Cp......................................................................................................................................313.5mv......................................................................................................................................32

    4.exeCuode progrAmAS.............................................................................................................334.1 exeCutAndo um ComAndo/progrAmA...................................................................................33

    4.2 pAtH...................................................................................................................................334.3 tipoSdeexeCuodeComAndoS/progrAmAS........................................................................344.4 exeCutAndo progrAmAS emSequnCiA.................................................................................344.5 pS......................................................................................................................................344.6 top....................................................................................................................................354.7 ControledA exeCuodeproCeSSoS.................................................................................364.8 noHup...............................................................................................................................394.9 niCe e reniCe...................................................................................................................394.10 fuSer...............................................................................................................................404.11 tloAd...............................................................................................................................414.12 vmStAt.............................................................................................................................414.13 pidof...............................................................................................................................42

    4.14pStree

    .............................................................................................................................434.15 feCHAndoumprogrAmAquAndonoSeSAbeComoSAir....................................................444.16 eliminAndoCArACtereSeStrAnHoS....................................................................................45

  • 7/31/2019 Linux Modulo i

    4/45

    CURSO DE LINUX BSICO: Mdulo I

    4

    MDULO I

    Apresentao do Curso

    Material ampliado e adaptado do Guia Foca Linux

    O material deste curso est organizado em mdulos, para que possaser disponibilizado na web medida que o curso se desenvolver. Cada m-

    dulo corresponde a uma aula, e vem acompanhado de alguns exerccios,para que o estudante possa revisar o contedo abordado na respectivaaula.

    Apesar de haver um professor ou monitor disponvel (atravs de e-mailou frum) para tirar as dvidas dos alunos, imprescindvel que o alunose esforce para tirar suas dvidas na internet, atravs dos sites de buscae fruns disponveis na web. Isso faz parte do aprendizado e importantepara a independncia do prossional de Linux. Visitas ao Google e a listasde discusso fazem parte da vida de um administrador de sistemas Linux se voc est quebrando a cabea com algum problema no seu Linux,provavelmente algum j passou pelo mesmo problema e a soluo est

    disponvel na Internet. Alm do mais, o linux bem documentado e existemmuitos tutoriais e HOW TOs disponveis para quase tudo que se desejafazer nele. Portanto, a primeira lio deste curso : Google is your friend!(a propsito, buscas em ingls so na maioria das vezes mais ecientes).

    Em vista dessas buscas por informao na Internet, o estudante e fu-turo administrador de sistemas linux dever ler constantemente grandesquantidades de informao. muito importante que o estudante no tenhapreguia de ler, pois, anal, esse o nico jeito de se encontrar o que seest procurando, estudar e ento praticar no seu linux. Alm do mais, comas leituras durante a busca de uma soluo para um problema, acaba-seaprendendo muito sobre assuntos relacionados, o que contribui bastantepara a evoluo do estudante e do prossional linux.

    Em caso de dvidas, entre em contato com o professor/monitor do cur-so ou troque ideias com os outros alunos atravs do nosso frum de discus-so. Lembre-se que ensinar uma tima maneira de xar o aprendizado,e os fruns da Internet so excelentes lugares para aprender, ensinar e semanter atualizado.

    Dicas para um bom comeo:

    Recomendo que faa a leitura deste guia e pratique imediatamenteo que aprendeu. Isso facilita o entendimento do programa/comando/congurao.

    preciso ter interesse em aprender. Se voc tiver vontade emaprender algo, voc ter menos diculdade do que em algo que nogosta e est se obrigando a aprender.

    Decorar no adianta: pelo contrrio, s atrapalha o aprendizado.Voc precisa entender o que o comando faz, pois dessa forma esta-r tambm usando e desenvolvendo sua interpretao, e entender

  • 7/31/2019 Linux Modulo i

    5/45

    CURSO DE LINUX BSICO: Mdulo I

    5

    melhor o assunto (talvez at me d uma fora para melhorar o guia). Curiosidade tambm importante. No desanime vendo outras pessoas que sabem mais que voc,

    lembre-se que ningum nasce sabendo. Uma pessoa pode ter maisexperincia em um assunto do sistema, como compilao de pro-gramas, congurao, etc., e voc pode ter mais interesse em re-des, por exemplo.

    Ningum pode saber tudo da noite para o dia. No procure sabertudo sobre o sistema de uma s vez, seno voc no entendernada. Caso tenha dvidas sobre o sistema, procure ler novamentea seo do guia. Se mesmo assim no tenha entendido, procureajuda nas pginas de manual.

    Certamente voc buscar documentos na Internet que falem sobrealgum assunto que este guia ainda no explica. Muito cuidado! OLinux um sistema que cresce muito rapidamente: a cada semanauma nova verso lanada, novos recursos so adicionados... se-ria maravilhoso se a documentao fosse atualizada com a mesmafrequncia.

    Infelizmente a atualizao da documentao no segue o mesmoritmo (principalmente aqui no Brasil). comum voc encontrar naInternet documentos da poca quando o kernel (o ncleo ou a basede um sistema operacional) estava na verso 2.0.20, 2.0.30. Elesso teis para pessoas que usem as verses antigas do Kernel Li-nux, mas podem trazer problemas ou causar m impresso do Li-nux em outras pessoas. Para evitar tais problemas, verique a datade atualizao do documento.

    O Linux considerado um sistema mais difcil do que os outros,mas isso porque ele requer que a pessoa realmente aprenda e co-nhea computadores e seus perifricos antes de fazer qualquer coi-

    sa (principalmente se voc um tcnico em manuteno, redes ouinstalaes e deseja oferecer suporte prossional a esse sistema). Voc conhecer mais sobre computadores, redes, hardware, sof-

    tware, discos, saber avaliar os problemas e a buscar a melhor so-luo. Enm, as possibilidades de crescimento neste sistema ope-racional dependem do conhecimento, interesse e capacidade decada um.

    A interface grca existe, mas os melhores recursos e exibilidadeesto na linha de comando. Voc pode ter certeza que o aprendi-zado no Linux ajudar a ter sucesso e menos diculdade em usarqualquer outro sistema operacional.

    Pea ajuda a outros usurios do Linux quando estiver em dvidaou no souber fazer alguma coisa no sistema. Voc pode entrar emcontato com outros usurios atravs de listas de discusso.

    Boa Sorte e bem vindo ao Linux!

  • 7/31/2019 Linux Modulo i

    6/45

    CURSO DE LINUX BSICO: Mdulo I

    6

    1 Introduo

    1.1 Sistema Operacional

    O Sistema Operacional um programa (software) ou um conjunto deprogramas cuja funo servir de interface entre computador e usurio. comum utilizar a abreviatura SO (em portugus) ou OS (do ingls Opera-tingSystem).

    Segundo Tanenbaum e Silberschatz, existem dois modos distintos deconceituar um sistema operacional: (i) pela perspectiva do usurio (visotop-down), uma abstrao do hardware, fazendo o papel de intermedi-rio entre o aplicativo (programa) e os componentes fsicos do computador(hardware); (ii) numa viso bottom-up, de baixo para cima, um geren-ciador de recursos, ou seja, controla quais aplicaes (processos) podemser executadas, quando, que recursos (memria, disco, perifricos) podemser utilizados.

    Portanto, se no existissem os sistemas operacionais, todo programadesenvolvido deveria saber como comunicar-se com os dispositivos docomputador que precisasse utilizar.

    No Linux, o Kernel mais o conjunto de ferramentas GNU compem oSistema Operacional, por isso podemos cham-lo de GNU/Linux. O kernelpoder ser construdo de acordo com a congurao do seu computador edos perifricos que ele possui.

    1.2 O Linux

    O termo Linuxrefere-se a qualquer sistema operacional do tipo Unixque utiliza o ncleo Linux. um dos mais proeminentes exemplos de de-senvolvimento com cdigo aberto e de software livre. O seu cdigo fonteest disponvel sob GPL (GNU General Public License (Licena PblicaGeral)) para qualquer pessoa utilizar, estudar, modicar e distribuir livre-mente.

    GNU/Linux refere-se a qualquer sistema operacional do tipo Unix queutiliza o ncleo Linux e tambm os programas de sistema GNU. Como oscasos de sistemas de ncleo Linux sem os programas de sistema GNU soraros, frequentemente GNU/Linux e Linux so sinnimos.

    Inicialmente desenvolvido e utilizado por nichos de entusiastas emcomputadores pessoais, o sistema Linux passou a ter a colaborao degrandes empresas, como a IBM, a Sun Microsystems, a Hewlett-Packard,e a Novell, ascendendo como principal sistema operacional para servidores oito dos dez servios de hospedagem mais conveis da Internet utilizamo sistema Linux em seus servidores web.

    O Linux tornou-se o sistema capaz de funcionar no maior nmero dearquiteturas computacionais disponveis. utilizado em aparelhos variandodesde supercomputadores at celulares, e vem se tornando bastante po-pular no mercado de computadores pessoais.

    O Linux , geralmente, considerado o Ncleo (ou cerne, corao,

    Este captulo traz uma explicao bsica sobre o siste-ma operacional Linux e algumas das principais distribui-

    es existentesAteno

  • 7/31/2019 Linux Modulo i

    7/45

    CURSO DE LINUX BSICO: Mdulo I

    7

    do ingls kernel) do sistema operacional. Entretanto, segundo Tanenbaume Schilberschatz, ele pode ser considerado o prprio SO, quando este denido como gerenciador de recursos de hardware. Nos meios de comu-nicao, Linux refere-se ao sistema completo, incluindo o ncleo Linux eoutros programas de sistema.

    Sistemas completos construdos em torno do kernel Linux majoritaria-mente utilizam o sistema GNU, que oferece um interpretador de comandos,

    utilitrios, bibliotecas e compiladores. Richard M. Stallman, criador e lderdo projeto GNU, solicita aos utilizadores que se reram aos sistemas base-ados no Linux como o sistema completo GNU/Linux.

    A maioria dos sistemas tambm inclui ferramentas e utilitrios base-ados no BSD (Berkeley Software Distribution um Sistema OperacionalUNIX desenvolvido pela Universidade de Berkeley, na Califrnia) e tipica-mente usam XFree86 ou X.org para oferecer a funcionalidade dos sistemasde janelas X - interface grca.

    O Linux hoje funciona em dezenas de plataformas, desde mainframesat um relgio de pulso, passando por vrias arquiteturas: x86 (Intel, AMD),x86-64 (Intel EM64T, AMD64), StrongARM, PowerPC, Alpha etc., comgrande penetrao tambm em sistema embutidos, como handheld, PVR,vdeo-jogos e centros multimdia, entre outros.

    1.2.1 Histria do Linux

    O Kernel do Linux foi, originalmente, escrito por Linus Torvalds, do De-partamento de Cincia da Computao da Universidade de Helsinki, Fin-lndia, com a ajuda de vrios programadores voluntrios ligados pela Use-net.

    Linus Torvalds comeou o desenvolvimento do kernel como um projetoparticular, inspirado pelo seu interesse no Minix, um pequeno sistema UNIXdesenvolvido por Andrew S. Tanenbaum. Ele limitou-se a criar, nas suas

    prprias palavras, um Minix melhor que o Minix (a better Minix than Mi-nix). E depois de algum tempo de trabalho no projeto, sozinho, ele envioua seguinte mensagem para comp.os.minix:

    Voc suspira pelos bons tempos do Minix-1.1, quando os homenseram homens e escreviam seus prprios device drivers? Voc estsem um bom projeto em mos e est desejando trabalhar num S.O.que voc possa modifcar de acordo com as suas necessidades?

    Est achando frustrante quando tudo funciona no Minix? Chega denoite ao computador para conseguir que os programas funcionem?Ento esta mensagem pode ser exatamente para voc.

    Como eu mencionei h um ms atrs, estou trabalhando numa

    verso independente de um S.O. similar ao Minix para computadoresAT-386. Ele est, fnalmente, prximo do estado em que poder serutilizado (embora possa no ser o que voc est esperando), e euestou disposto a disponibilizar o cdigo-fonte para ampla distribuio.Ele est na verso 0.02... contudo eu tive sucesso ao executar bash,gcc, gnu-make, gnu-sed, compresso e outras coisas nele.

    No dia 5 de outubro de 1991, Linus Torvalds anunciou a primeira versoocial do Linux, (0.02). Desde ento, muitos programadores tm respon-dido ao seu chamado, e tm ajudado a fazer do Linux o sistema operacio-nal que hoje.

    1.2.2 Algumas Caractersticas do Linux

    livre e desenvolvido voluntariamente por programadores expe-rientes, hackers e colaboradores espalhados ao redor do mundo,que tm como objetivo a contribuio para a melhoria e crescimen-

  • 7/31/2019 Linux Modulo i

    8/45

    CURSO DE LINUX BSICO: Mdulo I

    8

    to desse sistema operacional. Muitos deles estavam cansados doexcesso de propaganda e baixa qualidade de sistemas comerciaisexistentes.

    Convivem sem nenhum tipo de conito com outros sistemas opera-cionais (com o DOS, Windows, OS/2) no mesmo computador.

    Multitarefa real (capaz de executar vrias tarefas ao mesmo tempo) Multiusurio (suporta mais de um usurio ao mesmo tempo)

    Suporte a nomes extensos de arquivos e diretrios (255 caracteres). Conectividade com outros tipos de plataformas como Apple, Sun,Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows e DOS.

    Proteo entre processos executados na memria RAM. Suporte a mais de 63 terminais virtuais (consoles). Modularizao - O GNU/Linux somente carrega para a memria o

    que usado durante o processamento, liberando totalmente a me-mria assim que o programa/dispositivo nalizado.

    Devido modularizao, os drivers dos perifricos e recursos dosistema podem ser carregados e removidos completamente damemria RAM a qualquer momento. Os drivers (mdulos) ocupam

    pouco espao quando carregados na memria RAM (cerca de 6Kbpara a Placa de rede NE 2000, por exemplo). No h a necessidade de se reiniciar o sistema aps modicar a

    congurao de qualquer perifrico ou parmetros de rede. Somen-te necessrio reiniciar o sistema no caso de uma instalao in-terna de um novo perifrico, ou falha em algum hardware (como aqueima do processador ou placa me).

    No preciso um processador potente para funcionar. O sistemaroda bem em computadores 386Sx 25 com 4MB de memria RAM(sem rodar o sistema grco X, que recomendado 8MB de RAM).J pensou no seu desempenho em um AM2 ou um Core 2 Duo?

    O crescimento e novas verses do sistema no provocam lentido,pelo contrrio, a cada nova verso os desenvolvedores procurambuscar maior compatibilidade, acrescentar recursos teis e melho-rar o desempenho do sistema (como o que aconteceu na passagemdo kernel 2.0.x para 2.2.x).

    No requerida uma licena para seu uso. O GNU/Linux licencia-do de acordo com os termos da GPL.

    Acessa corretamente discos formatados pelo DOS, Windows, No-vell, OS/2, NTFS, SunOS, Amiga, Atari, Mac etc.

    Utiliza permisses de acesso a arquivos, diretrios e programas emexecuo na memria RAM.

    O LINUX NO VULNERVEL A VRUS! Devido separao de

    privilgios entre processos e respeitadas as recomendaes padrode poltica de segurana e uso de contas privilegiadas (como a deroot, como veremos adiante), programas como vrus tornam-se in-teis, pois tem sua ao limitada pelas restries de acesso do siste-ma de arquivos e execuo. Frequentemente so criados exploitsque tentam se aproveitar de falhas existentes em sistemas desatu-alizados e us-las para danicar o sistema. Erroneamente esse tipode ataque classicado como vrus por pessoas mal informadas eso resolvidas com sistemas bem mantidos. Em geral, usando umaboa distribuio que tenha um bom sistema de atualizao resolveem 99.9% os problemas com exploits. Qualquer programa (nocivo

    ou no) poder alterar partes do sistema que possui permisses(ser abordado como alterar permisses e tornar seu sistema maisrestrito no decorrer do curso).

    A rede TCP/IP(TCP (Transmission Control Protocol) e IP (InternetProtocol). O TCP/IP um conjunto (ou pilha) de protocolos de co-

  • 7/31/2019 Linux Modulo i

    9/45

    CURSO DE LINUX BSICO: Mdulo I

    9

    municao entre computadores em rede. O conjunto de protocolospode ser visto como um modelo de camadas, onde cada camada responsvel por um grupo de tarefas, fornecendo um conjunto deservios bem denidos para o protocolo da camada superior. maisrpida que no Windows e tem suas pilhas constantemente melhora-das. O GNU/Linux tem suporte nativo a redes TCP/IP e no depen-de de uma camada intermediria, como o WinSock. Em acessos

    Internet via modem, a velocidade de transmisso 10% maior. Roda aplicaes DOS atravs do DOSEMU, QEMU, BOCHS. Parase ter uma idia, possvel dar o boot em um sistema DOS qualquerdentro dele e ao mesmo tempo usar a multitarefa deste sistema.

    Roda aplicaes Windows atravs do WINE. Suporte a dispositivos infravermelho. Suporte a rede via rdio amador. Suporte a dispositivos Plug-and-Play (dispositivos que so reconhe-

    cidos e congurados automaticamente pelo computador). Suporte a dispositivos USB. Suporte a Fireware (Tecnologia semelhante a do USB, porm com

    transferncia mais rpida dos dados). Dispositivos Wireless. Vrios tipos de rewalls (dispositivo de rede para aplicar poltica de

    segurana) de alta qualidade e com grande poder de segurana degraa.

    Possui recursos para atender a mais de um endereo IP na mesmaplaca de rede, sendo muito til para situaes de manuteno emservidores de redes ou para a emulao (simulao feita por umsoftware que reproduz as funes de um determinado ambiente, am de permitir a execuo de outros softwares sobre ele) de maiscomputadores virtualmente.

    Os servidores WEB e FTP podem estar localizados no mesmo com-putador, mas o usurio que se conecta tem a impresso que a redepossui servidores diferentes.

    O sistema de arquivos usado pelo GNU/Linux (Ext2) organiza osarquivos de forma inteligente, evitando a fragmentao e fazendodele um poderoso sistema para gravaes intensivas e aplicaesmulti-usurias exigentes.

    Permite a montagem de servidores Web, E-mail, News e outros comum baixo custo e alta performance. O melhor servidor Web do mer-cado, o Apache, distribudo gratuitamente junto com a maioria dasdistribuies Linux. O mesmo acontece com o Sendmail.

    Por ser um sistema operacional de cdigo aberto, voc pode ver o

    que o cdigo fonte (instrues digitadas pelo programador) faz eadapt-lo s suas necessidades ou de sua empresa. Essa carac-terstica uma segurana a mais para quem precisa se defendercontra roubo de dados (voc no sabe o que um sistema sem cdi-go fonte faz na realidade, enquanto est processando o programa).

    Suporte a diversos dispositivos e perifricos disponveis no merca-do, tanto os novos como obsoletos.

    Pode ser executado em vrias arquiteturas diferentes (Intel, Macin-tosh, Alpha e Arm por exemplo).

    Existem consultores tcnicos especializados no suporte ao sistemaespalhados por todo o mundo.

    Existem tambm muitas outras caractersticas, as quais voc descobri-r durante o uso do sistema.

  • 7/31/2019 Linux Modulo i

    10/45

    CURSO DE LINUX BSICO: Mdulo I

    10

    1.3 Distribuies do Linux

    S o kernel GNU/Linux no suciente para se ter uma sistema funcio-nal, apesar de ser o principal.

    Existem grupos de pessoas, empresas e organizaes que decidemdistribuir o Linux junto com outros programas essenciais (como, porexemplo, editores grcos, planilhas, bancos de dados, ambientes de pro-

    gramao, formatao de documentos e rewalls).Esse o signicado bsico de distribuio. Cada distribuio tem sua

    caracterstica prpria, como o sistema de instalao, o seu objetivo, a lo-calizao de programas, nomes de arquivos de congurao. A escolha deuma distribuio pessoal e depende das necessidades de cada um.

    Algumas distribuies muito conhecidas so: Slackware, Debian, RedHat, Mandriva, Suse, Ubuntu, Gentoo, todas usando o SO Linux como ker-nel principal (a Debian uma distribuio independente de kernel e podeser executada sob outros kernels, como o GNU hurd).

    A escolha de sua distribuio deve ser feita com muita ateno. Noadianta muito recorrer a chats e fruns sobre qual a melhor distribuio,

    muito menos ser levado pelas propagandas ou pelo vizinho. O melhor ca-minho para a escolha da distribuio perguntar as caractersticas de cadauma e o porqu dessa pessoa gostar dela. No pergunte qual a melhorverso, pois cada um usa uma distribuio que se encaixa de acordo comsuas necessidades, portanto, essa mesma distribuio pode no ser a me-lhor para lhe atender.

    Seguem abaixo as caractersticas de algumas distribuies, seguidasdo endereo do site principal:

    Debian

    (Saiba mais em http://www.debian.org/) Distribuio desenvolvida e atu-

    alizada atravs do esforo de voluntrios espalhados ao redor do mundo,seguindo o estilo de desenvolvimento GNU/Linux. Por esse motivo, foi ado-tada como a distribuio ocial do projeto GNU. Possui suporte para lnguaPortuguesa, tem suporte a dez arquiteturas diferentes (como i386, Alpha,Sparc, PowerPc, Macintosh, Arm) e aproximadamente 15 sub-arquiteturas.A instalao da distribuio pode ser feita tanto atravs de Disquetes, CD-ROM, Tftp, Ftp, NFS ou atravs da combinao de vrios destes em cadaetapa de instalao.

    Possui tanto ferramentas para administrao de redes e servidoresquanto para desktops, estaes multimdia, jogos, desenvolvimento e web.

    A atualizao da distribuio ou de pacotes individuais pode ser feitafacilmente atravs de dois comandos, no requerendo adquirir um novoCD para usar a ltima verso da distribuio. a nica distribuio nocomercial onde todos podem contribuir com seu conhecimento para o seudesenvolvimento. Para gerenciar os voluntrios, conta com centenas delistas de discusso envolvendo determinados desenvolvedores das maisdiversas partes do mundo.

    Para atingir um alto grau de conabilidade, so feitos extensivos testesantes do lanamento de cada verso. Os erros encontradas nos pacotespodem ser relatados atravs de um sistema de tratamento de falhas, queencaminha a falha encontrada diretamente ao responsvel para avaliaoe correo. Qualquer um pode receber a lista de falhas ou sugestes sobrea distribuio: basta cadastrar-se numa das listas de discusso que tratam

    especicamente da soluo de falhas encontradas na distribuio (dispon-vel na pgina principal da distribuio).

    Os pacotes podem ser instalados atravs de Tarefas, contendo sele-es de pacotes de acordo com a utilizao do computador, (servidor Web,desenvolvimento, TeX, jogos, desktop etc.) ou atravs de uma seleo indi-

  • 7/31/2019 Linux Modulo i

    11/45

    CURSO DE LINUX BSICO: Mdulo I

    11

    vidual de pacotes, garantindo que somente os pacotes selecionados sejaminstalados.

    Existe um time de desenvolvedores com a tarefa especca de monito-rar atualizaes de segurana em servios (apache, sendmail, e todos osoutros pacotes) que possam comprometer o servidor, deixando-o vulne-rvel a ataques. Assim que uma falha descoberta, enviado uma alerta(DSA - Debian Security Alert) e disponibilizada uma atualizao para cor-

    reo das diversas verses da Debian. Isso geralmente feito em menosde 48 horas desde a descoberta da falha at a divulgao da correo.Como quase todas as falhas so descobertas em programas, esse mtodotambm pode ser usado por administradores de outras distribuies paramanterem seu sistema seguro e atualizado.

    O suporte ao usurio e o desenvolvimento da distribuio so feitosatravs de listas de discusses e canais IRC.

    Slackware

    (Saiba mais em http://www.slackware.com/) Distribuio desenvolvidapor Patrick Volkerding, a m de alcanar facilidade de uso e estabilidade

    como prioridades principais. Foi a primeira distribuio a ser lanada nomundo e costuma trazer o que h de mais novo enquanto mantm umacerta tradio, provendo simplicidade, facilidade de uso e, com isso, exi-bilidade e poder.

    Desde a primeira verso, lanada em Abril de 1993, o Projeto Slackwa-re Linux tem buscado produzir a distribuio Linux mais UNIX-like, ou seja,mais parecida com UNIX. O Slackware segue os padres Linux como oLinux File System Standard, que um padro de organizao de diretriose arquivos para as distribuies.

    Enquanto as pessoas diziam que a Red Hat era a melhor distribuiopara o usurio iniciante, o Slackware era o melhor para o usurio mais ve-

    lho, ou seja, programadores e administradores.SuSE

    (Saiba mais em http://www.suse.com/) Distribuio comercial Alemcom a coordenao sendo feita atravs dos processos administrativos dosdesenvolvedores e de seu brao norte-americano. O foco da Suse o usu-rio com conhecimento tcnico no Linux e no o usurio iniciante no Linux(at a verso 6.2).

    Sua instalao pode ser feita via CD-ROM ou DVD ( a primeira distri-buio com instalao atravs de DVD).

    O sistema de gerenciamento de pacotes o RPM padronizado. A sele-

    o de pacotes durante a instalao pode ser feita atravs da seleo doperl de mquina (developer, estao kde, grcos, estao gnome, servi-dor de rede, etc.) ou atravs da seleo individual de pacotes.

    A atualizao da distribuio pode ser feita atravs do CD-ROM de umanova verso ou baixando pacotes pela internet. Usurios registrados tmdireito a suporte de instalao via e-mail. A base de dados de suporte tam-bm excelente e est disponvel na web para qualquer usurio, indepen-dente de registro.

    Red Hat Enterprise Linux

    (Saiba mais em http://www.redhat.com/) Distribuio comercial supor-

    tada pela Red Hat e voltada a servidores de grandes e mdias empresas.Tambm conta com uma certicao chamada RHCE, especca desta dis-tro.

    Ela no est disponvel para download, apenas vendida a custos desde179 dlares (a verso workstation) at 1499 dlares (advanced server).

  • 7/31/2019 Linux Modulo i

    12/45

    CURSO DE LINUX BSICO: Mdulo I

    12

    Fedora

    (Saiba mais em http://fedora.redhat.com/) O Fedora Linux a distribui-o de desenvolvimento aberto patrocinada pela RedHat e pela comuni-dade. Criada em 2002, baseada na verso da antiga linha de produtosRedHat Linux, a distribuio mais utilizada do mundo. Ela no suportadapela Red Hat como distribuio ocial (a empresa suporta apenas a linha

    Red Hat Enterprise Linux), devendo obter suporte atravs da comunidadeou outros meios.

    A distribuio Fedora d prioridade ao uso do computador como esta-o de trabalho. Alm de contar com uma ampla gama de ferramentas deescritrio, possui funes de servidor e aplicativos para produtividade edesenvolvimento de softwares. Considerado um dos sistemas mais fceisde instalar e utilizar, inclui traduo para portugus do Brasil e suporte splataformas Intel e 64 bits.

    Por basear-se no RedHat, o Fedora conta com um o up2date (um sof-tware para manter o sistema atualizado) e utiliza pacotes de programas noformato RPM, um dos mais comuns. Por outro lado, no possui suporte a

    MP3, Video Players ou NTFS (Discos do Windows) em virtude de proble-mas legais, sendo necessrio o download de alguns plugins para a utiliza-o destas funes.

    O Fedora no distribudo ocialmente atravs de mdias ou CDs. Sevoc quiser obt-lo, ter de procurar distribuidores independentes ou fazero download dos quatro CDs pelo site ocial.

    Kurumin

    (Saiba mais em http://guiadohardware.net/kurumin/index.php/) Umadistribuio baseada em Debian que roda diretamente a partir do CD, sen-do ideal para quem deseja testar uma distribuio Linux. Caso goste, o

    usurio pode instal-la diretamente no disco rgido. Distribuda a partir doCD, de muito fcil utilizao e suporta uma boa quantidade de hardwaresdisponveis. A verso instalada possui, inclusive, suporte para a maioriados winmodens encontrados no Brasil.

    Mandriva

    O Mandriva uma das distribuies Linux mais fceis de usar, mais ro-bustas e antigas, apesar da popularidade e do uso serem baixos no Brasil.Aqui (no Brasil) as distros mais usadas so as baseadas em Debian, maspouca gente (nova) sabe que Conectiva e Mandrake j tiveram seu grandereinado. O antigo Mandrake foi uma das primeiras distribuies a usar um

    instalador grco e era, na poca, de muito fcil operao, quando a maio-ria dos usurios de Linux era de tcnicos e as distribuies, obviamente,voltadas para eles. Existia, na poca, a Conectiva, a primeira distribuionacional, com um suporte gigantesco aos usurios brasileiros e lder naAmrica Latina.

    Enm, no dia 24 de fevereiro de 2005, a MandrakeSoft anunciou a com-pra da Conectiva, por US$2,3 milhes. A partir da, a empresa passou a sechamar Mandriva.

    O Mandriva possui duas verses: o pacote comercial, composto peloDiscovery (iniciantes), Powerpack (para experientes) e Powerpack+ (pe-quenas e mdias empresas), todos eles pagos. J o Mandriva Free no

    contm aplicativos ou drivers proprietrios nem suporte ocial, porm temo download disponibilizado livremente.

  • 7/31/2019 Linux Modulo i

    13/45

    CURSO DE LINUX BSICO: Mdulo I

    13

    Gentoo Linux

    uma distribuio gratuita do sistema operacional GNU/Linux baseadana GNU General Public License. O diferencial do Gentoo Linux em relaos outras distribuies est no uso da ferramenta Portage, que d ao usu-rio a possibilidade de ter um sistema adaptado ao seu perl, pois cada pa-cote compilado durante a instalao, de forma automatizada, otimizadae com todas as dependncias resolvidas. Devido a essas caractersticas,

    o Gentoo Linux considerado uma meta-distribuio (Meta-distribuio um termo referente a uma distribuio de software adaptvel e capaz deconstruir a si mesmo, baseado nas especicaes dadas pelo usurio).

    Essa distribuio direcionada para usurios avanados ou experien-tes, devido complexidade de executar tarefas que em outras distribuiesso realizadas de forma simples. Porm, aconselhada tambm a todosque queiram saber o mximo sobre GNU/Linux. Quando bem instalada econgurada, a distribuio se torna mais veloz, correndo programas emu-lados mais rpido que o prprio Windows.

    A distribuio adotada neste curso a Debian.Entretanto, boa parte do contedo abordado vlido para

    qualquer distribuio Linux.Ateno

    1.4 Software Livre

    Software livre, segundo a denio criada pela Free Sofware Fouda-tion, qualquer programa de computador que pode ser usado, copiado,estudado, modicado e redistribudo sem nenhuma restrio. Essa liberda-de um conceito central, que se ope ao modelo de software proprietrio,

    mas no ao software que vendido almejando lucro (software comercial). Amaneira usual de distribuio de software livre anexar a ele uma licenade software livre e tornar o cdigo fonte do programa disponvel. O softwa-re livre tambm conhecido pelo acrnimo FLOSS (do ingls Free/LibreOpen Source Software).

    Um software considerado como livre quando atende aos quatro tiposde liberdade para usurios do software denidos pela Free Software Foun-dation:

    A liberdade para executar o programa, para qualquer propsito (li-berdade n 0)

    A liberdade para estudar como o programa funciona e adapt-lopara as suas necessidades (liberdade n1). Acesso ao cdigo-fonte um pr-requisito para esta liberdade

    A liberdade de redistribuir cpias de modo que voc possa ajudar aoseu prximo (liberdade n2)

    A liberdade de aperfeioar o programa e liberar os seus aperfeio-amentos, de modo que toda a comunidade se benecie (liberdaden3). O acesso ao cdigo-fonte um pr-requisito para esta liber-dade.

  • 7/31/2019 Linux Modulo i

    14/45

    CURSO DE LINUX BSICO: Mdulo I

    14

    2 Alguns Conceitos Bsicos

    So apresentados, neste captulo, alguns conceitos

    relacionados ao computador e ao sistema operacional.Ateno

    2.1 Hardware e Software

    Hardware signica parte fsica do computador (disquete, impresso-ras, monitores, placa me, placa de fax, discos rgidos, etc).

    Softwares so os programas usados no computador (sistema ope-racional, processador de textos, planilha, banco de dados, scripts,comandos, etc).

    2.2 Terminal Virtual (console)Terminal (ou console) o teclado e tela conectados em seu computa-

    dor. O GNU/Linux faz uso de sua caracterstica multi-usuria usando osterminais virtuais. Um terminal virtual uma segunda seo de trabalhocompletamente independente de outras, que pode ser acessada no com-putador local ou remotamente, via ssh, por exemplo.

    No GNU/Linux, em modo texto, voc pode acessar outros terminais vir-tuais segurando a tecla ALT e pressionando F1 a F6. Cada tecla de funocorresponde a um nmero de terminal do 1 ao 6 (o stimo usado porpadro pelo ambiente grco X). O GNU/Linux possui mais de 63 terminaisvirtuais, mas apenas seis esto disponveis inicialmente, por motivos deeconomia de memria RAM (cada terminal virtual ocupa aproximadamente350 Kb de memria RAM. Desative a quantidade que no estiver usandopara liberar memria RAM para uso de outros programas!).

    Se estiver usando o modo grco, voc deve segurar CTRL+ALT en-quanto pressiona uma tecla de a .

    Um exemplo prtico: Se voc estiver usando o sistema no Terminal 1com o nome joao e desejar entrar como root para instalar algum progra-ma, segure ALT enquanto pressiona para abrir o segundo terminalvirtual e faa o login como root. Ser aberta uma nova seo para o usu-rio root e voc poder retornar a hora que quiser para o primeiro terminalpressionando ALT+.

    2.3 Aviso de comando (Prompt)

    necessrio o uso do cursor para sabermos onde iniciar a digitao detextos e nos orientarmos quanto posio na tela.

    O aviso de comando do usurio root identicado por uma # (tralha),

    Aviso de comando (ou Prompt), a linha mostrada na

    tela do terminal para digitao de comandos, que sero

    passados ao interpretador de comandos para sua execuo.

    A posio onde o comando ser digitado marcada com um

    trao piscante chamado de cursor.

    Ateno

  • 7/31/2019 Linux Modulo i

    15/45

    CURSO DE LINUX BSICO: Mdulo I

    15

    e o aviso de comando de usurios identicado pelo smbolo $. Isso padro em sistemas UNIX.

    Voc pode retornar a comandos j digitados pressionando as teclasSeta para cima / Seta para baixo.

    A tela pode ser rolada para baixo ou para cima segurando a tecla SHIFTe pressionando PGUP ou PGDOWN. Isto til para ver textos que rolaramrapidamente para cima.

    Logo abaixo, veja algumas dicas sobre a edio da linha de comandos(no necessrio se preocupar em decor-los):

    Pressione a tecla Back Space (

  • 7/31/2019 Linux Modulo i

    16/45

    CURSO DE LINUX BSICO: Mdulo I

    16

    imediatamente depois do beep, o interpretador de comandos ir listar asdiversas possibilidades que satisfaam a pesquisa, para que voc possaescolher a que lhe interessa. A completao de nomes funciona sem pro-blemas para comandos internos.

    Exemplos: ech(pressione TAB).ls tes(pressione TAB)

    2.5 LoginLogin a entrada no sistema, quando voc digita seu nome e senha.

    2.6 Logout

    Logout a sada do sistema. A sada do sistema feita pelos comandoslogout, exit ou CTRL+D ou quando o sistema reiniciado ou desligado.

    2.7 Comandos

    Comandos so ordens que passamos ao sistema operacional para exe-cutar uma determinada tarefa.Cada comando tem uma funo especca devemos saber a funo

    de cada comando e escolher o mais adequado para fazer o que deseja-mos,. Por exemplo:

    - ls - Mostra arquivos de diretrios- cd - Para mudar de diretrio

    Este material inclui, mais adiante, uma lista de vrios comandos orga-nizados por categoria com a explicao sobre o seu funcionamento e asopes aceitas (incluindo alguns exemplos).

    sempre usado um espao depois do comando para separ-lo de umaopo ou parmetro que ser passado para o processamento. Um coman-do pode receber opes e parmetros:

    opesAs opes so usadas para controlar como o comando ser executado.

    Por exemplo, para fazer uma listagem mostrando o dono, grupo e tamanhodos arquivos voc deve digitar ls -l.

    Opes podem ser passadas ao comando atravs de um - ou --:

    -Opo identicada por uma letra. Podem ser usadas mais de uma op-

    o com um nico hfen. O comando ls -l -a a mesma coisa de ls -la

    --Opo identicada por um nome. O comando ls --all equivalente a ls

    -a.Pode ser usado tanto - como --, mas h casos em que somente -

    ou -- esta disponvel.

    parmetrosUm parmetro identica o caminho, origem, destino, entrada padro ou

    sada padro que ser passada ao comando.

    Se voc digitar: ls /usr/doc/copyright, /usr/doc/copyright ser o parme-tro passado ao comando ls. Neste caso queremos que ele liste os arquivosdo diretrio /usr/doc/copyright.

    normal errar o nome de comandos, mas no se preocupe. Quandoisto acontecer, o sistema mostrar a mensagem command not found (co-

  • 7/31/2019 Linux Modulo i

    17/45

    CURSO DE LINUX BSICO: Mdulo I

    17

    mando no encontrado) e voltar ao aviso de comando. As mensagens deerro no fazem nenhum mal ao seu sistema, somente dizem que algo deuerrado para que voc possa corrigir e entender o que aconteceu. No GNU/Linux, voc tem a possibilidade de criar comandos personalizados usandooutros comandos mais simples (isto ser visto mais adiante). Os comandosse encaixam em duas categorias: Comandos Internos e Comandos Exter-nos.

    Por exemplo, em ls -la /usr/doc, ls o comando, -la

    a opo passada ao comando, e /usr/doc o diretrio

    passado como parmetro ao comando ls.Ateno

    2.8 Arquivo

    onde gravamos nossos dados. Um arquivo pode conter um texto feitopor ns, uma msica, um programa, uma planilha e vrios outras informaes.

    Cada arquivo deve ser identicado por um nome, para que ele possa

    ser encontrado facilmente quando for utilizado. Se estiver fazendo um tra-balho de histria, nada melhor que salv-lo com o nome historia. Um ar-quivo pode ser binrio ou texto (para detalhes veja Arquivo texto e binrio,Seo 2.2.3).

    O GNU/Linux Case Sensitive, ou seja, ele diferencia letras maisculase minsculas nos nomes de arquivos. O arquivo historia completamentediferente de Historia. Essa regra tambm vlida para os comandos ediretrios. Prera, sempre que possvel, usar letras minsculas para iden-ticar seus arquivos, pois quase todos os comandos do sistema esto emminsculas.

    Um arquivo oculto no GNU/Linux identicado por um . no incio do

    nome (por exemplo, .bashrc). Arquivos ocultos no aparecem em listagensnormais de diretrios. Deve ser usado o comando ls a para tambm listararquivos ocultos.

    2.8.1 Extenso de arquivos

    A extenso serve para identicar o tipo do arquivo. A extenso forma-da pelas letras aps um . no nome de um arquivo. Por exemplo:

    relatrio.txt - O .txt indica que o contedo um arquivo texto. script.sh - Arquivo de Script (interpretado por /bin/sh). system.log - Registro de algum programa no sistema. arquivo.gz - Arquivo compactado pelo utilitrio gzip.

    index.html - Pgina de Internet (formato Hypertexto).

    A extenso de um arquivo tambm ajuda identicar que programa preci-sa ser utilizado para abri-lo. Por exemplo, o arquivo relatrio.txt um textosimples e podemos ver seu contedo atravs do comando cat. J o arquivoindex.html contm uma pgina de Internet e precisaremos de um navega-dor para poder visualiz-lo (como o lynx, Firefox ou o Netscape).

    A extenso (na maioria dos casos) no requerida pelo sistema ope-racional GNU/Linux, mas conveniente o seu uso para determinarmos fa-cilmente o tipo de arquivo e de que programa precisaremos para abri-lo.

    2.8.2 Tamanho de arquivosA unidade de medida padro nos computadores o bit. A um conjunto

    de 8 bits ns chamamos de byte. Cada arquivo/diretrio possui um tama-nho que indica o espao que ele ocupa no disco, e isto medido em bytes.O byte representa uma letra em texto. Assim, se voc criar um arquivo

  • 7/31/2019 Linux Modulo i

    18/45

    CURSO DE LINUX BSICO: Mdulo I

    18

    vazio, escrever o nome Linux e salvar o arquivo, este ter o tamanho de 5bytes. Espaos em branco e novas linhas tambm ocupam bytes.

    Alm do byte, existem as medidas Kbytes, Mbytes, Gbytes. Os prexosK (quilo), M (mega), G (giga), T (tera) vm da matemtica. O K signicamultiplicar por 10^3, o M por 10^6, e assim por diante. Estas letras servempara facilitar a leitura em arquivos de grande tamanho. Um arquivo de 1K a mesma coisa de um arquivo de 1024 bytes. Uma forma que pode inicial-

    mente lhe ajudar a lembrar: K vem de Kilo que igual a 1000 - 1Kilo igual

    Por exemplo, em ls -la /usr/doc, ls o comando, -la

    a opo passada ao comando, e /usr/doc o diretrio

    passado como parmetro ao comando ls.Ateno

    a 1000 gramas, certo?.Da mesma forma, 1Mb (ou 1M) igual a um arquivo de 1024K ou

    1024x1024 = 1.048.576 bytes

    1Gb (ou 1G) igual a um arquivo de 1024Mb ou 1048576Kb ou1.073.741.824 bytes (1 Gb igual a 1.073.741.824 bytes; so muitos n-meros!). Deu pra notar que mais fcil escrever e entender como 1Gb doque como 1.073.741.824 bytes.

    A lista completa em ordem progressiva das unidades de medida aseguinte:

    Smb. 10^ 2^ NomeK 3 10 QuiloM 6 20 MegaG 9 30 Giga

    T 12 40 TeraP 15 50 PetaE 18 60 EtaZ 21 70 ZettaY 24 80 Yotta

    2.8.3 Arquivo texto e binrio

    Quanto ao tipo, um arquivo pode ser de texto ou binrio:

    TextoSeu contedo compreendido pelas pessoas. Um arquivo texto pode

    ser uma carta, um script, um programa de computador escrito pelo progra-mador, arquivo de congurao, etc.

    BinrioSeu contedo somente pode ser entendido por computadores. Contm

    caracteres incompreensveis para pessoas normais. Um arquivo binrio gerado por um arquivo de programa (formato texto) atravs de um proces-so chamado de compilao. Compilao basicamente a converso deum programa em linguagem humana (texto) para a linguagem de mquina(binrio).

    2.9 DiretrioDiretrio o local utilizado para armazenar conjuntos de arquivos para

    melhor organizao e localizao, conhecidos como pastas. O diretrio,como o arquivo, tambm Case Sensitive (diretrio /teste completa-

  • 7/31/2019 Linux Modulo i

    19/45

    CURSO DE LINUX BSICO: Mdulo I

    19

    mente diferente do diretrio /Teste).No podem existir dois arquivos com o mesmo nome em um diretrio,

    ou um sub-diretrio com um mesmo nome de um arquivo em um mesmodiretrio.

    Os diretrio nos sistemas Linux so especicados por uma /. Paracriar um diretrio utilizamos o comando mkdir, que ser visto mais adiante.

    2.9.1 Comandos para manipulao de diretriosls

    Lista os arquivos de um diretrio.

    ls [opes] [caminho/arquivo] [caminho1/arquivo1] ...

    Onde:

    caminho/arquivo

    Diretrio/arquivo que ser listado.

    caminho1/arquivo1

    Outro diretrio/arquivo que ser listado. Podem ser feitas vriaslistagens de uma s vez.

    opes

    -a, --all

    Lista todos os arquivos (inclusive os ocultos) de um diretrio.

    -A, --almost-all

    Lista todos os arquivos (inclusive os ocultos) de um diretrio,exceto o diretrio atual e o de nvel anterior.

    -B, --ignore-backupsNo lista arquivos que terminam com ~ (Backup).

    --color=PARAM

    Mostra os arquivos em cores diferentes, conforme o tipo dearquivo. PARAM pode ser: never- Nunca lista em cores (mesmacoisa de no usar o parmetro --color).

    always - Sempre lista em cores conforme o tipo de arquivo.

    auto - Somente colore a listagem se estiver em um terminal.

    -d, --directory

    Lista os nomes dos diretrios ao invs do contedo.

    -f

    No classica a listagem.

    -F

    Insere um caracter aps arquivos executveis (*), diretrios(/), soquete (=), link simblico (@) e pipe (|). Seu uso til paraidenticar de forma fcil tipos de arquivos nas listagens de diretrios.

    -G, --no-group

    Oculta a coluna de grupo do arquivo.

    -h, --human-readable

    Mostra o tamanho dos arquivos em Kbytes, Mbytes, Gbytes.

  • 7/31/2019 Linux Modulo i

    20/45

    CURSO DE LINUX BSICO: Mdulo I

    20

    -H

    Faz o mesmo que -h, mas usa unidades de 1000 ao invs de1024 para especicar Kbytes, Mbytes, Gbytes.

    -l

    Usa o formato longo para listagem de arquivos. Lista as

    permisses, data de modicao, donos, grupos, etc.-n

    Usa a identicao de usurio e grupo numrica ao invs dosnomes.

    -L, --dereference

    Lista o arquivo original e no o link referente ao arquivo.

    -o

    Usa a listagem longa sem os donos dos arquivos (mesma coisaque -lG).

    -p

    Mesma coisa que -F, mas no inclui o smbolo * em arquivosexecutveis. Esta opo tpica de sistemas Linux.

    -R

    Lista diretrios e sub-diretrios recursivamente.

    --full-time

    Lista data e hora completa.

    Classifcaodalistagem

    A listagem pode ser classicada usando-se as seguintes opes:

    -f

    No classica, e usa -au para listar os arquivos.

    -r

    Inverte a ordem de classicao.

    -c

    Classica pela data de alterao.

    -X

    Classica pela extenso.

    -U

    No classica, lista os arquivos na ordem do diretrio.

    Uma listagem feita com o comando ls -la normalmente mostrada daseguinte maneira:

    -rwxr-xr-- 1 gleydson user 8192 nov 4 16:00 teste

    Abaixo as explicaes de cada parte:

    -rwxr-xr--

  • 7/31/2019 Linux Modulo i

    21/45

    CURSO DE LINUX BSICO: Mdulo I

    21

    So as permisses de acesso ao arquivo teste. A primeiraletra (da esquerda) identica o tipo do arquivo, se tiver um d umdiretrio, se tiver um - um arquivo normal.

    As permisses de acesso sero explicadas em detalhes maisadiante.

    1Se for um diretrio, mostra a quantidade de sub-diretrios

    existentes dentro dele. Caso for um arquivo, ser 1.

    gleydson

    Nome do dono do arquivo teste.

    user

    Nome do grupo ao qual o arquivo teste pertence.

    8192

    Tamanho do arquivo (em bytes).

    nov

    Ms da criao/ltima modicao do arquivo.

    4

    Dia em que o arquivo foi criado.

    16:00

    Hora em que o arquivo foi criado/modicado. Se o arquivofoi criado h mais de um ano, em seu lugar mostrado o ano dacriao do arquivo.

    teste

    Nome do arquivo.

    Exemplos do uso do comando ls:

    ls - Lista os arquivos do diretrio atual.

    ls /bin /sbin - Lista os arquivos do diretrio /bin e /sbin

    ls -la /bin - Listagem completa (vertical) dos arquivos dodiretrio /bin inclusive os ocultos.

    pwdMostra o nome e caminho do diretrio atual.

    Voc pode usar o comando pwd para vericar em qual diretrio seencontra (caso seu aviso de comandos no mostre isso).

    mkdirCria um diretrio no sistema. Um diretrio usado para armazenar

    arquivos de um determinado tipo. O diretrio pode ser entendido comoumapasta em que voc guarda seus papis (arquivos). Como uma pessoaorganizada, voc utilizar uma pasta para guardar cada tipo de documento.Por exemplo, criando um diretrio vendaspara guardar seus arquivosrelacionados a vendas naquele local.

    mkdir [opes] [caminho/diretrio] [caminho1/diretrio1]

    Onde:

  • 7/31/2019 Linux Modulo i

    22/45

    CURSO DE LINUX BSICO: Mdulo I

    22

    caminho

    Caminho onde o diretrio ser criado.

    diretrio

    Nome do diretrio que ser criado.

    opes:

    --verbose

    Exibe uma mensagem para cada diretrio criado. As mensagensde erro sero mostradas mesmo que essa opo no seja usada.

    Para criar um novo diretrio, voc deve ter permisso de gravao. Porexemplo, para criar um diretrio em /tmp com o nome de teste que serusado para gravar arquivos de teste, voc deve usar o comando mkdir /tmp/teste.

    Pode ser criado mais de um diretrio com um nico comando (mkdir /tmp/teste /tmp/teste1 /tmp/teste2).

    2.9.2 cd

    Entra em um diretrio.Voc precisa ter a permisso de execuo paraentrar no diretrio.

    cd [diretrio]Onde:diretrio - diretrio que deseja entrar.Exemplos: Usando cd sem parmetros ou cd ~, voc retornar ao seu diretrio

    de usurio (diretrio home). cd /, retornar ao diretrio raz.

    cd -, retornar ao diretrio anteriormente acessado. cd .., sobe um diretrio. cd ../[diretrio], sobe um diretrio e entra imediatamente no prximo

    (por exemplo, quando voc est em /usr/sbin, voc digita cd ../bin, o co-mando cd retorna um diretrio (/usr) e entra imediatamente no diretrio bin(/usr/bin).

    2.9.3 pwdMostra o nome e caminho do diretrio atual.Voc pode usar o comando pwd para vericar em qual diretrio se en-

    contra (caso seu aviso de comandos no mostre isso).

    2.9.5 Diretrio Raiz

    Este o diretrio principal do sistema. Dentro dele esto todos os ou-tros diretrios do sistema. O diretrio Raz representado por uma /. As-sim, se voc digitar o comando cd / voc estar acessando este diretrio.

    Nele esto localizados outros diretrios como o /bin, /sbin, /usr, /usr/lo-cal, /mnt, /tmp, /var e /home. Estes so chamados de sub-diretrios j queesto dentro do diretrio /. A estrutura de diretrios e sub-diretrios podeser identicada da seguinte maneira:

    / /bin

    /sbin /usr /usr/local /mnt /tmp

  • 7/31/2019 Linux Modulo i

    23/45

    CURSO DE LINUX BSICO: Mdulo I

    23

    /var /home

    A estrutura de diretrios tambm chamada de rvore de Diretriosporque parecida com uma rvore de cabea para baixo. Cada diretriodo sistema tem seus respectivos arquivos que so armazenados confor-me regras denidas pela FHS (FileSystem Hierarchy Standard - Hierarquia

    Padro do Sistema de Arquivos) verso 2.0, denindo que tipo de arquivodeve ser armazenado em cada diretrio.

    2.9.6 Diretrio atual

    o diretrio em que nos encontramos no momento. Voc pode digitaro comando pwd para vericar qual seu diretrio atual.

    O diretrio atual tambm identicado por um . (ponto). O comandols. pode ser usado para listar seus arquivos ( claro que isto desnecess-rio porque se no digitar nenhum diretrio, o comando ls sozinho listar ocontedo do diretrio atual).

    2.9.7 Diretrio home

    Tambm chamado de diretrio de usurio. Em sistemas GNU/Linuxcada usurio (inclusive o root) possui seu prprio diretrio onde poderarmazenar seus programas e arquivos pessoais.

    Este diretrio est localizado em /home/[login]. Neste caso se o seulogin for joao o seu diretrio home ser /home/joao. O diretrio hometambm identicado por um ~ (til), voc pode digitar tanto o comando ls /home/joao como ls ~ para listar os arquivos de seu diretrio home.

    O diretrio home do usurio root (na maioria das distribuies GNU/Linux) est localizado em /root.

    Dependendo de sua congurao e do nmero de usurios em seu sis-tema, o diretrio de usurio pode ter a seguinte forma: /home/[primeira_le-tra_do_nome]/[login], neste caso se o seu login for joao o seu diretriohome ser /home/j/joao. Essa forma s seria realmente til em um sistemacom uma grande quantidade de usurios.

    2.9.8 Diretrio Superior

    O diretrio superior(Upper Directory) identicado por .. (2 pontos).Caso estiver no diretrio /usr/local e quiser listar os arquivos do diretrio

    /usr voc pode digitar, ls .. . Ou se voc estiver no diretrio /usr/local equiser mudar para o diretrio superior /usr basta digitar cd .. . Ou ainda,

    se quiser ir direto do diretrio /usr/local para o diretrio raiz / digite cd ../..Este recurso tambm pode ser usado para copiar, mover arquivos/diret-rios, etc.

    2.9.9 Diretrio Anterior

    O diretrio anterior identicado por -. til para retornar ao ltimodiretrio usado.

    Se estive no diretrio /usr/local e digitar cd /lib, voc pode retornar facil-mente para o diretrio /usr/local usando cd -.

    2.9.10 Caminho na estrutura de diretrios

    O caminho na estrutura de diretrios so os diretrios que teremos quepercorrer at chegar ao arquivo ou diretrio que procuramos. Se desejarver o arquivo /usr/doc/copyright/GPL voc tem duas opes:

    1. Mudar o diretrio atual para /usr/doc/copyright com o comando cd /usr/doc/copyright e usar o comando cat GPL

  • 7/31/2019 Linux Modulo i

    24/45

  • 7/31/2019 Linux Modulo i

    25/45

    CURSO DE LINUX BSICO: Mdulo I

    25

    2.9.12 Estrutura bsica de diretrios do Sistema Linux

    O sistema GNU/Linux possui a seguinte estrutura bsica de diretriosorganizados segundo o FHS (Filesystem Hierarchy Standard):

    /bin Contm arquivos programas do sistema que so usados com fre-

    qncia pelos usurios./boot Contm arquivos necessrios para a inicializao do sistema./cdrom Ponto de montagem da unidade de CD-ROM./dev Contm arquivos usados para acessar dispositivos (perifricos)

    existentes no computador./etc Arquivos de congurao de seu computador local./oppy Ponto de montagem de unidade de disquetes/home Diretrios contendo os arquivos dos usurios./lib Bibliotecas compartilhadas pelos programas do sistema e mdulos

    do kernel./lost+found Local para a gravao de arquivos/diretrios recupera-

    dos pelo utilitrio fsck.ext2. Cada partio possui seu prprio diretriolost+found.

    /mnt Ponto de montagem temporrio./proc Sistema de arquivos do kernel. Este diretrio no existe em seu

    disco rgido, ele colocado l pelo kernel e usado por diversos programasque fazem sua leitura, vericam conguraes do sistema ou modicam ofuncionamento de dispositivos do sistema atravs da alterao em seusarquivos.

    /root Diretrio do superusurio root./sbin Diretrio de programas usados pelo superusurio (root) para ad-

    ministrao, controle e manuteno do sistema./tmp Diretrio para armazenamento de arquivos temporrios criados

    por programas./usr Contm maior parte de seus programas. Normalmente acessvel

    somente como leitura./var Contm maior parte dos arquivos que so gravados com freqn-

    cia pelos programas do sistema, como e-mails, spool de impressora, etc.

    2.10 Nomeando Arquivos e Diretrios

    No GNU/Linux, os arquivos e diretrios podem ter o tamanho de at 255letras. Voc pode identic-los com uma extenso (um conjunto de letrasseparadas do nome do arquivo por um .).

    Os programas executveis do GNU/Linux, ao contrrio dos programasde DOS e Windows, no so executados a partir de extenses .exe, .comou .bat. O GNU/Linux (como todos os sistemas POSIX) usa a permissode execuo de arquivo para identicar se um arquivo pode ou no serexecutado, independente de sua extenso.

    Por exemplo, um trabalho de histria pode ser identicado mais facil-mente caso fosse gravado com o nome trabalho.text ou trabalho.txt. Tam-bm permitido gravar o arquivo com o nome Trabalho de Historia.txt,mas no recomendado gravar nomes de arquivos e diretrios com espa-os porque ser necessrio colocar o nome do arquivo entre aspas paraacess-lo (por exemplo, cat Trabalho de Historia.txt). Ao invs de usar

    espaos, prera capitalizar o arquivo (usar letras maisculas e minsculaspara identica-lo), como TrabalhodeHistoria.txt.

  • 7/31/2019 Linux Modulo i

    26/45

    CURSO DE LINUX BSICO: Mdulo I

    26

    2.11 Curingas

    Curingas (ou referncia global) um recurso usado para especicarum ou mais arquivos ou diretrios do sistema de uma s vez. Este recursopermite que voc faa a ltragem do que ser listado, copiado e apagado.So usados trs tipos de curingas:

    * (asterisco) - Faz referncia a um nome completo ou restante, deum arquivo ou diretrio.

    ? (ponto de interrogao) - Faz referncia a uma letra naquela po-sio.

    [padro] - Faz referncia a uma faixa de caracteres de um arquivo/diretrio. Padro pode ser:

    [a-z][0-9] - Faz referncia a caracteres de a at z seguido de umcaractere de 0 at 9.

    [az][1,0] - Faz a referncia aos caracteres a e z seguido de um ca-ractere 1 ou 0 naquela posio.

    [a-z,1,0] - Faz referncia a intervalo de caracteres de a at z ou 1 ou0 naquela posio.

    A procura de caracteres Case Sensitive. Assim, se voc deseja quesejam localizados todos os caracteres alfabticos voc deve usar [a-z,A-Z].

    Caso a expresso seja precedida por um ^, faz referncia a qualquercaractere exceto o da expresso. Por exemplo, [^abc] faz referncia a qual-quer caractere exceto a, b e c.

    Lembrando que os trs tipos de curingas (*, ?, []) podem ser usa-dos juntos.

    Existem muitas outras formas de se fazer a mesma coisa. Depende dogosto de cada um. O importante aqui foi mostrar como especicar mais deum arquivo de uma s vez. O uso de curingas ser til ao copiar arquivos,apagar, mover, renomear e nas mais diversas partes do sistema. Alis, esta

    uma caracterstica do GNU/Linux: permitir que a mesma coisa possa serfeita de vrias maneiras diferentes.

  • 7/31/2019 Linux Modulo i

    27/45

    CURSO DE LINUX BSICO: Mdulo I

    27

    EXEMPLO

    Para entender melhor, vamos prtica:Vamos dizer que tenha 5 arquivos no diretrio /usr/teste, sendo eles

    teste1.txt, teste2.txt, teste3.txt, teste4.ncl, teste5.ncl.Caso deseje listar todos os arquivos do diretrio /usr/teste voc pode

    usar o coringa * para especifcar todos os arquivos do diretrio:

    cd /usr/teste e ls * ou ls /usr/teste/*.No tem muito sentido usar o comando ls com *, pois todos os arquivossero listados se o ls for usado sem nenhum Curinga.

    Agora, para listar todos os arquivos com extenso txt (teste1.txt, teste2.txt, teste3.txt), com exceo de teste4.ncl, teste5.ncl, podemos usarinicialmente 3 mtodos:

    Usando o comando ls *.txt, que pega todos os arquivos que comeamcom qualquer nome e terminam com .txt.

    Usando o comando ls teste?.txt, que pega todos os arquivos quecomeam com o nome teste, tenham qualquer caractere no lugardo coringa ? e terminem com .txt. Com o exemplo acima teste*.

    txt tambm faria a mesma coisa, mas se tambm tivssemos umarquivo chamado teste10.txt este tambm seria listado. Usando o comando ls teste[1-3].txt, que pega todos os arquivos

    que comeam com o nome teste, tenham qualquer caractere entreo nmero 1-3 no lugar da 6 letra e terminem com .txt. Neste casose obtm uma fltragem mais exata, pois o coringa ? especifca

    qualquer caracter naquela posio e [] especifca nmeros, letras

    ou intervalo que ser usado. Agora para listar somente teste4.ncl e teste5.ncl podemos usar os

    seguintes mtodos: ls *.ncl que lista todos os arquivos que terminam com .ncl

    ls teste?.ncl que lista todos os arquivos que comeam comteste, contenham qualquer caracter na posio do coringa ? eterminem com .ncl.

    ls teste[4,5].* que lista todos os arquivos que comeam com teste

    contenham nmeros de 4 e 5 naquela posio e terminem comqualquer extenso.

    2.12 Nomes de dispositivos

    Para se evitar que cada programa utilize um I/O (Input/Output ou En-trada/Saida de dados no programa) ou IRQ (Interrupt Request, sinalizaode um pedido de interrupo de hardware) diferente para cada parte dohardware como o mouse ou o modem, no sistema GNU/Linux so usadosos nomes de dispositivos. Eles so acessados atravs do diretrio /dev.

    Por exemplo: aps congurar corretamente o modem, com sua portaI/O 0x2F8 e IRQ 3, ele identicado automaticamente por /dev/ttyS1. Da-qui para frente basta se referir a /dev/ttyS1 para fazer alguma coisa com omodem.

    Voc tambm pode fazer um link de /dev/ttyS1 para um arquivo cha-mado /dev/modem. Dessa forma, voc pode fazer a congurao dos seus

    programas usando /dev/modem ao invs de /dev/ttyS1. Se precisar recon-gurar o seu modem e a porta serial mudar para /dev/ttyS3, ser necessriosomente apagar o link /dev/modem antigo e criar um novo, apontando paraa porta serial /dev/ttyS3. No ser necessrio recongurar os programasque usam o modem, pois eles esto usando /dev/modem, que est apon-

  • 7/31/2019 Linux Modulo i

    28/45

    CURSO DE LINUX BSICO: Mdulo I

    28

    tando para a localizao correta. Isso muito til para um bom gerencia-mento do sistema.

    2.13 Listando as placas e outros hardwares em um computador

    Administradores e tcnicos ao congurar uma mquina precisaro sa-ber quais os hardwares ela possui, os perifricos, dispositivos e clock, paracongurar tudo e ver a necessidade de atualizaes.

    Dispositivos PCI/AMR/CNR (como modens, placas de vdeo e udio)podem ser listados executando o comando cat /proc/pci. Outra forma delistar tais dispositivos usando o lspci. Se voc precisa de mais detalhescomo o mapeamento de memria, use lspci -vv.

    O mapeamento de memria de dispositivos pode ser mostrado com ocomando cat /proc/ioports, ou usando o comando lsdev.

    O barramento USB e dispositivos conectados a ele podem ser listadoscom o comando lsusb ou com cat /proc/bus/usb/devices.

    Hardwares disponveis na mquina, como placa me, clock multiplica-dor, discos, placas diversas, verses e nmeros seriais de dispositivos po-dem ser mostrados atravs do comando lshw. Use lshw -html para produzira listagem em formato HTML, bem interessante para relatrios.

    Acesse http://focalinux.cipsga.org.br/guia/intermediario/ch-hardw.htmlSaiba

  • 7/31/2019 Linux Modulo i

    29/45

    CURSO DE LINUX BSICO: Mdulo I

    29

    Sero apresentados comandos utilizados para manipulaode arquivos neste captulo.

    3.1 catMostra o contedo de um arquivo binrio ou de texto.

    cat [opes] [diretrio/arquivo] [diretrio1/arquivo1]

    Onde:

    diretrio/arquivo

    Localizao do arquivo do qual se deseja visualizar ocontedo.

    opes

    -n, --number

    Mostra o nmero das linhas enquanto o contedo doarquivo mostrado.

    -s, --squeeze-blank

    No mostra mais que uma linha em branco entre um

    pargrafo e outro.-

    L a entrada padro.

    O comando cat trabalha com arquivos texto. Use o comando zcatpara ver diretamente arquivos compactados com gzip.

    Exemplo: cat /usr/doc/copyright/GPL

    3.2 tac

    Mostra o contedo de um arquivo binrio ou de texto (como o cat)

    s que em ordem inversa.tac [opes] [diretrio/arquivo] [diretrio1/arquivo1]

    Onde:

    diretrio/arquivo

    Localizao do arquivo do qual se deseja visualizar ocontedo

    opes

    -s [string]

    Usa o [string] como separador de registros.-

    L a entrada padro.

    Exemplo: tac /usr/doc/copyright/GPL.

    3 Comandos paramanipulao de arquivos

  • 7/31/2019 Linux Modulo i

    30/45

    CURSO DE LINUX BSICO: Mdulo I

    30

    3.3 rmApaga arquivos. Tambm pode ser usado para apagar diretrios

    e sub-diretrios vazios ou que contenham arquivos.

    rm [opes][caminho][arquivo/diretrio] [caminho1][arquivo1/diretrio1]

    Onde:caminho

    Localizao do arquivo que se deseja apagar. Se omitido,assume que o arquivo esteja no diretrio atual.

    arquivo/diretrio

    Arquivo que ser apagado.

    opes

    -i, --interactive

    Pergunta antes de remover, esta ativada por padro.-v, --verbose

    Mostra os arquivos na medida que so removidos.

    -r, --recursive

    Usado para remover arquivos em sub-diretrios. Estaopo tambm pode ser usada para remover sub-diretrios.

    -f, --force

    Remove os arquivos sem perguntar.

    -- arquivoRemove arquivos/diretrios que contm caracteres

    especiais. O separador -- funciona com todos os comandosdo shell e permite que caracteres especiais, como *, ?, -,sejam interpretados como caracteres comuns.

    Use com ateno o comando rm, pois uma vez que arquivos ediretrios so apagados, eles no podem mais ser recuperados.

    Exemplosrm teste.txt - Apaga o arquivo teste.txt nodiretrio atual.

    rm *.txt - Apaga todos os arquivos do diretrio atual queterminam com .txt.

    rm *.txt teste.novo - Apaga todos os arquivos do diretrioatual que terminam com .txt e tambm o arquivo teste.novo.

    rm -rf /tmp/teste/* - Apaga todos os arquivos e sub-diretrios do diretrio /tmp/teste mas mantm o sub-diretrio /tmp/teste.

    rm -rf /tmp/teste - Apaga todos os arquivos e sub-diretrios do diretrio /tmp/teste, inclusive /tmp/teste.

    rm -f -- --arquivo-- - Remove o arquivo de nome--arquivo--.

  • 7/31/2019 Linux Modulo i

    31/45

    CURSO DE LINUX BSICO: Mdulo I

    31

    3.4 cpCopia arquivos.

    cp [opes] [origem] [destino]

    Onde:

    origem

    Arquivo que ser copiado. Podem ser especicados maisde um arquivo para ser copiado usando Curingas, j vistosneste material.

    destino

    O caminho ou nome de arquivo onde ser copiado. Se odestino for um diretrio, os arquivos de origem sero copiadospara dentro do diretrio.

    opes

    -i, --interactive

    Pergunta antes de substituir um arquivo existente.-f, --force

    No pergunta, substitui todos os arquivos caso j existam.

    -r

    Copia arquivos dos diretrios e subdiretrios da origempara o destino. recomendvel usar -R ao invs de -r.

    -R, --recursive

    Copia arquivos e sub-diretrios (como a opo -r) e tambm

    os arquivos especiais FIFO e dispositivos.-v, --verbose

    Mostra os arquivos enquanto esto sendo copiados.

    -s, --simbolic-link

    Cria link simblico ao invs de copiar.

    -l, --link

    Faz o link no destino ao invs de copiar os arquivos.

    -p, --preservePreserva atributos do arquivo, se for possvel.

    -u, --update

    Copia somente se o arquivo de origem mais novo que oarquivo de destino ou quando o arquivo de destino no existe.

    -x

    No copia arquivos que esto localizados em um sistemade arquivos diferente de onde a cpia iniciou.

    O comando cp copia arquivos da ORIGEM para o DESTINO.Ambos, origem e destino, tero o mesmo contedo aps a cpia.

    Exemplos: cp teste.txt teste1.txt - Copia o arquivo teste.txt para teste1.txt.

    cp teste.txt /tmp - Copia o arquivo teste.txt para dentro

  • 7/31/2019 Linux Modulo i

    32/45

    CURSO DE LINUX BSICO: Mdulo I

    32

    do diretrio /tmp.

    cp * /tmp - Copia todos os arquivos do diretrio atualpara /tmp.

    cp /bin/* . - Copia todos os arquivos do diretrio /binpara o diretrio em que nos encontramos no momento.

    cp -R /bin /tmp - Copia o diretrio /bin e todos osarquivos/subdiretrios existentes para o diretrio /tmp.

    cp -R /bin/* /tmp - Copia todos os arquivos do diretrio/bin (exceto o diretrio /bin) e todos os arquivos/subdiretriosexistentes dentro dele para /tmp.

    cp -R /bin /tmp - Copia todos os arquivos e o diretrio /bin para /tmp.

    3.5 mvMove ou renomeia arquivos e diretrios. O processo

    semelhante ao do comando cp, mas o arquivo de origem apagadoaps o trmino da cpia.

    mv [opes] [origem] [destino]

    Onde:

    origem

    Arquivo/diretrio de origem.

    destino

    Local para onde ser movido ou novo nome do arquivo/diretrio.

    opes

    -f, --force

    Substitui o arquivo de destino sem perguntar.

    -i, --interactive

    Pergunta antes de substituir. o padro.

    -v, --verbose

    Mostra os arquivos que esto sendo movidos.

    -u, --updateMove somente se o arquivo de origem for mais novo que o

    de destino, ou se este no existir.

    O comando mv copia um arquivo da ORIGEM para o DESTINO(semelhante ao cp), mas aps a cpia, o arquivo de ORIGEM apagado.

    Exemplos: mv teste.txt teste1.txt - Muda o nome doarquivo teste.txt para teste1.txt.

    mv teste.txt /tmp - Move o arquivo teste.txt para /tmp.Lembre-se que o arquivo de origem apagado aps sermovido.

    mv teste.txt teste.new (supondo que teste.new jexista) - Copia o arquivo teste.txt por cima de teste.new eapaga teste.txt aps terminar a cpia.

  • 7/31/2019 Linux Modulo i

    33/45

    CURSO DE LINUX BSICO: Mdulo I

    33

    Este captulo explica como executar programas no GNU/Linux e o uso das ferramentas de controle de execuo dosprogramas.

    4.1 Executando um comando/programa

    No aviso de comando # (root) ou $ (usurio), digite o nomedo comando e tecle Enter. O programa/comando vai serexecutado e receber um nmero de identifcao (chamadode PID - Process Identifcation). Esse nmero identifca o

    processo no sistema e dessa maneira tem um controle sobresua execuo (ser visto mais adiante neste captulo).

    Para rodar um comando, necessrio que ele tenha permissesde execuo (mais detalhes sero vistos mais adiante) e queesteja no caminho de procura de arquivos, como visto na prximaseo.

    Todo o programa recebe uma identifcao de usurio (UID)quando executado, o que determina quais sero suas permissesde acesso. O programa normalmente usa o UID do usurio queo executou ou o usurio confgurado pelo bit de permisso deacesso, caso este estiver defnido. Tambm existem programasque so executados como root e modifcam sua identifcaode usurio para algum que tenha menos privilgios no sistema(como o Apache, por exemplo). Mais informaes sero dadasposteriormente.

    Exemplos de comandos: ls, df, pwd.

    4.2 path

    Path o caminho de procura dos arquivos/comandos executveis.

    O path (caminho) armazenado na varivel de ambiente PATH. Vocpode ver o contedo dela usando o comando echo $PATH.

    Por exemplo, o caminho /usr/local/bin:/usr/bin:/bin:/usr/bin/X11 signica que, se voc digitar o comando ls, o interpretador decomandos iniciar a procura do programa ls no diretrio /usr/local/bin. Caso no encontre o arquivo, ele inicia a procura em /usr/bin, eassim sucessivamente, at que encontre o arquivo procurado.

    Se o interpretador de comandos chegue at o ltimo diretriodo path e no encontre o arquivo/comando digitado, mostrada aseguinte mensagem:

    bash: ls: command not found (comando no encontrado).O caminho de diretrios vem congurado na instalao do Linux,

    mas pode ser alterado no arquivo /etc/prole. Caso deseje alterar ocaminho para todos os usurios, esse arquivo o melhor lugar, pois

    4 Execuo de Programas

  • 7/31/2019 Linux Modulo i

    34/45

    CURSO DE LINUX BSICO: Mdulo I

    34

    ele lido por todos os usurios no momento do login.

    Se um arquivo/comando no est localizado em nenhum dosdiretrios do path, voc deve execut-lo usando um ./ na frente docomando.

    Se deseja alterar o path para um nico usurio, modique oarquivo .bash_prole no seu diretrio de usurio (home).

    OBSERVAO: Por motivos de segurana, no inclua o diretrioatual $PWD no path.

    4.3 Tipos de Execuo de comandos/programas

    1. Um programa pode ser rodado de duas formas:Primeiro Plano - Tambm chamado de foreground. Voc deveesperar o trmino da execuo do programa para rodar umnovo comando. Somente mostrado o aviso de comandoaps o trmino de sua execuo.

    2. Segundo Plano - Tambm chamado de background.Voc no precisa esperar o trmino da execuo do programapara executar um novo comando. Aps iniciar um programaem background, mostrado um nmero PID (identicaodo Processo) e o aviso de comando novamente mostrado,permitindo o uso normal do sistema.

    O programa rodado em background continua sendo executadointernamente. Aps ser concludo, o sistema retorna uma mensagemde pronto, acompanhado do nmero PID do processo que terminou.

    Para iniciar um programa em primeiro plano, basta digitar

    seu nome normalmente. Para iniciar um programa em segundoplano, acrescente o caractere & aps o fnal do comando.

    OBS: Mesmo que um usurio execute um programa em segundoplano e saia do sistema, o programa continuar rodando at que sejaconcludo ou nalizado pelo usurio que iniciou a execuo (ou pelousurio root).

    Exemplo: nd / -name boot.b &

    O comando ser executado em segundo plano e deixar osistema livre para outras tarefas. Aps o comando nd terminar, sermostrada uma mensagem.

    4.4 Executando programas em sequncia

    Os comandos podem ser executados em sequncia (um apso trmino do outro) se os separarmos com ;.

    Por exemplo: echo primeiro;echo segundo;echo terceiro

    4.5 ps

    Algumas vezes til ver quais processos esto sendoexecutados no computador. O comando ps faz isso, e tambm nosmostra qual usurio executou o programa, a hora que o processo foiiniciado e vrias outras informaes.

  • 7/31/2019 Linux Modulo i

    35/45

    CURSO DE LINUX BSICO: Mdulo I

    35

    ps [opes]

    Onde as opes podem ser:

    a

    Mostra os processos criados por voc e de outros usuriosdo sistema.

    xMostra processos que no so controlados pelo terminal.

    u

    Mostra o nome de usurio que iniciou o processo e a horaem que o processo foi iniciado.

    m

    Mostra a memria ocupada por cada processo emexecuo.

    fMostra a rvore de execuo de comandos (comandos

    que so chamados por outros comandos).

    e

    Mostra variveis de ambiente no momento da inicializaodo processo.

    w

    Mostra a continuao da linha atual na prxima linha, aoinvs de cortar o restante que no couber na tela.

    --sort:[coluna]Organiza a sada do comando ps de acordo com a coluna

    escolhida. Voc pode usar as colunas pid, utime, ppid, rss,size, user, priority.

    As opes acima podem ser combinadas para resultar numalistagem mais completa. Voc tambm pode usar pipes | para ltrara sada do comando ps. Mais detalhes sobre pipe sero vistos maisadiante.

    Ao contrrio de outros comandos, o comando ps no precisa do

    hfen - para especicar os comandos. Isso porque ele no utilizaopes longas e no usa parmetros.

    EXEMPLO:digite em seu terminal

    ps au

    Voc ver na tela todos os processos criados por voc e poroutros usurios, alm de mostrar nome de usurio, data e hora emque o processo foi iniciado.

    4.6 topMostra os programas em execuo ativos, parados, tempo

    usado na CPU, detalhes sobre o uso da memria RAM,disponibilidade para execuo de programas no sistema e vrias

  • 7/31/2019 Linux Modulo i

    36/45

    CURSO DE LINUX BSICO: Mdulo I

    36

    outras informaes relativas aos programas em execuo.top um programa que continua em execuo, mostrando

    continuamente os processos que esto rodando em seu computadore os recursos utilizados por eles. Para sair do top, pressione atecla q.

    top [opes]

    Onde so opes:

    -d [tempo]

    Atualiza a tela aps o [tempo] (em segundos).

    -s

    Diz ao top para ser executado em modo seguro.

    -i

    Inicia o top, ignorando o tempo de processos zumbis.

    -cMostra a linha de comando ao invs do nome do programa.

    A ajuda sobre o top pode ser obtida dentro do programa . Paraisso, pressione a tecla h ou v at a pgina de manual (man top).

    Veja abaixo algumas teclas teis:

    espao - Atualiza imediatamente a tela.

    CTRL+L - Apaga e atualiza a tela.

    h - Mostra a tela de ajuda do programa. So mostradastodas as teclas que podem ser usadas com o top.

    i - Ignora o tempo ocioso de processos zumbis.

    q - Sai do programa.

    k - Finaliza um processo - semelhante ao comandokill. Voc ser perguntado pelo nmero de identicao doprocesso (PID). Esse comando no estar disponvel casoesteja usando o top com a opo -s.

    n - Muda o nmero de linhas mostradas na tela. Se0 for especicado, ser usada toda a tela para listagem deprocessos.

    4.7 Controle de execuo de processos

    Seguem alguns comandos e mtodos teis para o controle daexecuo de processos no GNU/Linux.

    4.7.1 Interrompendo a execuo de um processo

    Para cancelar a execuo de algum processo rodando em primeiroplano, basta pressionar as teclas CTRL+C. A execuo do programaser cancelada e ser mostrado o aviso de comando. Voc tambmpode usar o comando kill, descrito logo adiante, para interromper umprocesso sendo executado.

  • 7/31/2019 Linux Modulo i

    37/45

    CURSO DE LINUX BSICO: Mdulo I

    37

    4.7.2 Parando momentaneamente a execuo de umprocesso

    Para parar a execuo de um processo rodado em primeiro plano,basta pressionar as teclas CTRL+Z. O programa em execuo serpausado e ser exibido o nmero de seu job e o aviso de comando.

    Para retornar execuo de um comando pausado, use oscomandos fg ou bg, descritos frente.

    O programa permanece na memria no ponto de processamentoem que parou quando ele interrompido. Voc pode usar outroscomandos ou rodar outros programas enquanto o programa atualest interrompido.

    4.7.3 jobs

    O comando jobs mostra os processos que esto parados ou

    rodando em segundo plano. Processos em segundo plano soiniciados usando o smbolo & no nal da linha de comando, comoj visto neste material, ou atravs do comando bg.

    O nmero de identicao de cada processo parado ou emsegundo plano (job) usado com os comandos fg e bg. Um processointerrompido pode ser nalizado usando-se o comando kill %[num],em que [num] o nmero do processo obtido pelo jobs.

    4.7.4 fg

    Permite fazer com que um programa rodado em segundo plano

    ou parado, rode em primeiro plano. Voc deve usar o comando jobspara pegar o nmero do processo executado em segundo plano ouinterrompido.

    fg [nmero]

    Em que nmero o nmero obtido atravs do comando jobs.

    Caso seja executado sem parmetros, o fg utilizar o ltimoprograma interrompido (o maior nmero obtido com o comando jobs).

    Exemplo: fg 1.

    4.7.5 bgPermite fazer um programa rodando em primeiro plano ou parado,

    rodar em segundo plano. Para fazer um programa em primeiro planorodar em segundo, necessrio primeiro interromper a execuodo comando com CTRL+ Z. Ser mostrado o nmero da tarefainterrompida. Use esse nmero com o comando bgpara iniciar aexecuo do comando em segundo plano.

    bg [nmero]

    Onde: nmero o nmero do programa obtido com o

    pressionamento das teclas CTRL+Z ou atravs do comando jobs.

    4.7.6 kill

    Permite enviar um sinal a um comando/programa. Se usado sem

  • 7/31/2019 Linux Modulo i

    38/45

    CURSO DE LINUX BSICO: Mdulo I

    38

    parmetros, o kill enviar um sinal de trmino ao processo sendoexecutado.

    kill [opes] [sinal] [nmero]

    Onde:

    nmero

    o nmero de identicao do processo obtido com ocomando ps. Tambm pode ser o nmero aps o sinal de %obtido pelo comando jobs para matar uma tarefa interrompida.

    sinal

    Sinal que ser enviado ao processo. Se omitido usa -15como padro.

    opes

    -9

    Envia um sinal de destruio ao processo ou programa.

    Ele terminado imediatamente, sem chances de salvar osdados ou apagar os arquivos temporrios criados.

    Voc precisa ser o dono do processo ou o usurio root paratermin-lo ou destru-lo. Para vericar se o processo foi nalizado,utilize o comando ps. Os tipos de sinais aceitos pelo GNU/Linuxsero explicados em detalhes mais adiante.

    Exemplo: kill 500, kill -9 500, kill %1.

    4.7.7 killall

    Permite nalizar processos atravs do nome.killall [opes] [sinal] [processo]

    Onde:

    processo

    Nome do processo que deseja nalizar

    sinal

    Sinal que ser enviado ao processo

    opes

    -iPede conrmao sobre a nalizao do processo.

    -l

    Lista o nome de todos os sinais conhecidos.

    -q

    Ignora a existncia do processo.

    -v

    Retorna se o sinal foi enviado com sucesso ao processo.

    -wFinaliza a execuo do killall somente aps nalizar todos

    os processos.

    Os tipos de sinais aceitos pelo GNU/Linux so explicados em

  • 7/31/2019 Linux Modulo i

    39/45

    CURSO DE LINUX BSICO: Mdulo I

    39

    detalhes logo adiante.

    Exemplo: killall -HUP inetd

    4.7.9 Sinais do Sistema

    Os sinais so meios usados para que os processos possam secomunicar e para que o sistema possa interferir em seu funcionamento.Por exemplo, se o usurio executar o comando kill para interromperum processo, isso ser feito por meio de um sinal.

    Quando um processo recebe um determinado sinal e conta cominstrues sobre o que fazer com ele, tal ao colocada em prtica.Se no houver instrues pr-programadas, o prprio Linux podeexecutar a ao de acordo com suas rotinas.

    O GNU/Linux suporta os sinais listados pelo comando kill l .

    Podemos saber qual a funo de cada sinal consultando a manpage signal,com o comando: man signal. Veja a funo de alguns:

    SIGSTOP - interrompe a execuo de um processo es reativ-lo aps o recebimento do sinal CONT; SIGCONT - instrui a execuo de um processo aps

    este ter sido interrompido; SIGSEGV - informa erros de endereos de memria; SIGTERM - termina completamente o processo, ou

    seja, este deixa de existir aps a nalizao; SIGILL - informa erros de instruo ilegal, por exemplo,

    quando ocorre diviso por zero; SIGKILL - mata um processo e usado em momentos

    de criticidade.

    4.7.8 killall5

    Envia um sinal de nalizao para todos os processos sendoexecutados.

    killall5 [sinal]

    4.8 nohup

    Executa um comando ignorando os sinais de interrupo. Esse

    comando pode ser executado at mesmo em segundo plano, casoseja feito o logout do sistema.

    nohup [comando que ser executado]

    As mensagens de sada do nohup so direcionadas para o arquivo$HOME/nohup.out.

    Exemplo: nohup nd / -uid 0 >/tmp/rootles.txt &.

    4.9 nice e renice

    nice congura a prioridade da execuo de um comando/

    programa.nice [opes] [comando/programa]

    Onde:

  • 7/31/2019 Linux Modulo i

    40/45

    CURSO DE LINUX BSICO: Mdulo I

    40

    comando/programa

    Comando/programa que ter sua prioridade ajustada.

    opes

    -n [numero]

    Congura a prioridade com a qual o programa serexecutado. Se um programa for executado com maiorprioridade, ele usar mais recursos do sistema para seuprocessamento. Caso tenha uma prioridade baixa, ele permitirque outros programas tenham preferncia. A prioridade deexecuo de um programa/comando pode ser ajustada de -19(a mais alta) at 19 (a mais baixa).

    Exemplo: nice -n -19 nd / -name apropos.

    renice troca a prioridade das aplicaes em execuo.

    renice [prioridade] [pid]

    Onde:

    prioridade

    Prioridade a ser congurada para o processo. Pode serajustada de -19 (a mais alta) at 19 (a mais baixa).

    pid

    pid do processo a ser congurado.

    Exemplo: renice +19 1000

    4.10 fuser

    Permite identicar e fechar os processos que esto utilizandoarquivos e soquetes no sistema.

    fuser [opes] [nome]

    Onde:

    nome

    Especica um nome de processo, diretrio, arquivo, etc.

    opes

    -k

    Finaliza os processos acessando o arquivo especicado.O sinal desejado deve ser especicado com a opo -signal[num], ou o sinal -9 ser enviado como padro. No possvelmatar o prprio processo fuser.

    -i

    Pergunta antes de destruir um processo. Ser ignoradacaso a opo -k no seja especicada.

    -l

    Lista todos os nomes de sinais conhecidos.

    -m [nome]Especica um arquivo em um sistema de arquivos montado

    ou dispositivo de bloco que est montado. Sero listadostodos os processos acessando aquele sistema de arquivos.

  • 7/31/2019 Linux Modulo i

    41/45

    CURSO DE LINUX BSICO: Mdulo I

    41

    Diretrios so mostrados seguidos de uma /

    -signal [nmero]

    Usa o sinal especicado ao invs de -9 (SIGKILL) quandonalizar processos.

    -u

    Acrescenta o nome do dono de cada processo ao PID.-v

    Os processos so mostrados em um estilo idntico ao ps.

    4.11 tload

    Representa de forma grca a carga do sistema.

    tload [opes]

    Onde:

    opes

    -s [nmero]

    Mostra uma escala vertical com espaamento especicadopor [nmero]. recomendvel o uso de nmeros entre 1 e 10para melhor visualizao da escala.

    -d [nmero]

    Especica o intervalo entre atualizaes, em segundos.

    4.12 vmstat

    Mostra estatsticas sobre o uso da memria virtual do sistema.vmstat [intervalo] [contagem]

    Onde:

    intervalo

    Nmero especicado em segundos entre atualizaes.

    contagem

    Nmero de vezes que ser mostrado.

    Se no for especicado nenhum parmetro, o vmstat mostra

    o status da memria virtual e volta imediatamente para a linha decomando. A descrio dos campos do vmstat so as seguintes:

    Processos

    r

    Nmero de processos aguardando execuo.

    b

    Nmero de processos em espera no interrompveis.

    w

    Nmero de processos extrados do arquivo de troca oucaso contrrio em execuo.

    Memria

    swpd

  • 7/31/2019 Linux Modulo i

    42/45

    CURSO DE LINUX BSICO: Mdulo I

    42

    A quantidade de memria virtual usada em Kb.

    free

    Quantidade de memria livre em Kb.

    buff

    Quantidade de memria usada como buffer em Kb.

    Memria Virtualsi

    Quantidade de memria gravada para o disco em Kb/s.