Como parte da minha preparação para a prova
LPI 102, compartilho o resumo que fiz para facilitar nos dias próximos à prova. :)
Para ajudar no aprendizado, é importante associar o nome dos comandos e seus parâmetros às suas respectivas descrições. Sempre estude lendo
manpages, testando comandos e parâmetros.
105.1 - Personalizar e trabalhar em ambiente shell
VARIÁVEIS:
Variáveis globais - São utilizadas por todos os processos e todos usuários do sistema.
Exemplos:
- PATH :: Define os diretórios onde estão os comandos;
- HOME :: Define o diretório pessoal do usuário;
- SHELL :: Define o shell padrão do sistema.
Variáveis locais - São utilizadas apenas no shell atual, criada por usuários e scripts. Exemplo sobre como definir uma variável:
$ NOME=Pedro
Comandos:
- env :: Exibe todas variáveis globais;
- set :: Exibe todas as variáveis do sistema;
- unset :: Exclui uma variável. Somente da sessão atual, se for global;
- export :: Transforma uma variável local em global;
- alias :: Cria uma alias (apelido) para um ou mais comandos.
Arquivos de configuração:
1.
/etc/profile :: Define as varáveis globais e
alias para o sistema;
2.
~/.bash_profile :: Define variáveis globais para usuários.
A sequência de leitura dos arquivos de configuração do shell, quando é iniciada com a opção de login, é a seguinte:
- /etc/profile
- ~/.bash_profile
- ~/.bash_login
- ~/.profile
Ao sair do shell, é lido o arquivo:
~/.bash_logout
Já no caso de iniciar um shell sem a opção de login, a sequência de leitura dos arquivos de configuração é:
- /etc/bash.bashrc
- ~/.bashrc
FUNÇÕES: As funções servem para simplificação de tarefas feitas com frequência no shell. Podem ser usadas numa sessão tradicional do shell e em scripts.
Para torná-las disponíveis em outras sessões, basta gravar no arquivo
~/.bashrc. Sua estrutura é:
function versao () {
DIST=$(cut -d" " -f1 /etc/issue)
ARQ=$(uname -m)
echo "Você está usando ${DIST}, arquitetura ${ARQ}."
}
Obs.: No arquivo "~/.bashrc", coloque o caracter "}" na penúltima linha da estrutura acima.
105.2 - Escrever e editar scripts simples
Duas regras básicas na construção e execução de shell script:
1. Na primeira linha de um shell script, deverá ter a informação sobre qual interpretador de comandos ele usará. Essa primeira linha é chamada de
shebang:
#!/bin/bash
2. Para serem executados, os scripts devem ter a permissão de execução (+ x).
# chmod +x script.sh
Variáveis especiais:
- $* :: Exibe os parâmetros passados ao script;
- $# :: Exibe o total de parâmetros passados ao script;
- $0 :: Exibe o nome do script;
- $n :: Exibe o parâmetro passado ao script, na posição 'n';
- $! :: Exibe o PID do último programa executado;
- $$ :: Exibe o PID do shell atual;
- $? :: Exibe o código de retorno do último comando executado:
0 (Executou com sucesso)
* Se for diferente de zero, houve algum problema.
COMANDO read:
O comando
read é usado para coleta de dados a partir da interação com o usuário.
Exemplo:
echo "Digite seu nome"; read NOME ; echo $NOME
Se a variável NOME não fosse especificada para armazenar "seu nome", o shell usaria a variável de retorno padrão REPLY.
SUBSTITUIÇÃO DE COMANDOS:
É comum utilizar uma variável para armazenar a saída de algum comando. Seguem alguns exemplos:
LINUX=`cut -d" " -f1 /etc/issue`
$ echo "Eu uso $LINUX!"
Outro:
ADM=$(head -c4 /etc/passwd)
$ echo "O super usuário do sistema é o $ADM"
Ou, para fazer algum tipo de cálculo com o comando
expr, por exemplo:
ANONASC=1988; ANOATUAL=2013
$ IDADE=`expr $((ANOATUAL - ANONASC))`
$ echo $IDADE
COMANDO test:
O comando test é bastante usado em condicionais e laços (
if e
while, por exemplo). Principais parâmetros:
Testes em arquivos:
- -d (Diretory) :: É um diretório;
- -f (File) :: É um arquivo;
- -L (Link) :: É um link simbólico;
- -r (Read) :: O arquivo tem permissão de leitura;
- -s (Size) :: O arquivo tem tamanho maior que zero;
- -w (Write) :: O arquivo tem permissão de escrita;
- -x (Execute) :: O arquivo tem permissão de leitura;
- -ot (OlderThan) :: O arquivo é mais antigo;
- -nt (NewerThan) :: O arquivo é mais recente.
Testes em variáveis:
- -lt (LessThan) :: O número é menor;
- -gt (GreaterThan) :: O número é maior;
- -le (LessEqual) :: O número é menor ou igual;
- -ge (GreaterEqual) :: O número é maior ou igual;
- -eq (Equal) :: O número é igual;
- -ne (NotEqual) :: O número é diferente;
- -n (null) :: A string é nula;
- -z (??) ::- A string não é nula;
- = (Igual) :: A string é igual;
- != (Diferente) :: A string é diferente.
USANDO O if: Um exemplo do uso do
if com o comando
test:
if test -d /var/log ; then
echo "O diretório existe."
else
echo "Diretório inexistente."
fi
O comando
test pode assumir outra forma, sendo substituído por colchetes:
if [ -f /var/log/messages ] ; then
echo "Arquivo existe."
else
echo "É Ubuntu :p"
fi
Obs.: Ao utilizar colchetes, é necessário deixar espaços em volta deles, caso contrário, não funcionará.
COMANDO seq:
O comando
seq é bastante usado com a instrução
for, pois lhe entrega uma sequência numérica. Exemplo:
seq 3
1
2
3
USANDO O for:
Estrutura do
for, usando o comando
seq, como exemplo:
for num in $(seq 3) ; do
echo "Número $num."
done
USANDO O while:
Estrutura do
while, usando o comando
test em forma de colchete:
NUM=0
while [ $NUM -lt 5 ] ; do
NUM=$((NUM + 1))
done
105.3 - Administração de dados SQL
De acordo com os simulados que vi e do que tem no livro do
Luciano Siqueira, cai basicamente:
INSERT - Insere dados em uma tabela;
SELECT - Consulta dados numa tabela;
WHERE - Especifica uma ou mais linhas;
ORDER BY - Ordena uma tabela;
GROUP BY - Seleciona um grupo de dados a partir de um item especificado;
UPDATE - Altera dados em uma tabela;
DELETE - Exclui dados de uma tabela;
INNER JOIN - Relaciona tabelas diferentes;
Referências
Como base, utilizei os livros:
- Certificação LPI-1 - 4ªedição - Luciano Siqueira
- Shell Script Profissional - Aurelio Marinho Jargas (recomendo)
À medida que for estudando ou achando necessário, estarei atualizando o post no meu blog. Fiquem à vontade para dar opiniões:
Inté.