Shell do GNU/Linux

O shell do GNU/Linux é um assunto essencial, pois é uma ferramenta muito poderosa onde podemos configurar nosso sistema, interpretar comandos, além de fornecer um ambiente poderoso de programação (programação em shell script).

[ Hits: 24.529 ]

Por: elvis em 18/06/2012


Tipos de shell e variáveis



Tipos de shell: Dentro da camada que corresponde ao shell, que foi mostrada na primeira imagem do artigo, é importante falar que para o GNU/Linux esta camada é como se fosse um programa, que roda assim que o sistema é carregado. Existem vários tipos de shell, o primeiro foi o:
  • C-shell: Que era um shell derivado da linguagem C, tivemos também o:
  • P-shell, K-shell, porém o mais utilizado hoje em dia é o:
  • bash: O nome vem de Bourne Again Shell, e atualmente é o mais completo e robusto interpretador de comados.

Mais funcionalidades do shell: É importante saber que o shell, além de ser um interpretador de comandos, também nos proporciona um ambiente de programação (programação em shell script), onde podemos automatizar diversas tarefas, reduzindo o trabalho do administrador GNU/Linux.

Variáveis do shell

Variáveis ambientais: O shell e seu funcionamento pode ser configurado ou customizado através das variáveis ambientais, que são posições de memória que guardam determinados valores que é lido pelo interpretador de comandos para que possamos configurar ou customizar o shell.

Exitem vários tipos de variáveis ambientais, cada uma com funções diferentes, temos a variável PS1 (Prompt String 1), esta variável armazena o prompt de comando do bash, e é representada pelo simbolo $ (cifrão) que aparece no terminal do GNU/Linux. Temos também a PS2 (Prompt String 2, ou Prompt String Extended), esta é muito usada. Quando precisamos digitar no prompt de comandos e precisamos de mais de uma linha, usamos esta variável.

Tenha em mente que as variáveis não afetam o funcionamento do shell, elas apenas fornecem informações uteis para o usuário, como o diretório corrente, usuário logado etc. Para visualizar qualquer variável ambiental, basta digitar no terminal o comando:

echo $PS
Veja que antes de listar a variável ambiental PS1 com o comando echo $PS1, estou mostrando algumas outras variáveis, que também podemos listar seu conteúdo com o comando echo $(nome da variável).

Caracteres especiais: O caractere "\" (contra barra) é um metacaractere que mostra para o interpretador de comandos que o próximo carácter depois da contra barra tem que ser interpretado como ele é. E não processado, como se fosse um programa em shell script.

Exemplo de prompt: Geralmente o prompt de comandos do GNU/Linux vem da seguinte forma:

\u@\h:\w\$

Este formato trás informações importantes, pois o \u mostra o nome do usuário, \h é utilizado para representar o nome do sistema (hostname), e por último mas bastante importante é o \w, que mostra o diretório corrente. Veja o exemplo abaixo, que estamos no diretório /home.
É importante lembrar que o shell diferencia letrar maiúsculas de minúsculas, sendo assim muito cuidado ao digitar comandos.

Variável PATH: Esta variável é muito importante, pois ela armazena uma lista de diretórios onde será acessado pelo sistema operacional para a execução de programas, caso ele não encontre a localização do programa desejado na variável PATH, dará um erro. Para visualizar a variável PATH, é só dar o comando:

echo $PATH
Diretório HOME: É um diretório especial, onde cada usuário tem o seu diretório home, ele é como se fosse a casa do usuário, possuindo todas as permissões para criar, alterar e apagar qualquer arquivo dentro do seu diretório home. Veja o meu diretório home e como visualizar o conteúdo dentro dele:

ls -l /home/elviseliton/
Ordem de execução: É importante saber que o shell segue uma ordem para localizar e executar os comandos digitados, veja a imagem com essa ordem:
Explicação: No primeiro passo o shell verifica se o que foi digitado é uma instrução interna. Uma instrução interna é um comando ou alguma solicitação que faz parte do shell, e ele não precisa chamar nenhum outro programa externo para executar o que foi pedido pelo usuário.

Se o que foi digitado não for uma instrução interna, significa que é um comando ou programa que precisa ser carregado na memória para que o mesmo possa ser executado. Caso seja um programa, o shell verifica se o mesmo está em algum diretório dentro da variável PATH que falei a pouco, caso não esteja no caminho PATH, o shell faz uma verificação se o caminho deste programa foi passado, caso não, isso gerará um erro para o usuário. Caso sim, ele vai executar o programa solicitado.

Visualizar todas as variáveis: Para que possamos visualizar todas as variáveis ambientais que são suportadas e carregadas pelo nosso interpretador de comandos, use o seguinte comando:

set
Essa imagem é um resumo, mas quando vocês digitarem no terminal vai aparecer mais informações. Não coloquei a imagem completa, pois iria ficar muito grande.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução ao shell
   2. Tipos de shell e variáveis
   3. Alguns comandos e conclusão
Outros artigos deste autor

Filtros de Texto no Linux

Concatenação, conexão e recursividade de comandos no GNU/Linux

Hierarquia do Sistema de Arquivos GNU/Linux

Leitura recomendada

Aplicativos do Windows que já tiveram suporte no Linux

Automação e Sensoreamento Remoto utilizando Software Livre "SCADA"

Instalação do Redmine no CentOS 6

Como criar pacotes para o Gentoo ou Sabayon Linux

Utilizando GNU/Autotools em Projetos

  
Comentários
[1] Comentário enviado por fernandowx em 18/06/2012 - 08:46h

Ficou muito bom o seu artigo, muito bem escrito.
Você pretende escrever sobre quais tipos de servidores linux?

[2] Comentário enviado por elviseliton em 18/06/2012 - 09:19h

Resposta para o fernandowx.
Ftp + tls, servidor proxy, dhcp, e firewall e outros. Porém o tempo esta curto para mim, mas vou escrever aos poucos, tendo cuidado com a qualidade do artigo. Pois tem muito conteúdo, onde algumas pessoas só fazer copiar e colar.

[3] Comentário enviado por magnodsb em 19/06/2012 - 11:24h

Muito bom artigo, esclarecedor como todos os artigos tem que ser.

[4] Comentário enviado por danniel-lara em 19/06/2012 - 12:16h

Parabén , muito bom o artigo

[5] Comentário enviado por elviseliton em 19/06/2012 - 16:04h

Valeu magnodsb, danniel-lara e todos os outros.

[6] Comentário enviado por removido em 20/06/2012 - 16:52h

O COMMAND.COM era shell do DOS e tinha um absurdo de comandos embutidos.

Ele era tão arcaico que quem nunca o viu tomaria um susto de tantas limitações.

Fora o fato da monotarefa, pouca memória, sem permissões, sem multiusuários. 100% ROOT.

Programas resdentes (TSR) eram um luxo.

Shell de doido mesmo é o ZSH, que é tipo um BASH com algum alucinógeno.

[7] Comentário enviado por removido em 21/06/2012 - 10:31h

Aprendi muito com seu artigo.

Claro e didático.


Ótimo trabalho!

[8] Comentário enviado por px em 11/07/2012 - 18:40h

nota 10 !

[9] Comentário enviado por maurixnovatrento em 15/08/2020 - 17:24h

MUITO bom.

___________________________________
Conhecimento não se Leva para o Túmulo.




Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts