Home » shell

Como criar um Shell Script simples para automatizar a instalação de programas no Linux

Uma das coisas mais legais do Bash é o poder de automatizar tarefas, até mesmo na própria linha de comando. Hoje você vai aprender a criar um simples Shell Script para instalar um programa.

Shell Script




Para você entender o conceito, vamos dar um exemplo com um programa popular e simples, o GIMP. O GIMP é um manipulador de imagens que está no repositório de todas as distros Linux praticamente, como exemplo nos comandos vamos usar o gerenciador de pacotes "apt", comum no Debian, Ubuntu, Linux Mint e derivados, apesar disso, entendendo o conceito, você pode aplicar em qualquer distro, basta entender o gerenciador de pacotes dela e os comandos que ele aceita.

Claro, o GIMP pode ser instalado por centrais de apps sem comandos, pode ser também instalado com um simples # apt install gimp mas a intenção é te mostrar como você pode estruturar um script para automatizar a instalação de qualquer programa ou de vários ao mesmo tempo.

Vamos imaginar que você queria instalar o gimp a partir do terminal.

Muito provavelmente os passos que você dará serão:

1) Atualizar os repositórios
$ sudo apt-get update
2) Instalar possíveis atualizações do sistema:
$ sudo apt-get dist-upgrade -y
3) Efetivamente instalar o pacote.
$ sudo apt-get install gimp

O processo manual da instalação de um programa pode levar algum tempo, pois você deverá esperar que o primeiro comando termine sua execução para digitar o próximo.

Nem sempre atualizar repositórios é rápido e portanto é o seu tempo que está sendo gasto esperando algo que poderia facilmente ser automatizado.

O primeiro nível de automatização que poderíamos fazer aqui é criar uma fila de comandos (chamadas de listas) que serão executados pelo Bash em sequência.

Para isso basta separar os comandos com um ponto e vírgula:
sudo apt-get update ; sudo apt-get dist-upgrade -y ; sudo apt-get install gimp -y
Apesar de já automatizar um pouco o processo, não há praticamente nenhuma lógica envolvida.

Você muito provavelmente não deseja executar um "dist-upgrade" se o "update" falhar antes por qualquer motivo. Certo?

Aqui chegamos no nosso segundo nível de automatização. Em vez de usar o ponto e vírgula, podemos separar os comandos com "&&", e desta forma o Bash somente executará o comando seguinte se o anterior finalizar a execução com sucesso.
sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get install gimp -y
Agora já melhoramos bastante o processo, porém no caso de algum dos comandos retornar falha, esta fila de comandos simplesmente para de ser executada sem qualquer tipo de aviso mais elaborado para o usuário.

É possível em linha de comando adicionar mais lógica para continuar aperfeiçoando este nosso procedimento, porém este é aquele momento em que talvez seja mais proveitoso se criar um script de verdade e deixar o processo legível, em vez de simplesmente criar uma "tripa" de comandos que depois poderá dificultar a sua vida na hora de encontrar e consertar qualquer erro.

Para este nosso exemplo, usaremos o próprio "if" do Bash (que é uma estrutura de condicional explicada brevemente neste vídeo aqui)

Basta criar um arquivo de texto que você pode 'chamar do que quiser .sh", tipo "batatinha_quando_nasce.sh" e inserir os dados que vamos te mostrar. Tá bom, talvez seja melhor criar um arquivo chamado instala-pacote.sh o seguinte conteúdo:

#!/bin/bash

echo Atualizando repositórios..
if ! apt-get update
then
    echo "Não foi possível atualizar os repositórios. Verifique seu arquivo /etc/apt/sources.list"
    exit 1
fi
echo "Atualização feita com sucesso"

echo "Atualizando pacotes já instalados"
if ! apt-get dist-upgrade -y
then
    echo "Não foi possível atualizar pacotes."
    exit 1
fi
echo "Atualização de pacotes feita com sucesso"

# note que $1 aqui será substituído pelo Bash pelo primeiro argumento passado em linha de comando
if ! apt-get install $1
then
    echo "Não foi possível instalar o pacote $1"
    exit 1
fi
echo "Instalação finalizada"

Veja que utilizamos o operador "!" após o "if" para inverter o resultado do comando seguinte, portanto o conteúdo das condicionais (código que está entre o "then" e o "fi") somente será executado caso os comandos falhem na execução. Também utilizamos o comando "exit 1" para pedir ao Bash que interrompa a execução do script em caso de falha.

Para executar o script basta rodar a seguinte linha:

sudo bash instala-pacote.sh gimp

Desta forma podemos utilizar o mesmo script para qualquer pacote, e o "sudo" só precisa ser invocado uma vez. Basta passar o nome do pacote desejado em linha de comando e ver o Bash fazer o resto sozinho.

É possível melhorar e incrementar o script de diversas maneiras. Podemos imprimir mensagens com cores, suprimir a saída em tela do comando apt-get para facilitar a leitura, dentre outras coisas.

Basta ter criatividade e dominar a linguagem do shell script para poder automatizar praticamente o que você quiser.


Outra coisa que você pode fazer é incluir dentro do Shell Script os comandos para a instalação do pacote em específico, assim você pode rodar apenas o Shell Script e ele se encarrega de fazer a instalação para você.

Você pode por exemplo criar um script de pós formatação para o seu sistema, acrescentando repositórios, pacotes e programas que você normalmente usa, incluindo as opções para fazer a atualização do sistema e apenas rodar um Shell Script depois de instalar a sua distro e ir tomar café enquanto seu sistema é montando automaticamente. É mais do que bacana!

Nós lançamos nesta semana o nosso curso avançado de Shell Script, onde você vai aprender coisas como esta deste post e muitas outras para automatizar a sua vida de usuário Linux, as matrículas estão abertas até Quinta-feira, dia 15 de Junho e tem promoção especial para quem comprar hoje até a meia-noite. Corre lá pra conferir antes que fechem as matrículas.

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




terça-feira, 13 de junho de 2017

5 motivos para se aprender Shell Script e dominar o Linux

Não dá para negar que o Bash é um dos interpretadores de comando mais utilizados no mundo.
E não é a toa. Às vezes é impossível ver o potencial escondido atrás da linha de comando do Bash a olho nú.

Shell Script



Basta abrir a man page do Bash para ver o mundo de possibilidades (e até se impressionar/amedrontar um pouco).

Se você já fez o nosso curso de terminal, você já teve uma pequena amostra da quantidade de coisas que dá pra fazer na linha de comando (modo interativo).

Porém, muito se engana quem acha que shell scripts só servem para automatizar backups e afins.

Abaixo vamos listar 5 motivos para se aprender a arte do shell scripting.

1 - Inúmeras partes de uma distribuição linux utilizam shell scripts.

Shell Script


- Sistemas de empacotamento (rpm e deb): scripts são usados na hora de criar pacotes, e até na hora de instalar (scripts pós instalação).

- Init systems (upstart, sysvinit): precisam de shell scripts para controlar serviços que rodam aí por debaixo dos panos.

- Grub: Arquivos que geram configurações do boot são shell scripts: /etc/grub.d/

- startx: famoso comando que inicia modo gráfico é um shell script.

- xdg-open: comando para abrir arquivos automaticamente no programa correto, também é um shell script.

Poderíamos passar horas aqui listando lugares e sub-sistemas de uma distribuição linux que usam shell scripts.

2 - Novos conceitos, mas os Shell Scripts estão lá

Shell Scripts em drones?


É impressionante como o tempo passa, as tecnologias evoluem, os conceitos de computação mudam, porém shell scripts sempre aparecem em algum canto.

Talvez você tenha percebido que o que mais se fala hoje em dia é sobre computação em nuvem.
Demanda por novos profissionais que entendam de diversas tecnologias diferentes surgem, como docker e openstack.

E apesar dos conceitos novos, ainda lá na base o shell script continua firme e forte.

- Docker: Dentro do arquivo que define um container docker você pode utilizar shell scripts.

- Openstack: Você pode executar um script no primeiro boot de uma máquina virtual para personalização.

3 - Entender Shell Scripts melhora seu conhecimento no modo interativo

Aprendendo Shell Script


O Bash pode ser executado em basicamente dois modos: interativo (linha de comando) e não interativo (scripts).

Uma das coisas mais fascinantes do mundo dos interpretadores de comandos é o número de formas diferentes para se executar uma mesma tarefa.

Muitas pessoas passam muitos anos com um canivete suíço nas mãos, porém tentam fazer tudo somente utilizando a faca mais simples do canivete, pois é a única que sabem abrir.

Este canivete é o Bash. Quando nos aprofundamos em scripts e entendemos suas estruturas para controle de fluxo, variáveis, etc, conseguimos otimizar muito nosso tempo. Estruturas como o "for", e até mesmo funções, que geralmente são encontradas somente em scripts, podem facilmente
ser utilizadas direto na linha de comando em modo interativo. E é aí que está o pulo do gato.

Tarefas como renomear vários arquivos de um diretório de uma só vez podem facilmente ser feitas com uma linha como a seguinte:

for i in *.txt; do mv $i ${i%%.txt}-old.txt; done # renomeia todos os arquivos .txt para arquivo-old.txt

4 - Melhorar seu currículo

Currículo Shell Script


Qualquer pessoa que deseje trabalhar profissionalmente com Linux, ou seja, fazer do seu hobby uma profissão de verdade, precisa necessariamente dominar shell scripts. Independente da área que você planeje atuar (programação, administração de redes, administração de sistemas) você precisará escrever e ler scripts de outras pessoas.

Há ofertas de emprego que hoje em dia nem mesmo mencionam a exigência de saber shell scripts pois já assumem que o candidato sabe.

5 - Shell script é divertido

Shell Script é divertido


Somente amantes de tecnologia irão entender este motivo. Mas sim, o prazer de automatizar tarefas e ver aquele script que você criou do zero funcionando sozinho e ficar orgulhoso de ver ele fazendo aquilo que antigamente você precisava fazer "na mão"... este sentimento inexplicável já é motivo suficiente para largar tudo o que você está fazendo e ir correndo aprender shell scripts.

Claro que há muito material da internet para você pesquisar, apostilas e tudo mais, mas como vocês pediram diversas vezes, nós vamos lançar um novo curso no EAD.

Se você não tem ideia por onde começar e precisa de um guia, fique ligado que em breve lá no EAD do Diolinux será lançado um curso completo de Shell Script. Mais de 11 horas de vídeo aulas explicando detalhadamente tudo o que você precisa saber para dominar a arte automatizar tarefas
e otimizar a sua vida na linha de comando.

Este artigo foi escrito em parceria com o nosso professor Tiago Salem, ele já possui um curso de Bash (Terminal) lá no Diolinux EAD, esse curso é quase que um pré-requisito para o de Shell que está por vir, vale a pena dar uma olhada.

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




quarta-feira, 7 de junho de 2017

Explainshell - Entenda o que cada comando do Linux faz

A dica de hoje é especial para quem está começando a dar os seus primeiros passos no terminal Linux. É muito comum você estar buscando conteúdo, soluções para problemas na internet e se deparar com comandos que você não sabe exatamente o que fazem, é justamente para isso que o Explainshell serve, te explicar cada um deles.

explainshell



Para usar a ferramenta é muito simples, acesse o site explainshell.com e cole no campo de busca o comando que você deseja que seja explicado para você e pressione "enter", ao fazer isso, cada sessão do comando receberá uma explicação logo abaixo.

O site é em inglês, você pode considerar aprender inglês, pelo menos um instrumental básico para informática ou utilizar ama ferramenta de tradução ao seu gosto, como o Google Tradutor por exemplo. Assim você vai aprendendo aos poucos para quê cada comando serve. Muito legal né?

Publicidade

Quem estiver interessado em ampliar seus conhecimentos sobre Shell Script pode dar uma olhada no livro "Shell Linux - Do aprendiz ao administrador" disponível na nossa loja, a DioStore.

Livro sobre Shell Script na DioStore

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




quinta-feira, 19 de maio de 2016

Testando pen drives bootáveis no VirtualBox

Um script para facilitar o teste de pen drives bootáveis de qualquer sistema operacional em uma máquina virtual do VirtualBox.

Testando pen drives no VirtualBox

Verificando se o pen drive está dando boot corretamente


Recebi ontem por e-mail um Shell Script feito pelo nosso leitor Marcelo Klumpp que permite que o usuário teste um pen drive bootável que foi criado com qualquer programa, como o Unetbootin por exemplo, em uma janela do VirtualBox, desta forma você não precisa reiniciar o computador para testar o recurso.

Segue o texto recebido

Eu criei um script (2 na verdade, mas são singulares, vai entender o porquê) para facilitar num teste de boot de um dispositivo USB.

Peguei algumas informações na internet e aprendí como fazer para acessar um Boot USB via Virtual Box, levando em conta que o mesmo não tem suporte a boot via USB ou dispositivo físico diretamente, apenas via CDRom, Floppy, etc.

Fiz alguns testes de boot via qemu e percebí que o teste de Boot nele chega a ser MUITO pesado, e eu não uso o VMWare. O mesmo Boot funciona de forma BEM leve no Virtual Box, então foi aí que tive a idéia de criar um Bash Script simples pra testar um device diretamente no Virtual Box, pois eu tenho de trampar direto com isto.

São 2 Scripts idênticos, a única coisa que muda é que um é pra ser executado como Máquina Virtual de 32 bits e outro como Máquina Virtual 64 bits:

VirtualBox-BootUSB
VirtualBox-BootUSB_64

O parãmetro é ligeiramente fácil:

VirtualBox-BootUSB -d /dev/sdX -p NP -m QM

Sintase:

-d = Device
/dev/sdX = O Device a ser indicado
-p = Partição
NP = Número da Partição a ser indicada
-m = Memória
QM = Quantia de memória (em Mega) escolhida para funcionar na Máquina Virtual

Se esquecer como que faz o comando é só digitar o parâmetro "--help" ou "-h"

Com isto basta fazer o comando "sudo fdisk -l" ou "sudo blkid" e ver qual é o dispositivo que quer testar.

Exemplo:

Dou um destes comandos e vejo que o que quero testar é o "/dev/sde1" e é um boot de uma instalação de sistema que usa 250 MB Ram, então eu faço o comando:

VirtualBox-BootUSB -d /dev/sde -p 1 -m 250

O comando irá pedir a senha do sudo, então é só digitar a senha e o comando faz o resto.

Exemplo do Shell Script


Pronto, bem fácil e bom pra quando a gente cria um Boot Inicializável mas não deseja ou não pode testar o mesmo na própria máquina tendo de reiniciar.

Já peguei instalador que nem pergunta se eu quero particionar ou etc, já vai escrevendo no HD e pronto, desta forma fica perigoso testar na própria máquina e ter o risco de perder seus dados. 

Também é chato quando se está criando um boot e tem de ir testando se dá certo e tem de reiniciar toda hora. Então este Script se torna bem útil.

Baixe o Script


Você pode baixar o script do nosso leitor logo abaixo:

Se você tiver alguma sugestão a fazer para melhorar o script é possível entrar em contato com o autor através deste e-mail: elppansmk@gmail.com

Agradecemos ao leitor por compartilhar o seu projeto conosco, se você tiver também algum projeto bacana e gostaria de compartilhar com a comunidade manda um e-mail pra gente!

Edital: O conteúdo deste script não é produção do blog Diolinux.

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




sexta-feira, 7 de agosto de 2015

Os melhores cursos Online para você aprender Linux, do iniciante ao avançado

Atenção: Temos uma atualização para este artigo aqui, clique para acessar.

Hoje você vai receber uma excelente oportunidade de estudar Linux sem sair de casa, preparamos uma seleção de cursos sobre Linux para deixar você mais "afiado"sobre o sistema do Pinguim.

Cursos de Linux Online

Aprenda Linux sem sair de casa


Neste momento de crise financeira nada mais importante do que ter um diferencial no mercado, ter mais conhecimento pode ajudar a garantir um bom emprego e pode abrir portas para todos os profissionais de tecnologia.

Pensando em ampliar a gama de produtos oferecidos e também ofertar a você, querido leitor(a), a possibilidade de encontrar um bom material de estudos sobre Linux nós abrimos o nosso setor de treinamentos fazendo parcerias com pessoas muito capacitadas, trazendo cursos que tentem a se tornar a cada dia mais abrangentes.

Cursos para iniciantes


Curso de Linux para iniciantes

Para pessoas que estão começando no Linux uma ótima opção é o nosso curso de introdução ao Ubuntu e ao Fedora destinado para todos que desejam conhecer.


Outro conteúdo que será interessante de você conhecer é o curso de Libre Office Writer, isso vai facilitar e muito a sua vida na migração de sistemas operacionais ou mesmo que você use o Windows, caso você não queira mais pagar ou piratear um suíte office.


Conhecimento intermediário


Shell Linux


Depois de passar da primeira etapa do aprendizado pode ser uma boa hora começar a entender como funciona o Shell do Linux (Unix), trabalhar com comandos, criar Scripts, tudo isso ficará muito fácil com os cursos.



Conhecimento avançado


Curso de Sysadmin Linux


Por fim, temos ótimas opções para você que é profissional da área de sistemas, trabalha com servidores ou que almeja trabalhar nesta área, tenho certeza que estes cursos farão diferença no seu aprendizado e profissionalização.


- Curso de preparação para Certificação LPIC-1 + CompTIA+ Linux

E mais cursos em breve


Estes cursos foram desenvolvidos por alguns dos nossos parceiros, Tux4you Academy e Linux Descomplicado, em breve teremos cursos de nossa autoria também e mais material de nossos parceiros.

Chegamos a conclusão de que ficar reclamando "que não há cursos de Linux e treinamento" não bastava então estamos tomando a iniciativa de viabilizar a chegada deste tipo de material até você, um leitor assíduo do que blog que tem interesse em aprender mas não sabia por onde começar.

Gostaria de deixar aberta a porta para outros produtores de conteúdo independente que desejam publicar seus materiais conosco, isso vale tanto para treinamentos como para livros e manuais, sendo eles gratuitos ou pagos, entre em contato conosco e vamos ensinar o Brasil a usar Linux.

_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




quarta-feira, 8 de julho de 2015

Script para instalação do Servidor LAMP no Ubuntu 13.04

Instale o Servidor LAMP na última versão do Ubuntu sem esforço

"A vida é um script sem Repeat onde qualquer ponto e vírgula faz diferença" já dizia o poeta, e tudo com eles é simplificado.

LAMP Server


O Shell Script é uma boa maneira de economizar tempo para instalar ou configurar qualquer coisa no Linux e para quem é desenvolvedor Web o Servidor LAMP ( Linux, Apache, MySQL e PHP ) é indispensável, por isso eu mesmo criei um script para agilizar este processo.
O Script instala os seguintes pacotes:


  • apache2
  • php5 
  • libapache2-mod-php5
  • mysql-server
  • libapache2-mod-auth-mysql 
  • php5-mysql
E no final ele dá um "restart" no Apache, se tudo correu bem, abra o navegador e escreva "localhost" sem aspas , se aparecer uma mensagem do tipo "It's Works" está tudo certo.

Download do Script


Para usar o script basta dar permissões de execução a ele e ir até o terminal, até a pasta onde está o script e rodar o comando:

./lamp.sh 



Quer continuar por dentro de tudo o que acontece por aqui?

Então curta nossa página no FACEBOOK, siga o blog no TWITTER  - Siga também nossos escritores 
@dionatanvs - +Dionatan Simioni - + Elian Medeiros 

Baixe o APP do Diolinux para o seu Smartphone

Se você tiver alguma dúvida procure um de nossos grupos de discussão no Facebook:

sexta-feira, 10 de maio de 2013

Introdução ao shell

Mas afinal, o que é o shell? O shell é uma parte que compõe o sistema operacional, responsável por interagir ou popularmente falando (conversar), com o usuário. Além disso ele é o interpretador de comandos do GNU/Linux, também conhecido como prompt de comandos, que lê os comandos digitados por nós usuários, interpreta e executa o que foi digitado. 

O shell de uma maneira mais fácil, é como se fosse um interprete entre o usuário e o computador e vice versa. Abaixo temos uma imagem que explica o contexto do shell e as camadas de software.

Linux: Shell do GNU/Linux
Essa imagem representa as camadas de software que integram ou compõem um sistema operacional. Na parte baixa temos o hardware, e mais acima o kernel, que é responsável por interagir com o hardware. Subindo mais um pouco temos outra camada de software, o shell, que como já foi dito, interpreta tudo o que é digitado e faz as solicitações para o kernel, que consulta o hardware. 

E depois o hardware carrega o que foi pedido em um endereço de memória, manda para o kernel, que devolve para o shell, que traz a resposta do que foi pedido para o usuário. 

Veja essa essa outra imagem.
Prompt do shell: o prompt é representado pelo simbolo "$" cifrão, onde pode variar algumas informações contidas como, o usuário, nome do computador, diretório corrente.
Essa simbologia nos dá informações que são muito importantes de se saber, ela mostra qual usuário que esta utilizando o sistema no momento, que neste caso é um usuário comum onde está usando a máquina, veja o símbolo "$". Já se o simbolo for uma "#" (cerquilha), diz que se trata do superusuário, mais conhecido como usuário (root).
Superusuário: Ele é o administrador do sistema GNU/Linux, é muito especial, pois pode fazer tudo no sistema, alterar qualquer arquivo, excluir usuários, fazer configurações etc. 



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. 

Alguns comandos e conclusão

Alguns comandos que podemos usar no shell: Existem muitos comandos que podemos utilizar no shell do GNU/Linux, vou demostrar apenas alguns, caso queira se aprofundar mais. Termos a nossa querida internet e só pesquisar, então o que vai ser mostrado aqui, é apenas o básico.

Comando:

$ ls

Descrição: Lista informações sobre os arquivos, no diretório atual por padrão. Temos diversas opções para este comando.
Comando:

$ cat

Descrição: Mostra o conteúdo de um arquivo, mas também podemos utilizar para criar arquivos:

$ cat > nome do arquivo

Depois escreva o conteúdo do arquivo e em seguida aperte enter para ir para outra linha vazia, depois as teclas Ctrl + D, para salvar. A imagem abaixo só mostra o conteúdo do arquivo.
Comando:

$ mkdir

Descrição: Cria diretórios, para que possamos organizar os nossos arquivos.
Comando:

$ aptitude show [nome_do_programa]

Descrição: Mostra uma descrição do programa desejado, se está instalado, versão, e até as dependências do programa.

Obs.: Somente em distribuições baseadas no Debian.

Conclusão

O shell do GNU/Linux, como foi mostrado neste artigo, é uma ferramenta muito poderosa, onde é de suma importância conhecermos bem para configurar e customizar nosso sistema GNU/Linux. Ele dispensa os assistente de configuração do modo gráfico e, através dele, podemos configurar tudo direto na raiz, com mais clareza e transparência (na minha opinião).

Estou aberto a comentários construtivos sobre o artigo aqui publicado, em breve escreverei artigos sobre configuração de servidores GNU/Linux.

Neste artigo usei as seguintes ferramentas:
  • Sistema operacional: Debian 6.0 "Squeeze"
  • Editor de texto: LibreOffice 3.4.6
  • Edição de imagens: Shotwell Photo Viewer
segunda-feira, 18 de junho de 2012