Trilha GNU/Linux |
Estudos |
Perguntas |
Hacks |
Recursos
Semana 4: Comandos
customizados
Importante! Este material foi elaborado para ser lido em terminais e
acompanhado (e praticado) em dispositivos de desktop!
Perguntas-chave
- O que são comandos?
- É importante saber os comandos do Linux?
- O que é um shell?
- Como o shell executa os comandos?
O que é um comando
- Comando é a expressão daquilo que a pessoa quer que o computador
execute.
- Sistemas operados por interfaces de texto oferecem programas e
funcionalidades para a escrita de comandos.
- No shell Unix/GNU, um comando é uma linha de texto composta pelos
seguintes elementos:
[EXPORTAÇÕES] [INVOCAÇÃO] [ARGUMENTOS] [REDIRECIONAMENTOS]
- Exportações: definições de variáveis que serão
exportadas apenas para o processo iniciado na execução do que
for invocado.
- Invocação: nome do programa, função ou
builtin do shell que será executado.
- Argumentos: lista de palavras que serão
interpretadas pelo que for invocado como opções, dados e parâmetros de
execução.
- Redirecionamentos: mecanismo para escrita e leitura
de dados em arquivos.
Sintaxes
- A sintaxe do shell determina como cada um desses quatro elementos
serão escritos em um comando simples.
- A sintaxe dos programas limita-se a determinar seus argumentos.
Tipos de comandos
- Comando simples: um comando escrito apenas com os
quatro elementos acima.
- Comando complexo: um ou mais comandos simples
encadeados por operadores do shell.
- Comando composto: comandos simples e complexos
delimitados por palavras reservadas do shell.
Não existem comandos “do
Linux”!
- Todos os comandos são seus!
- A expressão geralmente se refere a sintaxes (que não são
determinadas pelo Linux).
- A esmagadora maioria dessas sintaxes não é exclusiva de sistemas com
kernel Linux.
- Os utilitários relacionados com o kernel Linux raramente aparecem em
tabelas de comandos do Linux.
O que é um shell
- Apesar de sua importância, o shell é um programa como outro
qualquer.
- Interface com a pessoa utilizadora.
- Interpretador de comandos.
- Linguagem de programação.
- Plataforma de operação do sistema.
- Formas pelas quais nós interagimos com o computador.
- Conjunto das sintaxes do próprio shell.
- Conjunto das sintaxes dos programas.
- Exibição de resultados e respostas no terminal.
Interpretador de comandos
- Nenhum comando é executado sem ser previamente processado pelo
shell.
- O texto digitado pode ser aletrado antes de ser executado.
- Operadores acionarão mecanismos do shell e/ou do sistema antes da
execução do comando.
- Os tokens (símbolos especiais) acionam mecanismos do
shell.
- O shell só executa os comandos que invocam suas funcionalidades
internas.
- As invocações de programas resultam no início de novos
processos.
- Processos são gerenciados pelo kernel.
Nota: você não precisa saber de nada disso para
operar muito bem o sistema pelo shell, mas precisa disso (e muito mais)
se quiser ser uma pessoa profissional!
Linguagem de programação
- A sintaxe do shell constitui uma linguagem procedural, imperativa,
estruturada de alto nível.
- O propósito da linguagem do shell é possibilitar a definição de
como, quando, sob quais condições e com que dados os comandos serão
executados.
- Excelente forma de aprender os conceitos fundamentais da programação
e da elaboração de algorítimos segundo o paradigma procedural (vulgo
“lógica de programação”).
- Unifica a forma de operação do sistema através de terminais.
- Programas escritos para o tipo de interface estabelecida pelo
shell.
- A interface de linha de comando (CLI) é a implementação da
filosofia Unix.
Criando os próprios comandos
- Apelidos: nomes atribuídos a linhas de comandos
inteiras.
- Funções: comandos compostos identificados por um
nome.
- Scripts: arquivos contendo as linhas de comandos a
serem executadas.