Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Vector Linux 5.1
Por lopanrs
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Introdução ao shell
Linux user
vodooo
08/07/2008
A interface principal de um usuário Linux com o sistema operacional, no modo texto, é a linha de comando, e é o interpretador de comando que fornece esta interface, recebendo os dados do usuário e enviando-os para o sistema. Neste artigo estarei falando sobre shell e todas as suas funcionalidades.
Por: Eduardo Vieira Mendes
[ Hits: 28015 ]
Conceito: 9.8   3 voto(s)3 voto(s)3 voto(s)3 voto(s)3 voto(s) + quero dar nota ao artigo

Apresentação

A maneira mais comum de se utilizar/administrar uma máquina Linux é através de uma interface em modo texto. Para isto, um shell é disponibilizado. Um shell é basicamente um programa que interpreta o que o usuário digita (comandos) e envia para o sistema operacional, oferecendo funcionalidades para a interação entre estes.

Os comandos são interpretados pelo shell e enviados para sua execução. Com isso, um shell pode também ser utilizado para programação simples - a maioria dos shells inclui funcionalidades de programação, o que facilita a criação de scripts automatizados e até programas relativamente complexos utilizando apenas comandos comuns do sistema. Esses programas e scripts são comumente conhecidos como "scripts shell". É a combinação de um bom shell com pequenos programas utilitários do sistema que oferece toda a flexibilidade e poder de uma interface texto.

Existem três tipos de execução de um shell: shell de login, shell interativo e shell não interativo. As diferenças entre eles são citadas a seguir:
  • Um shell de login é normalmente aquele em que o usuário dá o login no sistema. Quando o shell é iniciado como um shell de login, ele primeiro lê e executa os comandos que estão no arquivo /etc/profile (se esse arquivo existir). Após isso, o shell procurar por seus arquivos de configuração (~/.bash_profile, ~/.bash_login e ~/.profile, por exemplo - lembrando que o caractere til é a representação do diretório home do usuário; exemplo: /home/eduardo). Ele irá executar os comandos presentes no primeiro arquivo de configuração que possa ser lido. Ao terminar uma sessão de um shell de login, serão executados os comando presentes no arquivo de configuração, se existir (~/.bash_logout, por exemplo), enquanto que um shell interativo não executa estes comandos.
  • Um shell interativo é aquele no qual você digita os comandos e aguarda enquanto o comando executa, interagindo com o sistema. Quando um shell interativo é iniciado, ele lê e executa os comandos presentes no arquivo de configuração do usuário (se esse arquivo existir; por exemplo, o ~/.bashrc). Normalmente, um shell de login também é um shell interativo.
  • Um shell não interativo é um shell utilizado para executar um script, por exemplo, onde o usuário não faz interação com a linha de comando.

Existem vários shells disponíveis para Linux; os principais são citados a seguir:
  • Sh ou Bourne Shell: este é o shell original, ainda usado em sistemas Unix e ambientes relacionados. Ele é um programa pequeno, com poucos recursos, compatível com o POSIX.
  • Bash ou Bourne Again Shell: é o shell padrão GNU, bastante intuitivo e flexível. Usado tanto por usuários iniciantes como programadores. Ele emula o Bourne Shell, incluindo uma gama de recursos adicionais e plug-ins, ou seja, o que é executado com o sh pode ser executado no bash, mas nem sempre a recíproca é verdadeira.
  • Csh ou C Shell: a sintaxe deste shell é dirigida a programação C, e ele é direcionado para programadores.
  • Tcsh ou Turbo C Shell: um conjunto do csh, com uma interface mais amigável, uma velocidade maior e com mais recursos.
  • Ksh ou The Korn Shell: apreciado mais por pessoas que vieram do mundo Unix, é baseado no Bourne Shell, sendo extremamente complicado para usuários iniciantes.

O shell mais comumente usado em ambiente Linux é o bash, e ele será utilizado no restante do artigo.

Próxima página >>




Páginas do artigo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por elgio em 08/07/2008 - 10:28h:

Ótimo artigo para iniciantes!! E muito bem escrito. Parabéns!

[2] Comentário enviado por SMarcell em 08/07/2008 - 12:44h:

Parabéns pelo artigo cara! Ah! Só complementando:

---------
# Tcsh ou Turbo C Shell: um conjunto do csh, com uma interface mais amigável, uma velocidade maior e com mais recursos.
# Ksh ou The Korn Shell: apreciado mais por pessoas que vieram do mundo Unix, é baseado no Bourne Shell, sendo extremamente complicado para usuários iniciantes.
---------

- O T no tcsh não se refere a Turbo, e sim a Tenex C Shell (mais detalhes man tcsh);
- O ksh não tem nada de complicado. Se fosse assim, então o bash também o seria, já que ele se utiliza basicamente da mesma sintaxe do ksh (o bash é uma compilação das principais características do sh, csh - poucas por sinal e do ksh).

Só faltou você citar o fantástico zsh =) que reúne as características do sh, csh, tcsh, ksh e do bash, além de muitas outras próprias.

[3] Comentário enviado por albfneto em 08/07/2008 - 12:53h:

artigo muito bom. Tem outros, modificados como por exemplo o interpretador de comandos Fish.

[4] Comentário enviado por henryvieri em 08/07/2008 - 14:32h:

Bem legal este artigo, parabéns cara!!!

[5] Comentário enviado por eduardo em 08/07/2008 - 16:09h:

Muito bom seu Artigo. (diferente dos artigos sem conteúdo de meia página :P)

[6] Comentário enviado por vodooo em 09/07/2008 - 09:44h:

Obrigado a todos pelos elogios.

SMarcell, orbigado pelas correções.

Abraços a todos!


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.