imprimir
HackLab?
Manual de uso do Shell




Introdução


O shell, apesar de ser uma ferramenta aparentemente obsoleta, traz muito poder ao usuário e ainda é essencial no uso pleno do sistema operacional GNU/Linux. O console, denominação mais comum ao tipo de programa que é o shell do linux, é na verdade um dos poucos programa que sobreviveu a evolução dos computadores, antigamente todos eles tinham um único meio de se comunicar com os usuários, através de comandos digitados no console!

O console está presente na maioria dos sistemas operacionais, até mesmo no windows, e normalmente existem vários softwares específicos que o usuário pode escolher para ser seu console. Neste manual vamos nos refirir a um deles, software livre, além de ser um dos programas mais conhecidos para este fim, o Bash.

O bash permite que o usuário se comunique com o computador através da simples digitação de comandos em um terminal. Cada comando é na verdade um outro programa, que pode executar neste ambiente textual que é o console.

Para acessar o console a maneira mais fácil em máquinas com GNU/Linux instalado é teclar CTRL-ALT-F1. Ao teclar este commando o usuário sai do ambiente gráfico e vai para o ambiente de texto, para começar a usar o shell normalmente basta fazer login neste ambiente. Uma vez no modo texto você pode acessar outras instâncias do shell (e trabalhar em todas elas ao mesmo tempo!) clicando ALT-F1 para ir ou voltar ao primeiro console, ALT-F2 para ir ou voltar para o segundo console, e assim por diante até ALT-F4. Para voltar ao ambiente gráfico normalmente se usa o comando ALT-F7.

Se você não deseja sair do ambiente gráfico para usar o shell isto também é possível, bastando usar o programa xterm ou um de seus variants. Para executar este programa procure no menu de aplicações por xterm, gnome multi-term, ou algun variante, os icons usados para representar estes programas variam de conchas a pequenas representações de uma janela preta.

A janela do shell é esta que vemos na tela abaixo:



Para usar o shell, basta digitar comandos de texto no prompt. O prompt é uma linha que mostra algumas informações, normalmente o nome do usuário e o nome da máquina, que podem ser totalmente configuradas (no nosso exemplo isso pode ser feito através de arquivos de configurações do bash, digite “man bash” no terminal para descobrir mais).

O prompt pode ter diferentes aspectos, a seguir alguns exemplos:

capim ~ $

deathstar:~ alex$

Normalmente estas linhas são seguidas de um cursos que fica piscando, e você pode começar a utilizar o terminal, basta digitar qualquer comando!

Reconhecendo @ usuári@


Vamos ver agora alguns comandos importantes e suas respectivas saídas, um primeiro exemplo.

deathstar:~ alex$ whoami
alex

Este comando pergunta ao computador qual usuário esta logado no terminal, a resposta no caso acima foi que o usuário “alex” estava logado

Navegadar por diretórios


Um outro comando, um pouco mais complicado, é o “ls”, vejamos um exemplo:

deathstar:~ alex$ ls
Desktop Music jakarta-tomcat-4.1.24
Documents Pictures jakarta-tomcat-5.0.19
GriloFalante Public perlSec.pl
Incomplete Send Registration toast.tgz
Library SharedLimeWire? vw7.2nc
Magazines Sites
Movies index.html

Este comando serve para listar o conteúdo de um diretório, normalmente o diretório no qual você esta dentro aparece no prompt, para entrar em um novo diretório basta usar o comando “cd” seguido do nome do diretório, um exemplo:

deathstar:~ alex$ cd Music/
deathstar:~/Music alex$
deathstar:~/Music alex$ ls
maquina_de_ritmo.ogg I_will_survive.mp3

Alguns outros comandos relacionados a manipulação de arquivos e diretórios são:
  • rm nome.do.arquivo.txt -> apaga o arquivo “nome.do.arquivo.txt”
  • rmdir nomeDoDir -> apaga o diretório “nomeDoDir”
  • cd .. -> volta ao diretório pai
  • touch arquivo.txt -> cria o arquivo com nome “arquivo.txt” vazio


Conteúdo do Arquivo


Alguns comandos servem para você ver o conteudo de um arquivo, neste grupo de comandos temos o “cat” e o “less”, vejam o exemplo:

deathstar:~/Documents alex$ cat texto.txt
este é um texto.
ele tem 3 linhas.
esta é a terceira linha
deathstar:~/Documents alex$

Usando o Shell com programas


Existem programas que rodam em modo texto (todos os comandos que vimos até agora são programas deste tipo) que realizam operações um pouco mais complexas, para editar textos por exemplo você pode tentar rodar o “vi”, o “pico”, ou até mesmo “nano” ou “jed”.


Autocompletar


Uma característica muito legal do shell, que permite inclusive que você explore os comandos disponíveis é a completação automática de nome de comandos, experimente fazer o seguinte, digite somente “lo” no terminal e tecle o TAB

deathstar:~/Documents alex$ loc
local locate lock lockfile
deathstar:~/Documents alex$ loc

O terminal listou todos os complementos de comandos possíveis que começam com as letras “loc”, experimente acresentar as letras “at” no final e tecle TAB novamente, desta vez o shell completa o comando “locate” pois não existe mais nenhum comando com as mesmas iniciais.

Este excelente recurso funciona também para completar nomes de arquivos. Podemos perceber que por mais dificíl que possa parecer, o shell é na verdade um ambiente fácil de aprender e de usar, existem estudos inclusive que dizem que a interface de comandos no modo texto é mais fácil de aprender do que interfaces gráficas complicadas que dependem do mouse além do teclado.


Acessar manuais


Um último comando simples que todos precisam conhecer é o “man”. Para usá-lo basta digitar na sequência um nome de programa. Este comando então mostar uma página de ajuda com detalhes sobre o programa, vejam o exemplo:

capim ~ $ man whoami
Reformatando whoami(1), por favor aguarde...

WHOAMI(1) User Commands WHOAMI(1)

NAME
whoami - print effective userid

SYNOPSIS
whoami OPTION...

DESCRIPTION
Print the user name associated with the current effective user id.
Same as id -un.

--help display this help and exit

--version
output version information and exit

AUTHOR
Written by Richard Mlynarik.

REPORTING BUGS
Report bugs to .

COPYRIGHT
Copyright ? 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is
NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

SEE ALSO
The full documentation for whoami is maintained as a Texinfo manual.
If the info and whoami programs are properly installed at your site,
the command

info coreutils whoami

should give you access to the complete manual.

whoami 5.2.1 July 2004 WHOAMI(1)
Manual page whoami(1) line 19/43 (END)

Este comando listou a página de ajuda dentro do programa “less”, você pode navegar pela página usando as teclas direcionais e para sair basta clicar ESC. Neste exemplo a página veio em inglês, mas é simples configurar o seu sistema para mostrar a ajuda em português.

Esses foram alguns comandos simples para você começar a se aventurar pelo shell, agora iremos listar uma série de coisas que podem acontecer e alguns comandos no shell que podem te ajudar a resolver problemas:

Aplicações travadas


Uma aplicação travou e não consigo fazer mais nada.
Para resolver este problema use um combo dos comandos “ps” e “kil”:

deathstar:~/Documents alex$ ps
PID TT STAT TIME COMMAND
3318 std S 0:00.32 -bash
3358 std S 0:00.01 less
deathstar:~/Documents alex$ kill 3358
deathstar:~/Documents alex$ ps
PID TT STAT TIME COMMAND
3318 std S 0:00.34 –bash
1+ Terminated less

Aqui nós usamos o comando “ps” para listar todos os programas que estavam rodando, na saida deste comando descobrimos o número do programa que estava com problemas (o less) ai usamos o comando kill em conjutno com este número para matar o programa sem ter que reiniciar o computador, simples não é?

Quero saber se a rede está funcionando


Use aqui o comando “ping” basta digitar o comando seguido de um endereço na internet, se a rede estiver funcionando o ping vai imprimir linhas dizendo quanto tempo demorou para obter uma resposta do endereço consultado.

O meu CD-ROM não funciona


Para resolver este problema use o comando “mount“

capim ~ $ ls /cdrom
capim ~ $

capim ~ $ mount
/dev/hda1 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/hda5 on /home type ext3 (rw)
/dev/hdc2 on /digiltao type ext2 (rw)
usbfs on /proc/bus/usb type usbfs (rw)
capim ~ $ mount /cdrom
capim ~ $ ls /cdrom
Musica1.mp3 Musica2.mp3 Musica3.mp3

Estes são apenas alguns exemplos de como o terminal pode ajudar você em situações um pouco mais complicadas, para conhecer mais converse com amigos mais experientes e troque informações. O importante é estudar os comandos e não ter medo de enfrentar o terminal de vez em quando!

Última alteração: 11/09/2006 às 19:43, por: drica