Académique Documents
Professionnel Documents
Culture Documents
softwarelivre.uff.br
Sumrio
1 Introduo.......................................................................................................................3 1.1 Objetivos do Treinamento....................................................................................3 1.2 O que Software Livre.........................................................................................3 1.3 Vantagens do Software Livre...............................................................................4 2 O Sistema GNU/Linux....................................................................................................4 2.1 Hierarquia do Sistema de Arquivos Linux............................................................4 2.2 Organizao.........................................................................................................5 2.3 Funcionamento.....................................................................................................6 2.3.1 Usurios e Permisses ................................................................................6 2.4 Shell de Comandos / Terminal.............................................................................8 2.5 Programas residentes .........................................................................................9 2.6 Memria virtual ..................................................................................................10 3 Comandos Bsicos .....................................................................................................11 3.1 Manipulao de Arquivos ..............................................................................11 Atividade 1..................................................................................................................14
1 Introduo
1.1 Objetivos do Treinamento
O projeto dos laboratrios de graduao (Projeto InfoLab) foi criado em 2003 pela PrReitoria de Assuntos Acadmicos (PROAC), em parceria com o Ncleo de Tecnologia da Informao e Comunicao (NTi). O objetivo era implantar laboratrios de informtica com o uso de software livre - destinados aos alunos de graduao da universidade. Estes laboratrios, administrados pelos prprios cursos, seriam gerenciados com a ajuda de alunos treinados. O treinamento tem os seguintes objetivos: Familiarizar os participantes com o ambiente do sistema operacional Linux; Difundir o conceito de software livre; Habilitar o participante a prover o suporte dos laboratrios da Universidade; Habilitar o participante a exercer as tarefas de administrao bsicas no Linux; Divulgar as formas de contato com a equipe de suporte e de realizar um intercmbio de informaes;
2 O Sistema GNU/Linux
2.1 Hierarquia do Sistema de Arquivos Linux
Ao migrar de outro sistema operacional, algo que pode afetar profundamente o usurio a diferena nos sistemas de arquivos. O sistema de arquivos composto dos mtodos de como os dados sero salvos no disco ou numa partio e da sua organizao estrutural. A maioria dos sistemas UNIX usam estruturas similares, apesar de haver pequenas variaes de sistema para sistema, pois visa-se a portabilidade entre os diversos sistemas existentes. Como no UNIX, o Linux tem somente um nico diretrio hierrquico. Tudo comea na raz, representada pela / (barra) e se expande em subdiretrios ao invs dos to chamados 'drives'. No ambiente Windows, por exemplo, um usurio pode colocar arquivos onde ele quiser: no drive 'C:', no drive 'D:' e etc. Essas estruturas hierrquicas dos sistemas de arquivos so inicializadas pelos programas (programas de diretrios) em si e no pelo sistema operacional. Por outro lado, o Linux organiza os diretrios descendentemente a partir da raiz / de acordo com sua importncia no processo de inicializao (boot) do sistema. Se voc se pergunta por que o Linux usa a barra (/) ao invs da contra barra (\, como no Windows), devido ao padro adotado no UNIX. O Linux, como o UNIX tambm adotou o padro case sensitive. Isso significa que letras maisculas e minsculas importam. Logo, isso no igual a ISSO. Esses recursos causam uma variedade infinita de problemas para novos usurios, especialmente nas transferncias de arquivos em pen-drives e outros meios como o FTP.
Nota: Em distribuies recentes, a pasta 'X11R6' foi transferida para o diretrio /etc como X11. O mesmo ocorre com 'srv', onde os 2 subdiretrios localizados nele foram movidos para 'var'.
2.2 Organizao
/ - o diretrio raiz, este o local onde a arvore de diretrios comea ; /bin este diretrio contem programas executveis que so necessrio em modo usurio simples e para inicializar o sistema ou repar-lo ; /boot contm arquivos estticos utilizados pelo boot loader. Este diretrio contm apenas os arquivos que so necessrios durante o processo de boot; /dev arquivos de dispositivo, que fazem referncia aos dispositivos fsicos ; /etc contm arquivos de configurao locais ; /etc/skel quando uma nova conta de usurio criada, arquivos deste diretrio geralmente so copiados para o diretrio home do usurio; /etc/X11 arquivos de configurao sistema de janelas X11 ; /home diretrios pessoais dos usurio s comuns do sistema; /lib este diretrio deve conter as bibliotecas compartilhadas que so necessrias para inicializar o sistema e executar programas no sistema de arquivos raiz ; /mnt este diretrio costuma conter pontos de montagem de sistemas de arquivos montados temporariamente; /proc este o ponto de montagem do sistema de arquivos proc, que fornece informaes sobre os processos que esto em execuo e do kernel ; 5
/root este diretrio normalmente o diretrio home do usurio root ; /sbin assim como o diretrio bin, este diretrio contem comandos que so necessrio para inicializar o sistema, mas que no so normalmente utilizados por usurios normais; /tmp este diretrio contem arquivos temporrios; /usr este diretrio normalmente deve conter, informaes compartilhveis e somente de leitura; /usr/bin este o diretrio primrio para os programas executveis, a maioria dos programas executados por usurios normais que no so necessrios para o processo de inicializao ou manuteno do sistema devem ser colocados aqui; /usr/lib bibliotecas, incluindo bibliotecas dinmicas e alguns executveis que normalmente no so invocados diretamente; /usr/sbin este diretrio contm binrios de programas para administrao do sistema que no so essenciais para o processo de boot; /usr/src/ - este o lugar tradicional para armazenar os arquivos fontes do kernel;
2.3 Funcionamento
Genericamente, os sistemas de arquivos suportados pelo Linux mantm, associados a cada arquivo, informaes como identificadores do dono do arquivo e do grupo do dono, o tipo do arquivo, as permisses relativas ao arquivo, data e hora de criao e ltima modificao e etc. Atualmente, os sistemas de arquivos mais usados e mais famosos do GNU/Linux, junto com o EXT4, so o Reiser Filesystem, criado por Hans Reiser; o Journaled Filesystem (JFS), criado pela IBM para o AIX, a verso do Unix da mesma empresa e o Extended Filesystem (XFS), criado pela Silicon Graphics Incorporated (SGI) para o Irix, sua variao do Unix. 2.3.1 Usurios e Permisses Sistemas operacionais multiusurio, como o Linux permitem que vrios usurios utilizem o sistema ao mesmo tempo - tm de zelar pela segurana e privacidade dos dados individuais de cada usurio, bem como prezar pela integridade do sistema. Para isso existem as chamadas permisses de acesso, que atuam em dois aspectos fundamentais. O primeiro a privacidade e o segundo, a segurana. 6
O GNU/Linux tem um mtodo muito simples de lidar com permisses. Inicialmente, elas so divididas em duas categorias: as permisses simples e as permisses especiais. As permisses simples atuam liberando ou bloqueando o acesso leitura, escrita e execuo nos arquivos. Existem diversas formas de se demonstrar as permisses de um arquivo. Nesse instante mostraremos de forma simplificada, detalhes sero mostrados mais adiante:
Literal r w x
Octal 4 2 1
Leitura (r): A permisso de leitura a que vai dizer se o usurio tem ou no direito de ver o contedo do arquivo ou do diretrio; Escrita (w): Essa permisso diz se o usurio ter ou no o direito de modificar o contedo do arquivo ou diretrio; Execuo (x): Por fim, a permisso de execuo especifica se o usurio pode ou no executar o arquivo, caso ele se trate de um binrio ou de um script. No caso de um diretrio, especifica se o usurio poder ou no acess-lo. Somente a existncia dessas permisses no suficiente. Suponha que voc crie um arquivo,
e queira que o usurio joo tenha acesso a ele, mas nenhum outro usurio tenha. Dessa forma, as permisses podem ser aplicadas a: Dono: Chamamos de dono o usurio que criou o arquivo. O sistema de permisses no GNU/Linux permite que alteremos as permisses para ns prprios. Podemos, assim, evitar que, por exemplo, faamos alteraes acidentais em arquivos importantes; Grupo: todo usurio do sistema GNU/Linux pertence pelo menos um grupo. Assim, voc pode definir as permisses em nvel de grupo, de forma que, se voc liberar o acesso de leitura para o grupo professores, todos os usurios que fizerem parte desse grupo tero permisso de leitura no seu arquivo; Outros: Simplesmente, todos os usurios que no so voc mesmo nem pertencem ao seu grupo primrio.
mensagem arquivo no encontrado. Observe que o sistema no busca o arquivo imprime_texto no diretrio corrente. Se quisssemos executar esse programa e ele estivesse no diretrio /meus_programas, deveramos digitar o seguinte no prompt: usuario@nti:/meus_programas$ ./imprime_texto <enter>
O processo calc (calculadora) parece estar consumindo muita memria. Para encerrar o processo da calculadora e com isso liberar 80% da memria, executaramos o seguinte comando: 9
usuario@nti:/$ kill 5760 Caso o comando acima no finalize a calculadora podemos enviar o sinal -9 para o comando kill de forma que ele encerre o processo de forma incondicional. O comando ficaria assim: usuario@nti:/$ kill -9 5760 Como um programa pode iniciar muitos processos, no seria nada produtivo encerrar todos os subprocessos um a um. O comando killall pode ser utilizado nesses casos. Por exemplo, para encerrar todos os processos com a string kcalc no campo COMMAND executaramos o seguinte comando: usuario@nti:/$ killall kcalc O comando killall pode receber o parmetro -9 da mesma forma que o comando kill.
10
3 Comandos Bsicos
Abaixo uma listagem dos principais comandos necessrios para manipulao bsica do sistema na linha de comando.
Nota: Todos comandos abaixo so seguidos de <enter> e o -X (onde X representa uma letra qualquer) representa um parmetro. Um ou mais parmetros podem ser passados precedidos de espao, logo aps o comando e juntos, inclusive. Exemplo: comando -xyz <enter> ou comando -x -y -z <enter> (ambos executam a mesma coisa).
3.1 Manipulao de Arquivos ls lista o contedo do diretrio atual -l formato long, mostra informaes adicionais -a lista arquivos ocultos (arquivos ocultos no linux sempre comeam com um .) pwd indica o diretrio corrente cd dir muda para o diretrio 'dir' cd sem argumentos vai home do usurio corrente .. desce um diretrio (Se voc est em /home/usuario e o executa, voc vai para /home) ~ idem ao sem argumentos - volta para o diretrio anterior a mudana para o diretrio corrente Exemplos: a) Estou no diretrio /tmp e quero ir para o diretrio /etc/apt: cd /etc/apt ou cd ../etc/apt b) Agora quero voltar um diretrio antes do /etc/apt (que o /etc): cd .. c) Agora quero ir direto minha pasta home (/home/usuario): cd ou cd ~ d) Agora quero voltar para /etc: cd (perceba que o sistema pegou o ltimo diretrio no qual voc estava antes de ir para o diretrio atual
[/home/usuario]).
Exemplos: a) Estou no meu diretrio home (/home/usuario) e quero criar um diretrio chamado temp: mkdir temp b) Quero criar dentro de temp, um diretrio chamado teste e dentro de teste, um diretrio chamado outros: mkdir -p temp/teste/outros
Nota: Perceba que voc no criou o temp novamente, ao invs disso, voc especificou que dentro de temp haver um diretrio teste e com o parmetro '-p', voc disse para criar tambm o subdiretrio dentro de teste, chamando 'outros'.
rm remove arquivos e ou diretrios -r remove diretrios e seus contedos recursivamente (normalmente se utiliza para remover diretrios que contm arquivos) -f fora a remoo do arquivo (normalmente utilizado para suprimir a solicitao de confirmao) cp origem destino copia arquivos e diretrios -r copia diretrios recursivamente (normalmente utilizado para copiar um diretrio com o seu contedo) -a copia mantendo as permisses originais do arquivo/diretrio. mv origem destino move (renomeia) arquivos Exemplos: a) Mover o diretrio '/home/usuario/temp' para /media: mv temp /media b) Renomear o diretrio 'temp' para 'temporario': mv temp temporario
Nota: Perceba a hierarquia: No exemplo (a) 'temp' estava em /home/usuario e foi movido para /media, fora do subdiretrio usuario do diretrio /home (ou seja, fora de /home/usuario). J no exemplo (b), apenas renomeamos 'temp' para 'temporario' sem mudar sua localizao (o diretrio continuar no diretrio onde ele est, apenas mudar de nome). Nota: Nos itens (a) e (b), antes de efetuar os comandos citados, v ao diretrio especficado. Logo, para executar o item (a) o seu diretrio corrente deve ser /home/usuario e no item (b), /media.
ln [opes] destino nome_do_link cria links entre arquivos -s cria links simblicos -a compartilha o endereo fsico de um arquivo no disco 12
Exemplos: a) Estou no meu home e quero criar um link para /mnt/publico com o nome Publico: ln -s /mnt/publico Publico b) Estou na minha home e quero compartilhar o endereo de /opt/programa.bin: ln -a /opt/programa.bin
Nota: No item (b), caso voc delete o arquivo criado na sua home ou o arquivo em /opt, ambos sero destrudos, pois compartilham o mesmo endereo fsico no disco.
touch nome_arquivo cria (um arquivo em branco) ou atualiza informaes sobre o arquivo 'nome_arquivo' existente. cat concatena arquivos e imprime na tela (pode ser usado apenas para ver o contedo de um arquivo) -n numera a listagem. less permite fazer a leitura de um arquivo. tail / head imprime a ltima / primeira parte de um arquivo -n onde n o nmero de linhas do final / incio do arquivo que ser impressa -f imprime as informaes que esto sendo adicionadas ao arquivo conforme ele vai crescendo (til para monitorar atualizao de arquivos dinamicamente indisponvel para o head). locate arquivo tenta localizar no sistema de arquivos o arquivo e mostrar sua localizao. tar1, zip e rar utilitrios de arquivamentos (h outros tambm). Exemplos: a) Baixei um arquivo chamado fotos.tar.gz e quero descompact-lo: tar -xvzf fotos.tar.gz Ele descompactar no diretrio atual. tar -xvzf fotos.tar.gz -C <Caminho Diretrio> Descompactar em <Caminho Diretrio> 1 - Os parmetros servem para: x Extrao, v Verbose (mostra detalhes da extrao/compactao), f Arquivo comum, c Compactao,
z Tipo GZIP (.tar.gz) [Para tipos BUNZIP2 (.tar.bz2), use j ao invs do z].
13
b) Quero compactar em formato GZIP a pasta Documentos, que est na minha home: tar -cvzf documentos.tar.gz ~/Documentos c) Baixei um arquivo chamado teste.rar e quero descompact-lo: unrar e teste.rar Descompactar no diretrio atual. unrar e teste.rar <Caminho Diretrio> Descompactar em <Caminho Diretrio>.
Nota: O unrar no usa parmetros com o - como os demais.
d) Baixei um arquivo chama programa.zip e quero descompact-lo unzip programa.zip Descompactar no diretrio atual. unzip programa.zip -d <Caminho Diretrio) Descompactar em <Caminho Diretrio>. e) Quero compactar em formato ZIP a pasta Documentos, que est em minha home: zip -r documentos.zip ~/Documentos man <Comando> exibe um resumo do que o comando faz e explica os seus parmetros. Exemplo: Quero ajuda com o comando cp: man cp
Nota: Uma grande maioria dos comandos tem uma ajuda simplificada embutida, basta digitar comando --help (Exemplo: cp help)
Atividade 1
Busque por um comando que encontre o arquivo sources.list, de acordo com as seguintes especificaes: a) Busque em todo o sistema de arquivos a partir da /. b) Busque apenas no prprio tipo do sistema de arquivos. Qual dos itens acima o mais veloz? (a) ou (b)? Qual a localizao do arquivo?
14