LINUX PARA CONCURSOS PÚBLICOS
ÍNDICE GNU/Linux... 1 Distribuições LINUX... 1 Iniciando o Linux... 1 Gerenciadores de Janelas... 1 Shell (Modo Texto)... 2 KDE e Gnome... 2 Inicialização do Sistema Linux (LILO)... 2 Encerrando o Sistema (Shutdown)... 3 Estrutura de Diretórios para Usuários... 3 Estrutura de Diretórios para Usuário Root... 3 O Super Usuário (Root)... 4 Trabalhando com Usuários... 4 Senha de Usuário ou Grupo... 4 Trabalhando com Grupos... 4 Arquivos... 5 Listando Arquivos - ls... 5 Navegando entre Diretórios - cd... 5 Criando Diretórios - mkdir... 5 Removendo Diretórios... 5 Copiando Arquivos e Diretórios - cp... 6 Movendo ou Renomeando Arquivos e Diretórios - mv... 6 Exibindo o conteúdo de um arquivo - cat... 6 Permissões de arquivos... 6 Modificando permissões - chmod... 7 Editores de Texto... 7 Leitores de E-Mail... 7 Navegadores (Browsers)... 8 QUESTÕES DE CONCURSOS... 8
LINUX GNU/Linux É m sistema operacional desenvolvido por Linus Torvalds e colocado à disposição através da Internet para milhares de programadores ao redor do mundo. Esses programadores trabalham desde 1991, quando surgiu a primeira versão do kernel, no aprimoramento do sistema. Assim o trabalho em conjunto possibilitou melhorias no sistema operacional (criado inicialmente) para adaptar as necessidades dos usuários com maior segurança e rapidez. Algumas pessoas já viram ou ouviram falar em versões LINUX do tipo Mandrake, Red Hat, entre outros. Qual a causa de nomes diferentes? É simples. Por que temos vários programadores pelo mundo inteiro dominando a linguagem de programação C+ e/ou C++ para desenvolverem a sua própria plataforma LINUX como, por exemplo, o brasileiro Carlos E. Morimoto criou o KURUMIN que atualmente está na versão 5.0. Vejamos abaixo quais são as distribuições mais conhecidas no mercado: Conectiva; Red Hat; Mandrake; Tech Linux (versão brasileira do Mandrake); Slackware; Debian; Kurumin; Linus Torvalds Criador do Sistema Operacional LINUX. O GNU/Linux é regido por uma licença chamada GPL(General Public License), ou seja, possui licença livre de pagamento. Qualquer pessoa física ou jurídica poderá utilizar esse excelente sistema operacional. Atualmente, o Linus Torvalds licenciou a marca LINUX, pois empresas ao redor do mundo estavam utilizando o nome LINUX em postos de gasolinas, etc. conseqüentemente os desenvolvedores das distribuições LINUX deverão pagar pelo uso da marca, mas o sistema continua free. Distribuições LINUX Iniciando o Linux Quando instalamos o Linux o mesmo solicita o Login, ou seja, nome e senha para o Root que é uma proteção para utilização do sistema operacional. Existe no Linux o Root que é o super-usuário podendo manipular todo o sistema operacional sem restrições, mas também existe o usuário com limitações no caso desse último há limitações de comandos e manipulação no sistema. Ao iniciar o sistema operacional no modo gráfico teremos a visualização do KDE (gerenciador de janelas) que é o mais comum nas distribuições Linux. O sistema apresentará semelhante ao Windows com ícones e janelas. Gerenciadores de Janelas Tecnicamente o gerenciador de janela é denominado Servidor X, pois o mesmo gerencia o modo gráfico do Linux possibilitando ao mesmo ter vários gerenciadores de janelas ( modelos ). Vejamos abaixo quais são os gerenciados mais conhecidos no mercado: Informática 1 Prof. Alexei Silva
KDE; Gnome; WindowMaker; Blanes. Shell (Modo Texto) É o programa que interpreta o que digitamos na linha de comando e decide o que fazer com aquilo. Os concursos públicos estão utilizando o modo texto conhecido como para criar as questões no qual aprenderemos comandos para manipular o sistema e o conteúdo dos dispositivos. Existem diversos Shell em um sistema Linux (caso o usuário tenha instalado). Vejamos abaixo alguns exemplos: bash (Bourne Again): padrão conhecido em sistema UNIX; csh (C Shell): sintaxe parecida com a linguagem de programação C ; pdksh (Public domanin Korn Shell); tcsh (Tiny C Shell). Caso o usuário queira verificar qual o Shell que está usando no momento, basta utilizar o seguinte comando: Echo $SHELL KDE e Gnome KDE versão 3.4x O Gnome também está lançando sua nova versão que é a 2.8. Mas estaá trazendo também a versão 2.1 com melhorias tais como: um reprodutor de vídeo e uma ferramenta de extração de CDs. Vejamos na figura abaixo: Gnome Inicialização do Sistema Linux (LILO) Ao iniciar o computador serão executados os softwares (Firmwares) da BIOS, ou seja, teremos o boot. Ao inicializar o sistema operacional Linux o mesmo será carregado no modo texto ou gráfico (depende da versão e da configuração) como, por exemplo, ao utilizar o Kurumin o Linux é carregado no modo Gráfico utilizando o KDE. Existem versões de ambiente gráfico que podem ser baixados gratuitamente pela Internet como, por exemplo, o KDE que atualmente está na versão 3.4x Podemos ter mais de um sistema operacional instalado no computador ou no caso do Linux mais de um Kernel (Versões e/ou distribuções). É possível termos o Windows e o Linux em uma única máquina, basta na instalação do Linux ou Windows criar a(s) partição (ões) que são a divisão lógica do disco rígido. No Linux um sistema de arquivos que auxilia na inicialização de um computador com um ou mais sistemas operacionais instalados na máquina é o LILO. Informática 2 Prof. Alexei Silva
O LILO é capaz de enviar argumentos ao Kernel ( núcleo do sistema operacional Linux) imediatamente após o nome do sistema operacional como, por exemplo, qual sistema operacional será o padrão para inicialização ou qual o tempo máximo de espera para ativar um dos sistemas instalados no computador. Realizado a etapa inicial do LILO da escolha do sistema operacional Linux ocorrerá o carregamento do Kernel, ou seja, a instalação do mesmo que é realizada de forma gradual (no primeiro momento compactado e após alguns segundos o mesmo será descompactado). Após isso, o Kernel verifica o hardware (discos rígidos, disquetes, placas de rede, entre outros) e configura os seus controladores de dispositivos enviando mensagens na tela como, por exemplo: LILO boot: Loading linux... Memory: sized by int13 088h Console: 16 point font, 400 scans Console: colour VGA+ 80x25, 1 virtual console (max 63) pcibios_init : BIOS32 Service Directory structure at 0x000f8630 pcibios_init : BIOS32 Service Directory entry at 0xf8080 pcibios_init : PCI BIOS revision 2.10 entry at 0xf80b0... OBS: As mensagens enviadas pelo Kernel na inicialização diferem de computador por conseqüência do tipo e/ou modelo de hardware instalados nos mesmos. Encerrando o Sistema (Shutdown) Se o usuário estiver no modo gráfico poderá utilizar o comando <Ctrl> + <Alt> + <F2> alterando para o modo texto (Shell). Quando estivermos trabalhando no modo Shell, basta utilizar o seguinte comando abaixo: shutdown h now (para desligar o computador); shutdown r now (para reiniciar o computador) Podemos também enviar mensagens as estações da rede informando quanto tempo falta para desligar o servidor ou o próprio workstation com, por exemplo: shutdown h 10 manutenção (desligar o computador daqui a dez minutos por conseqüência de uma manutenção). Estrutura de Diretórios para Usuários Os diretório no Linux obedecem a mesma estrutura do Sistema Operacional Unix. Vamos conhecer os principais diretórios por usuário e suas características: / - Diretório principal (raiz); /home - Nesse diretório se encontra os dados dos usuários; /proc - Esse diretório não existe fisicamente no disco rígido, ele é criado pelo kernel durante a inicialização. São encontrados aqui arquivos com informações sobre o sistema; /tmp - Armazena arquivos temporários; /usr - Diretório usado para instalação compartilhada de programas; /var - Contém arquivos vários usados por sistemas de e-mail, spool de impressão, log's etc. Estrutura de Diretórios para Usuário Root /bin - Contém arquivos binários(executáveis) do sistema ; /boot - Contém arquivos responsáveis pela inicialização do sistema; /dev - Arquivos usados para acessar dispositivos em seu computador; /etc - Aqui se encontra os principais arquivos de configuração do sistema; /lib - Contém bibliotecas compartilhadas; /mnt - Aqui são montados temporariamente volumes externos, como CD-ROM, disquetes, outras partições etc; Informática 3 Prof. Alexei Silva
/root - Diretório principal do root (superusuário); /sbin - Contém programas usados pelo root para administração do sistema; O Super Usuário (Root) Root é também chamada de super usuário, este é um login que não possui restrições de segurança. Utilize a conta root somente para realizar uma administração no sistema, sendo usada o menor tempo possível, pois se um Craker invadir o seu micro utilizando essa conta o mesmo terá todos os privilégios do Super Usuário, ou seja, acessará todo o conteúdo do computador. Trabalhando com Usuários Podemos criar contas de usuários e grupos aplicando senha ao primeiro. Qual o motivo de criar usuários? Para que mais de uma pessoa possa utilizar a máquina no seu devido tempo e não ter acesso a uma conta específica (usuário), por exemplo. OBS: O Linux é case sensitive, ou seja, os comandos nesse sistema diferem entre maiúsculos e minúsculos. Vejamos abaixo o comando para criar um usuário: adduser alexei (foi criado o usuário Alexei). Para apagarmos o usuário, basta usar o seguinte comando abaixo: userdel alexei (foi excluído o usuário Alexei). OBS: Quando criamos um usuário é gerado pelo Linux um diretório home com o nome do usuário como, por exemplo: /home/alexei Senha de Usuário ou Grupo Quando criamos um usuário é interessante aplicar uma senha de acesso a essa conta, pois caso não seja adicionada à senha qualquer pessoa poderá usar a conta. Para criarmos e/ou alterar uma senha do usuário ou grupo, basta usar o seguinte comando abaixo: passwd alex (criar a senha para o usuário alex). Trabalhando com Grupos Ao criarmos um usuário pela primeira vez no sistema o Linux gera automaticamente um grupo com o nome do próprio usuário. Mas para quer ter um grupo? Para melhor administrar uma rede de computadores ou o próprio computador com os familiares ou amigos do trabalho, por exemplo. Poderíamos criar um grupo denominado concurso público e adicionar usuários nos quais seriam os alunos de um cursinho. Os mesmos teriam acesso apenas a alguns comandos e/ou aplicativos do sistema. Vejamos abaixo o comando para criar um grupo: groupadd concurso (foi criado o grupo concurso). Podemos criar um usuário dentro de um grupo, mas para isto é necessário que o grupo já exista. Vejamos os comandos abaixo: adduser silva ingroup concurso (insere usuário silva no grupo concurso), ou adduser silva g concurso Para excluir o grupo, basta seguir o seguinte comando abaixo: Podemos utilizar o seguinte comando abaixo para excluirmos o usuário com o seu diretório: userdel r alexei (foi excluído o usuário alexei com o seu diretório home) groupdel concurso (exclui o grupo concurso). OBS: Para excluirmos o grupo é necessário excluir o usuário primário. Informática 4 Prof. Alexei Silva
Arquivos Os nomes de arquivos no Linux podem ter um tamanho de até 256 caracteres e eles contêm normalmente letras, números, ponto, travessões e hífens. Mas no Linux é possível usar como nome de arquivo (não recomendado) caracteres denominados metacaracteres como, por exemplo, asterisco, interrogação, espaço, cifrão, & comercial, colchetes, etc. Esses metacaracteres são interpretados pelo Shell Linux com um significado especial, ou seja, eles fazem parte de comandos do sistema. OBS: Arquivos Linux não possuem extensão nos modos DOS/Windows, mas o usuário poderá usar. Listando Arquivos - ls Este comando lista os arquivos (visualiza) para que o usuário possa trabalhar com eles (copiar, mover, etc). Vejamos abaixo as opções (parâmetros) desse comando: Parâmetro Significado -a Lista todos os arquivos Lista os arquivos de forma -l detalhada Lista os arquivos na horizontal -x Lista o conteúdo dos subdiretórios -R abaixo do diretório especificado Navegando entre Diretórios - cd No sistema operacional Windows conhecemos a denominação Pasta para guardar arquivos e/ou pastas, mas um Diretório (termo utilizado pelo DOS e UNIX) tem o mesmo significado e importância no sistema Linux. Para navegarmos entre Diretórios no modo Shell do Linux, basta utilizar o comando cd. Vejamos abaixo alguns parâmetros desse comando: Parâmetro Significado. (ponto) Diretório atual.. (dois pontos) Diretório anterior ~ (til) Diretório HOME do usuário / (barra) Diretório Raiz - (hífen) Último Diretório Por exemplo se estivéssemos no diretório /usr/games poderíamos utilizar o seguinte comando abaixo para irmos ao diretório home: cd ~ (cd til acessará o diretório home do usuário). Criando Diretórios - mkdir Para criarmos diretórios é bastante simples o comando utilizado para esta finalidade, basta digitar a seguinte sintaxe a- baixo: mkdir <nome do diretório> Exemplo: mkdir ~/alexei (foi criado o diretório Alexei no seu diretório home). Removendo Diretórios Existem duas formas de excluir um diretório a principio é necessário saber se o mesmo tem conteúdo ou não, pois o comando difere para cada situação. Vejamos alguns exemplos abaixo: rmdir <nome do diretório> A sintaxe acima é utilizada apenas quando o diretório está vazio, ou seja, não possui arquivos e/ou subdiretórios dentro do mesmo. rmdir /Alexei (exclui o diretório a- lexei caso o mesmo esteja vazio). Para excluirmos diretórios com conteúdo (arquivos) independente da quantidade, basta apenas utilizar o comando abaixo: rmdir r /alexei (exclui o diretório alexei havendo ou não conteúdo no mesmo). Havendo a necessidade de excluir um diretório com subdiretórios e arquivos Informática 5 Prof. Alexei Silva
de uma só vez, basta utilizar o comando abaixo: rm r <nome do diretório> rm r /home (apaga toda a área de usuários) Copiando Arquivos e Diretórios - cp No modo texto (Shell) do Linux não tem como utilizarmos o comando conhecidíssimo do sistema Windows <Ctrl> + <C> e <Ctrl> + <V> para copiar e colar um arquivo, basta seguir a seguinte sintaxe abaixo: cp [opções] <arquivo_origem> <arquivo_destino> O comando cp possui algumas opções descritas abaixo: Parâmetro Significado -i Modo Interativo Mostra o que está sendo -v copiado Copia diretório com seus -R subdiretórios (caso possua). cp i aula.txt livro.txt (copia sobrescreve o arquivo livro.txt por aula.txt com o sistema perguntando se deseja ou não sobrescrever o arquivo). cp arq.txt /tmp (copia o arquivo para o diretório /tmp). cp R /bin/* /tmp (copia todos os arquivos e diretórios contidos em /bin para /tmp). Movendo ou Renomeando Arquivos e Diretórios - mv Para movermos ou renomear arquivos e/ou diretórios, basta apenas utilizar a sintaxe abaixo: mv <origem> <destino> mv arq.txt /tmp (o arquivo foi movido do diretório corrente para o /tmp). mv arq.txt arq.new (o arquivo foi renomeado para arq.new). Exibindo o conteúdo de um arquivo - cat Podemos visualizar o conteúdo de arquivo sem abri-lo (como fazíamos no DOS antigamente), basta utilizar o seguinte comando abaixo: cat /home/alexei/aula.txt (visualiza o conteúdo do arquivo aula que está localizado no usuário /Alexei). Também podemos utilizar o cat para criar uma cópia de arquivo ou colocar um arquivo dentro do outro. Vejamos alguns exemplos abaixo: cat aula.txt > aula1.txt (foi criado uma cópia do arquivo) cat aula.txt >> curso.txt (foi adicionado o conteúdo do arquivo aula.txt ao curso.txt). Permissões de arquivos É uma proteção para os arquivos dos usuários para não serem mal utilizados por outros usuários da rede e/ou do computador em que o mesmo utilizou. Essas permissões são utilizadas para o dono do arquivo (usuário), grupo e todos os usuários existentes no sistema. As permissões são divididas em três tipos, são elas: Permissões r (read) w (write) x Significado Leitura Escrita Execução Quando listamos arquivos utilizando o comando ls l teremos o detalhamento como, por exemplo: -rw-r--r-- 1 alexei users 505 Dez 07 20:30 aula.txt Estamos visualizando o arquivo aula.txt que pertence ao usuário Alexei que está localizado no grupo users com as seguintes permissões abaixo: - (significa que é um arquivo comum, ou seja, não é um executável). Informática 6 Prof. Alexei Silva
rw- (significa que o dono do arquivo pode ler e escrever no arquivo, ou seja, modificá-lo podendo até excluir). r-- (representam as permissões para o grupo do arquivo). r-- (representam as permissões concedidas a qualquer usuário do sistema) Modificando permissões - chmod Podemos modificar as permissões de um arquivo ou diretório para melhorar a proteção dos nossos dados porém é necessário conhecer a seguinte sintaxe abaixo: chmod <a,u,g,o> <+,-> <r,w,x> arquivos Kdit Edito de texto do KDE vi: editor de texto mais usado em modo Shell no Linux é o vi. Apesar de não ser simples de usar, este aplicativo é utilizado em praticamente todas distribuições Linux. Notem que apareceram novas letras (a,u,g,o) no comando acima vejamos abaixo o significa delas: Permissões a u g o Significado Todos Usuário Grupo Outros Vejamos alguns exemplos abaixo: chmod a+r aula.txt (dá permissão de leitura a todos os usuários); chmod +r aula.txt (tem o mesmo significado do comando acima); chmod og-x aula.txt (remove permissão de execução de usuários que não o próprio dono do arquivo); chmod u+rwx aula.txt (dá permissão ao dono do arquivo para ler, escrever e executar); Editores de Texto Existem inúmeros editores de texto para Linux, a seguir analisaremos dois, um que funciona em modo gráfico(kedit) e um que funciona em modo texto (vi). vi Editor de texto no modo Shell Para entrar no modo de edição tecle "i", aparecerá na parte inferior da tela um sinal -INSERT --, isso indica que você pode fazer as alterações necessários no arquivo editado. Terminando a edição do arquivo, tecle 'ESC' e o sinal - INSERT - desaparecerá. Para salvar o arquivo tecle 'ZZ' (dois Z's maiúsculos). Para sair do vi sem salvar o arquivo tecle '!q:'. Leitores de E-Mail Infelizmente no Linux não existem aplicativos de e-mails poderosos, ou seja, com todos os recursos de um Outlook Express, por exemplo. Mas existem alguns leitores de e-mail que quebram o galho, são eles: Pine; Mutt; Kdit: é um editor de texto que a- companha o KDE. Sua interface gráfica é Evolution (melhor opção). muito simples, mas com muitos recursos. Informática 7 Prof. Alexei Silva
Navegadores (Browsers) Já que no quesito e-mail os aplicativos para Linux estão deixando a desejar, mas em navegadores está dando um banho na concorrência principalmente na Microsoft. Vejamos alguns navegadores abaixo: Galeon; Hands Browser; Lynx; Links; Netscape; Opera; Firefox. QUESTÕES DE CONCURSOS 1) (Analista de Finanças e Controle AFC STN 2005) Para permitir que uma máquina com o sistema operacional Linux coexista em uma mesma rede com máquinas com sistema operacional Windows, permitindo o compartilhamento transparente dos recursos do Linux para usuários do Windows, deve-se instalar a) e configurar o Apache, tanto na máquina com o Linux quanto nas máquinas com Windows. b) na máquina com Linux uma cópia do Windows 2000, criando-se, assim, um dual boot. c) e configurar, nas máquinas com Windows, o conjunto de aplicativos do Samba, que utiliza o protocolo denominado Server Message Block (SMB). d) e configurar, na máquina com o Linux, o Samba, que é um conjunto de aplicativos do Linux que utiliza o protocolo denominado Server Message Block (SMB). e) e configurar o Apache na máquina com o Linux e, nas máquinas com Windows, o conjunto de aplicativos do Samba, que utiliza o protocolo denominado Server Message Block (SMB). 2) (Covest Instrutor de Telemática 2005) No sistema operacional Linux, qual das opções abaixo representa apenas tipos de interface gráfica? A) X Window, OpenOffice.org, Gimp. B) KDE, Gnome, X Window. C) OpenOffice.org, Gnome, Kurumin. D) KDE, Mandrake, Gimp. E) Suse, Mandrake, Conectiva. 3) (Covest Instrutor de Telemática 2005) Em Linux, os arquivos que terminam com extensão.rpm são bastante conhecidos e estão associados a: A) músicas e conteúdo multimídia. B) fontes e binários de programas empacotados. C) aplicações para gerência de redes. D) imagens vetoriais. E) antivírus. 4) (Covest Instrutor de Telemática 2005) No Sistema Operacional Linux, o BASH serve para: A) reproduzir músicas MP3. B) exibir e editar imagens. C) interpretar comandos. D) exibir espaço livre em disco. E) editar pequenos textos não acentuados. 5) (Covest Instrutor de Telemática 2005) Em Linux, SAMBA está associado a: A) protocolo para transmitir imagens em formato GIF B) reprodutor de músicas em formato MP3. C) reprodutor de músicas em formato WAV (compatível com Microsoft Windows). D) protocolo para compartilhar arquivos e impressoras com Windows. E) protocolo para intercâmbio de correio eletrônico e arquivos P2P. 6) (UFRJ Análise de Sistemas 2005) O programa apache, em ambiente Linux, serve para implementar um servidor: (A) DNS (B) HTTP (C) FTP (D) SMTP (E) DHCP Informática 8 Prof. Alexei Silva