Português do Brasil English
Devin no Facebook  Devin no Twitter  RSS do Site 
Linux    

Primeiros contatos com o Linux


Comentários  6
Visualizações  
32.860

Depois de gastar um tempinho instalando uma distribuição Linux, ver ela inicializando e mexendo um pouco na interface gráfica, pode ser que bata aquela curiosidade em saber como as coisas funcionam… O básico do básico, os primeiros passos para entender o sistema, a estrutura de diretórios, o que significam esses prompts de comando, como se virar na hora das dúvidas… São assuntos essenciais para quem quer mexer bem com este sistema operacional e com o tempo ficar ligeiro para usar o sistema e solucionar dúvidas.

Inicialização do Sistema Linux

Ao iniciar um sistema Linux, geralmente muitas informações aparecem na tela. Estas informações são o que chamamos de mensagens do kernel. Estas mensagens mostram o que está sendo carregado na memória do sistema, como por exemplo dispositivos de disco, CDs, drivers de rede, entre outros. Estas mensagens são muito importantes, pois no futuro irão ajudar a diagnosticar problemas, ver o que está sendo reconhecido pelo kernel, entre outras coisas mais.
Pode ser que em sua distribuição de escolha, as mensagens não apareçam, ou então uma janela gráfica aparecerá no lugar. Neste caso, para visualizar as mensagens de boot posteriormente, utilize o seguinte comando:

$ dmesg

Todas estas mensagens do kernel também são gravadas no arquivo /var/log/messages, mas este arquivo só pode ser lido pelo administrador do sistema (root).
Logo após as mensagens de kernel, o init entra em ação. O init é o encarregado de iniciar todos os serviços da distribuição, como serviços de impressão, fontes, configurações de teclado e mouse, interfaces de rede, entre muitos outros. Para fins de informação, estes scripts de serviços se encontram geralmente no diretório /etc/init.d.

É importante observar a inicialização do Linux para ver se está tudo ok, se os serviços não deram erros ou se algo que não é preciso está sendo iniciado.

Login e Linha de Comando

Após todas as mensagens de boot, o sistema irá pedir uma tela de login de usuário. Como veremos mais adiante, o Linux é multi-usuário, ou seja, suporta vários usuários. Dependendo da configuração usada na instalação, esta tela de login pode ser em modo gráfico ou texto.

Na instalação, geralmente se escolhe uma senha para o root e também é criado um usuário normal. Logue-se como root ou como usuário normal usando o nome do usuário e a senha escolhida. Neste curso, a senha do usuário root é poder e o usuário normal é o eitch, com a senha digital. Novamente, dependendo da sua configuração inicial de distribuição, você irá acessar a interface gráfica ou o console (modo texto).

Se você está no modo gráfico, primeiro vamos trabalhar no modo texto. Aperte a combinação de teclas: CTRL+ALT+F1. A tela de login no modo texto será apresentada, logue-se com o usuário eitch. Feito o login, você estará logado e receberá um prompt de comando, o qual chamamos de shell:

eitch@maquina:~$ 

ou

[eitch@maquina ~]$ 

A diferença entre tipos de prompts variam de distribuição para distribuição. No caso acima, o primeiro campo de cada prompt representa o usuário, que no nosso caso é “eitch”. O segundo campo especifica o nome da máquina, que no exemplo são respectivamente aluno1 e aluno2 (portanto, duas máquinas diferentes). O terceiro campo é o diretório em que o usuário se encontra, no nosso caso o “~”, que significa o diretório padrão do usuário.

O último caracter do prompt, que no nosso caso é o “$”, significa que tipo de usuário você é e tem apenas duas possibilidades: “$”, que significa usuário normal; e “#”, que significa super-usuário (root). O modo com que o prompt é apresentado pode ser controlado através da variável de shell PS1.

O modo texto, por padrão nas distribuições, está disponível em 6 telas diferentes. Em cada uma das telas é possível abrir uma “sessão” de usuário. Experimente apertar a combinação de teclas CTRL+ALT+F1, CTRL+ALT+F2, CTRL+ALT+F3, […] até CTRL+ALT+F6. Isto o levará para os consoles de número 1, 2, 3, 4, 5 e 6. A partir do 7, o Linux reserva especialmente para as interfaces gráficas funcionarem.

Apesar de parecer rudimentar, o ambiente texto possui tudo o que é preciso para usar um sistema operacional. Dependendo do que se usa, é completamente viável utilizar o sistema sem uma interface gráfica. Podemos utilizar o links para navegar na Web, ler e-mails com o mutt, editar textos com o vi, emacs ou nano, criar tarefas automatizadas com o shell-script e muito mais.

Modo Gráfico

Inicialmente, o Linux como todo UNIX tinha como interface principal entre o usuário e o sistema um terminal texto, o chamado console. Ao longo do tempo, foram desenvolvidas várias soluções que implementavam uma interface gráfica, com o conceito de mouse e janelas. Apesar disso, as pessoas não costumavam usar as interfaces gráficas dos sistemas Unix e por isso nunca houve uma grande aceitação.

Com a popularização do Linux por ele ser um software livre e estar disponível para toda a Internet, alguns ambientes gráficos promissores começaram a aparecer. Em todas as distribuições Linux é incluído o X.org, um servidor X totalmente gratuito e de código-aberto. O servidor X é quem vai fornecer o recurso de gerar a interface gráfica e conversar com a placa de vídeo, monitor e dispositivos de entrada como teclado e mouse. Para que haja um desktop, é necessário também a existência de um gerenciador de janelas.

Os gerenciadores de janelas são responsáveis por gerar as janelas, controlar o comportamento das mesmas (minimizar, maximizar…), agrupar e gerenciar as telas dos programas, fornecer temas gráficos para o ambiente ficar mais agradável, entre outros. Os gerenciadores de janelas utilizam as bibliotecas gráficas do servidor X para gerar suas janelas. Sem um gerenciador de janelas, é inútil se usar um servidor X.

Se você estiver no modo texto e o servidor X estiver ativo, aperte a combinação de teclas CTRL+ALT+F7 para ir ao modo gráfico. Como dito anteriormente, o Linux por padrão reserva os terminais 7 em diante para o modo gráfico. Se existisse um outro ambiente gráfico sendo executado (o que é possível), ele poderia estar também no terminal 8, podendo ser acesso através da combinação de teclas CTRL+ALT+F8.

Caso aconteça algum problema no servidor X, ou alguma configuração que você fez estiver errada e algo ficar inacessível, a combinação de teclas CTRL+ALT+BACKSPACE mata o servidor X, forçando a saída de todos os programas do gerenciador de janelas e voltando ao modo texto.

Dentro do ambiente gráfico, pode-se executar programas como navegadores de Internet, leitores de e-mail, suíte de escritório, jogos, editores de imagens, entre muitos outros programas que já vem no Linux. É possível também executar uma janela de terminal, que seria o equivalente a se logar no modo texto.

Conceito de Multi-Usuário

Como você pôde notar através das possibilidades de login, o Linux é o que chamamos de multi-usuário. Para um sistema ser multi-usuário, ele deve ser capaz de abrir sessões de vários usuários simultâneamente. Foi o que ocorreu anteriormente, quando pudemos nos logar em 6 terminais textos diferentes, com usuários distintos, e uma vez no ambiente gráfico.

Apesar de que no começo podemos nos logar “apenas” em 7 lugares diferentes, pode-se muito bem criar outras formas de login e aumentar esse número. Por exemplo, ao utilizar o utilitário ssh para acesso remoto, temos a possibilidade de nos logar com quantos usuários quiser, pois cada conexão é um login diferente.

Sabendo disso, podemos afirmar também que em termos de sistema operacional, tudo dentro do Linux é multi-usuário. Cada usuário tem seus arquivos, seus diretórios e seus programas. Cada um pode executar tarefas diferentes e simultâneamente. Isso é o que chamamos também de ser multi-tarefa.
Por exemplo, você pode consultar um arquivo texto que está em um certo diretório, enquanto outro usuário acessa um CD-ROM, enquanto outro navega pela Internet, tudo ao mesmo tempo. Apesar deste conceito parecer comum, em tempos passados haviam sistemas mono-tarefas e mono-usuários, onde só se podia executar uma coisa de cada vez, com apenas um usuário.

É importante ressaltar que com essa divisão por usuários, os arquivos e programas também terão restrições. O usuário principal do Linux é chamado de root e ele é o usuário que pode acessar, controlar e fazer tudo no sistema: o administrador. Enquanto os usuários normais só poderão acessar seus documentos e executar apenas algumas aplicações, o root poderá fazer tudo, inclusive definir quais usuários poderão fazer o quê.

Uma prática comum e importante no Linux é nunca utilizar o usuário root, a não ser que seja para tarefas realmente administrativas que requerem o root. É recomendável que você crie um usuário comum e use-o para as tarefas do dia-a-dia. Como todos nós podemos cometer erros, cometendo um erro como usuário normal não fará mal algum ao sistema como um todo, já que só o root pode alterá-lo.

id

O usuário de uma sessão geralmente é identificado pelo seu UID (User ID): um número único que identifica o usuário. Este número é geralmente associado com um nome de usuário. Uma vez logado no sistema, uma maneira de descobrir posteriormente quem é o seu usuário é utilizando o comando id:

$ id
uid=1002(eitch) gid=1002(eitch) groups=1002(eitch)

Localizações e Diretórios

Quando se faz login com um usuário no Linux, o usuário “cai” no seu diretório, que chamamos de diretório HOME. Por exemplo, ao se logar com o usuário eitch, o usuário ao abrir uma shell vai estar localizado no diretório /home/eitch. Apesar disso não ser muito visível no ambiente gráfico, em um terminal é bastante importante.

O conceito de pastas e diretórios, no Linux, segue em forma de uma única árvore hierárquica. Ou seja, tudo parte de uma raiz, que seria o tronco da árvore, e a partir desta raiz vão haver os diretórios e sub-diretórios. A raiz do Linux é o diretório “/”, então todos os diretórios dentro dele vão começar com o símbolo “/”.

Por exemplo, o diretório HOME do usuário eitch é /home/eitch,. Vamos supor que existam outros usuários dentro do sistema, um chamado aluno, outro chamado usuario e outro chamado professor. Escrevendo em forma de árvore, seria o mesmo que:

Raiz (/)
  \-home
     \-eitch
        \-documentos
        \-programas
     \-aluno
     \-usuario
     \-professor
  \-bin
  \-tmp

Note que dentro do diretório /home/eitch, temos os diretórios documentos e programas. Dentro do /home temos os diretórios eitch, aluno, usuario e professor (diretórios HOME de usuários). Dentro da raiz (/) temos outros diretórios além do home: bin, tmp.

Estes últimos diretórios fazem parte do padrão de uma distribuição Linux, definido pelo FHS, discutido anteriormente. Cada diretório dentro da raiz tem uma função distinta, então podemos dizer que a estrutura de diretórios no Linux é dividida da seguinte forma:

  • /bin

Arquivos executáveis que são usados pelo sistema freqüentemente. Aqui encontramos por exemplo os interpretadores de comandos (bash, ash, etc), o df, chmod, date, kill, dmesg, pwd, ls, cp, mv e muito mais. São os comandos essenciais, utilizados por todos os usuários.

  • /boot

Arquivos de inicialização, como os mapas de boot, arquivos do gerenciador de boot e as imagens do kernel Linux que são carregados logo após a inicialização do computador.

  • /dev

Referências aos dispositivos do sistema. O conteúdo deste diretório não é composto por arquivos comuns, mas sim arquivos especiais que representam dispositivos, como partições em discos, cd-rom, terminais, portais seriais, entre outros.

  • /etc

Configurações do sistema e suas aplicações. Contém todos os arquivos de configuração dos principais (senão todos) programas do sistema. Por exemplo: arquivos de usuários e senhas, scripts de inicialização, configurações de rede, configuração do modo gráfico, entre outros.

  • /home

Diretório dos usuários. Uma espécie de casa para cada usuário colocar seus arquivos e programas, separados do resto do sistema.

  • /lib

Bibliotecas essenciais para o funcionamento do sistema (como a biblioteca C, bibliotecas do sistema de arquivos, entre outros), além dos módulos do kernel.

  • /media

Ponto de montagem para dispositivos removíveis como pen-drives e cds.

  • /mnt

Ponto de montagem genérico.

  • /opt

Diretório utilizado para aplicações de terceiros, que não seguem o padrão de hierarquia do Linux e não são suportados pela distribuição em forma de pacotes.

  • /proc

Diretório especial que contém pseudo-arquivos (não existem na verdade) com informações sobre os processos do sistema e o hardware do computador.

  • /root

O diretório HOME do usuário root, administrador do sistema.

  • /sbin

Parecido com o /bin, porém com utilitários do sistema que geralmente só podem ser manipulados pelo usuário root. Exemplos: fsck, ifconfig, depmod, etc. Apesar dos usuários comuns geralmente terem acesso à estes executáveis, os programas deste diretório só tem poder completo se forem executados como root.

  • /sys

Informações sobre todo o hardware e dispositivos do computador, fornecido pelo kernel.

  • /tmp

Diretório temporário, onde os programas e usuários criam arquivos com informações que podem (e devem) ser removidas logo após o seu uso. Neste diretório, todos os usuários (independente do nível) podem criar e remover arquivos.

  • /usr

Esta é uma sub-hierarquia. Enquanto a raiz pode ser considerada para os programas essenciais ao sistema, o /usr pode ser considerado a hierarquia para os programas opcionais de uma distribuição Linux. Ele contém diretórios como bin, sbin e lib, aos quais seguem o mesmo padrão da raiz, só que para estes programas específicos, ao invés dos programas considerados essenciais do sistema.

  • /usr/local

Uma outra hierarquia, da mesma forma que o /usr, só que para programas de terceiros, instalados manualmente, fora dos padrões da distribuição. Geralmente os programas que são compilados e instalados manualmente vão parar por aqui.

  • /var

Contém informações variáveis, ou seja, que estão mudando a todo momento. Exemplos disso são dados de bancos de dados, caches de servidores proxy, arquivos de lock, e-mails e logs do sistema.

  • /var/log

Contém os logs do sistema e suas aplicações. É o ponto de partida para começar a identificar um problema no sistema, então é muito bom lembrar dele.

Buscando Ajuda

O que você faz quando está confuso com algum comando? Ou não entendeu bem o funcionamento de um certo programa? Ou quer se aprofundar mais em um assunto dado no treinamento? As distribuições Linux contam com vários meios de se obter ajuda e resolver problemas. Caso você não tenha sempre disponível alguém para perguntar, que tal perguntar aos recursos oferecidos no sistema e na Internet?

As páginas de manual

Ao se deparar com algum comando novo, você não sabe como ele funciona, quais são seus parâmetros, o que ele faz exatamente? Há uma maneira bem fácil de entender melhor e de forma detalhada os comandos: com as páginas de manual (man pages). Cada comando tem sua página de manual e dentro destas páginas há uma descrição do comando, para que ele serve, quais são seus parâmetros, bugs conhecidos, quais são seus autores, arquivos e outros comandos relacionados. Para acessar uma página de manual, utilize o seguinte comando:

$ man comando

Por exemplo, se você está com dúvida sobre o comando ls, simplesmente digite man ls e aparecerá um manual falando apenas deste comando, com todos os seus parâmetros e funções. Este recurso é muito bom porque o usuário consegue uma ajuda bem rápida e precisa, além de servir como uma referência sempre disponível no sistema.

Nas páginas de manual, é possível utilizar as setas para navegar no documento para cima e para baixo, utilizar as teclas PgUp e PgDown para paginar, o comando /pesquisa para pesquisar por uma palavra no documento e a tecla q para sair.

Documentos disponíveis

Um recurso muito bom para ser utilizado são as várias documentações do Linux. Se você tiver instalado toda a documentação do sistema, poderá encontrá-los no diretório /usr/share/doc. Neste diretório você encontra os arquivos de documentação de todos os pacotes instalados no sistema. Podemos encontrar também os HOWTOs, que ensinam a fazer algo em específico. Também há os FAQs que respondem às dúvidas frequêntemente perguntadas pelos usuários e alguns históricos de listas de discussões.

Sobre os HOWTOs, o site oficial para todos os HOWTOs relacionados ao Linux é o The Linux Documentation Project, disponível no endereço: http://www.tldp.org.
Ler a documentação é indispensável para o aprendizado de novos conceitos e na especialização de certos recursos que o Linux pode oferecer. Apesar da grande maioria dos documentos estarem em inglês, há também vários deles traduzidos para o Português do Brasil.

Comandos para Ajuda

Além do comando man podemos contar com uma série de outros comandos que ajudam no dia-a-dia. Temos o comando info, que é semelhante ao man: traz informações sobre um certo comando. O comando locate procura por arquivos que estão incluídos no banco de dados do updatedb (atualizado todo dia de madrugada pelo sistema, ou pelo comando updatedb como root). Há também o whatis que procura no banco de dados (criado pelo comando makewhatis) algum comando relacionado a uma certa palavra. Estes comandos vão certamente ser companheiros nas horas de aperto.

Sites e Fórums

A Internet se provou um ambiente bastante propício para a troca de informações. Seguindo o conceito do software livre, o conhecimento também deve ser compartilhado! E é isto o que acontece em uma grande lista de sites sobre Linux. No Brasil, podemos citar alguns sites como referência:

  • BR-Linux – Blog de notícias sobre software livre, tecnologia e Linux.
  • Dicas-L – Site com dicas diárias sobre software livre e Linux.
  • Guia FOCA Linux – Manuais detalhados sobre Linux.
  • Softwarelivre.org – Site do Projeto Software Livre Brasil.
  • Viva o Linux – Site com tutoriais, artigos e fóruns sobre Linux.
  • Guia do Hardware – Site com vários tutoriais, artigos e fóruns sobre Linux e outros assuntos da Informática.

Listas de discussão

Listas de discussão são muito utilizadas no mundo todo. Com elas podemos tirar dúvidas, conversar e trocar e-mails com uma grande quantidade de pessoas. É um recurso bastante usado principalmente pelos projetos de programas e distribuições, além de grupos de usuários.

Se você tem alguma dúvida que não conseguiu resolver lendo as páginas de manual, ou lendo os HOWTOs, os FAQs e ou até mesmo procurando em sites pela Internet, o recomendado é você ir para as listas de discussão, tentar encontrar alguém que saiba a resposta para a sua dúvida. Mas lembre-se sempre de ser educado, escrever o bom português e perguntar de maneira adequada. Algumas listas de discussão em português:

32.860

Comentários  6
Visualizações  
32.860


TagsLeia também

Apaixonado por Linux e administração de sistemas. Viciado em Internet, servidores, e em passar conhecimento. Idealizador do Devin, tem como meta aprender e ensinar muito Linux, o que ele vem fazendo desde 1997 :-)


Leia também



Comentários

6 respostas para “Primeiros contatos com o Linux”

  1. guilherme disse:

    ola eu to precisandu di uma ajudinha ^^ eu istalei pelo cd rom u ubuntu apos eu reiniciar o computador não consigo mais usar ele , xegu ate a parte ondi eu escolhu entre usar u ubuntu ou xp depois aparece uma msgen impedindu meu procimu passo si puderem mi ajudar eu agradesu desde já

  2. gabriel coelho disse:

    vê, eu instalei o ubuntu e naum sei usá-lo muito bem. quando eu vou fazer uma pasta na minha pasta n funciona. me envia respostas para o meu e-mail por favor.

  3. grazy disse:

    to gostando profe vc é dez

  4. Kadu disse:

    Ainda não entendi aonde colocar os comandos G_G

    Ahh.. eu uso Ubuntu 10.10

    comofas?

  5. Guto disse:

    Parabens pelo tutorial……mas as duvidas que chegam são muito 'emo'…uhauahuha.

    Nao conhecia o site….to achando muito bom! Vai do noob ao core com boa didatica.

    Guto!

  6. elizeu disse:

    pow bem bacana suas aulas issu ai e justamente o que eu estou estudando no momento mutio bom mesmo.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *