Hugo Cisneiros (Eitch), hugo arroba devin ponto com ponto br
Versão 4.0, 2006

The Linux Manual

3.2. Usando a Shell do Linux (Bash)

Índice

3.2.1. Características da shell
3.2.2. Configurando o PATH
3.2.3. Editando arquivos

Como dito anteriormente, na interface console há o que chamamos de interpretador de comandos, ou shell. Existem vários tipos de shell, mas aqui explicarei um pouco sobre a shell bash, que é a shell padrão da grande maioria das distribuições.

Antes de mais nada, só quero dizer que se você é um usuário comum que não quer nem saber de obter sempre mais conhecimento e se aperfeiçoar, aprender sobre o console nem será tão útil... O modo console é sempre bom para você sempre saber o que está acontecendo por trás das coisas: ele te dá o poder da liberdade no seu sistema. Nem sempre é bom ficar preso atrás das janelas, né?

Lembre que essa seção e a Seção 3.3, “Comandos” estão interligadas. Uma complementa a outra e é bom ler essa parte e ir praticando também com os comandos demonstrados :)

3.2.1. Características da shell

Algumas características do Linux em si e sua shell:

  • Nos prompts do Linux, quando se acaba com o símbolo $, isto quer dizer que você está logado com um usuário normal. Se você estiver logado com o root, ao invés do símboloa $, no final do prompt existirá o símbolo #

  • Nos nomes dos arquivos, os caracteres MAIÚSCULOS e minúsculos fazem a diferença. Isso quer dizer que por exemplo: os arquivos PROGRAMA.tar.gz e programa.tar.gz são dois arquivos completamente diferentes! Ou então: ls é um comando e LS é um erro :)

  • No Linux, não existem extensões .EXE, .COM especial para programas executáveis. Ao invés disso, os arquivos têm permissão de executável ou não. O comando ls (Seção 3.3.1.2, “ls - Listar arquivos”) e a parte Seção 3.6, “Permissões de arquivos” explicam isso melhor.

  • Além de arquivos comuns, no Linux existem os chamados links simbólicos, que são nada mais nada menos que uma espécie de atalhos. A parte Seção 3.3.1.9, “ln - Linkando arquivos” explica melhor isso.

  • O Linux é um sistema multi-tarefa, por isso, ele pode ser acessado por vários consoles ao mesmo tempo, assim como pode ser rodado vários programas ao mesmo tempo. Para mudar o console do 1 a 6, utilize Alt-N, onde o N corresponde ao número do console. Exemplo: Alt-F1, Alt-F2, Alt-F3, Alt-F4, Alt-F5 e Alt-F6.

  • Depois de logado, se quiser sair, utilize o comando exit, ou o comando logout ou ainda a combinação de teclas Ctrl-D.

  • Se algum programa estiver rodando no seu console, aperte as teclas Ctrl-Z para suspender esse programa e voltar para o prompt. Para voltar pro programa, utilize o comando fg. Para listar os programas suspendidos na sessão atual, utilize o comando jobs.

  • Exite um recurso muito interessante nas shells do Linux, que é o tab completion. Com ele você pode completar comandos ou nomes de arquivos mais rapidamente sem precisar digitar tudo. Para utilizar esse recurso, basta apenas digitar as primeiras letras do comando ou arquivo e apertar a tecla Tab. O Linux irá completar o comando ou arquivo para você. Caso haja mais de um arquivo começando com as letras que você digitou, apertando Tab mais uma vez irá lhe dar todas as opções. Tente! Muito legal né? Quando você for digitar, seus amigos vão ficar impressionados em como você digita tão rápido os comandos e arquivos! ;-)

3.2.2. Configurando o PATH

Quando falamos em PATH, queremos dizer se um determinado diretório está acessivel sempre, de qualquer lugar, para executar comandos. Quando um comando está dentro de um diretório PATH, quer dizer que de qualquer lugar você poderá executá-lo. Você poderá querer mudar o PATH para colocar algum diretório de algum programa qe você instalou ou coisa parecida e isso é feito na shell bash. Para ver os atuais diretórios que estão no PATH da sua shell, digite o seguinte comando:


$ echo $PATH

Se o diretório desejado não estiver na lista, coloque-o dessa maneira:


$ PATH=$PATH:/diretorio/a/ser/colocado/no/path

Isso colocará o /diretorio/a/ser/colocado/no/path no PATH.

[Dica] Dica

Essas instruções são válidas somente para uma seção! Ou seja, são temporários. Se você quiser colocar um PATH permanente para o seu usuário, coloque num profile pessoal, incluindo o comando mostrado no arquivo /home/usuario/.bashrc. Se quiser ser um PATH global, coloque o comando no arquivo /etc/profile.

3.2.3. Editando arquivos

Você sempre vai precisar editar arquivos no Linux. Isso fará com que você aprenda ainda mais sobre o funcionamento dos programas e serviços que funcionam nele. Para editar um arquivo na shell, você precisará de um editor de texto para console. Nas distribuições atuais, existem os seguintes editores de arquivos disponíveis para você usar:

  • vim

  • emacs

  • joe

  • nano

Experimente usar estes programas para editar seus arquivos! O nano e o joe são os mais fáceis. Eu utilizo o vim: o melhor amigo do homem! Mas tem gente que prefere o emacs... Questões de gosto ok? :D