Tópico - 103 GNU/Linux e comandos
Bem pessoal estamos entrando agora no Tópico 103
Mais precisamente no 103.1 Trabalhando em linha de comando
Segundo a lpi.org será cobrado na prova o seguinte conteúdo:
Terms and Utilities
bash - echo - env - exec - export - pwd - set - unset
man - uname - history
bash
Certo o primeiro é o bash, o nosso interpretador de comandos, é ele quem vai interpretar os comandos que estaremos digitando para executar um serviço, reiniciar, startar, é apartir dele que conseguimos se comunicar com o núcleo do ssitema, o Kernel.
echo e variável
O comando echo resumidamente falando serve para mostrar o conteúdo de uma variável, ou imprimir uma frase na tela.
Certo, mas o que seria uma variável?
Um exemplo simples:
# nome=jose
Aqui eu criei uma variável chamada nome, que está recebendo um valor, no caso um nome, chamado joão, então se rodarmos o comando echo $nome o echo vai mostrar o valor (nome) que essa variável recebeu, no caso joão.
Existem dois tipos de variáveis , local e exportada, a local so vai funcionar no bash em que você estiver no momento, já a exportada vai funcionar na atual e em outros bash que forem iniciados a partir do bash atual.
Exemplo, a variável que eu criei nome=jose, não é possível verificar em outro bash, a não ser que eu a exporte.
#nome=jose
# export nome=$nome
# xterm # abrindo um outro terminal
# echo $nome
Agora é possível verificar o conteúdo da variável "nome" depois de exportada, e aberto um novo terminal, a partir do terminal onde foi criado a variável.
Variáveis importantes do Sistema
bash -> contém informações sobre o bash que você está utilizando
HISTFILE -> indica o endereço, o histórico dos seus comando, na maioria das distribuições vai estar em:
/home/seu-ususario/.bash_history
HOME -> A variável HOME serve, vamos dizer de direção, para quando vc digitar o comando cd, sem nenhuma opção, você vai cair dentro do home do usuário logado no momento.
Podemos ver acima, que eu estava dentro de /etc e após rodar o comando "cd" fui para meu diretório HOME (/root)
PATH -> Essa variável armazena vários diretórios, que são os diretórios usados para encontrar os comando que você digitar no shell.
Na imagem podemos ver os diversos diretórios, como /usr/local/sbin todos separados com ":" entre eles.
LOGNAME -> Mostra o usuário que está logado no sistema.
$! PID do último processo
$$ PID do shel que esta sendo executado
$? mostra 0 ou 1, caso você tenha executado um comando, ou rodando um comando para instalação de algum pacote, e o mesmo não te retornou nada, você pode rodar esse comando que o mesmo vai te mostrar 0 ou 1, 0 é igual a falha e 1 igual a sucesso.
~joao -> mostra vai direto para o diretório home do usuário joao.
~ -> você direto para o home do usuário que estiver logado, igual ao comando "cd".
pwd
O comando pwd vai mostrar em qual diretório você está, caso você esteja meio perdido, de qual diretório você esteja, você pode rodar o comando pwd, que ele vai te informar.
Como pode ser visto acima, eu rodei o comando pwd, e ele me retornou que eu estava dentro de /tmp
Existe também a variável PWD, onde você pode rodar o echo $PWD que ele vai te retornar onde você está.
history
O comando history vai pegar todos os comando digitados e imprimir na tela, ele busca dentro do seu diretório /home/usuario/.bash_history
Você pode apagar usando o comando history-c, ou simplesmente apagar o arquivo oculto .bash_history dentro do seu diretório /home
Aqui abaixo podemos ver os comandos que eu digitei, caso você queira executar algum comando que esteja ai dentro do history, você pode execitar o seguinte comando:
# !156
Ele vai executar no meu caso o comando ps aux
Alias
O comando alias serve para vocẽ apelidar um comando extenso, por exemplo, quando precisamos digitar um comando por diversas vezes, e o mesmo é muito extenso, podemos criar um alias desse comando.
Se você digitar alias no seu terminal, ele vai te mostrar que já existe alguns comando com alias no sistema.
Vou criar agora um alias para o comando ls -la.
Exemplo: alias lsa='ls -la'
Aqui está dizendo que quando eu digitar lsa, o comando a ser executado, será o ls -la
# alias
Como podemos ver na imagem acima, na última linha do alias, contém o alias que eu criei.
alias lsa='ls -la'
Env
O comando env sem nenhuma opção ou parâmetro mostra as variáveis de ambiente atuais. É possível usá-lo também para executar um script que contenha variáveis locais, que não funcionariam executando somente ./nome_script.sh
Exemplo:
# nomes="testando_o_comando_env_script"
# echo $nomes
estando_o_comando_env_script
# vim script_env.sh
Dentro do script vai conter o seguinte conteúdo:
#!/bin/bash
echo $nomes
O Script quando executado deverá mostrar o conteúdo da variável nomes.
Vamos dar permissão de execução ao nosso script:
# chmod +x script_env.sh
Como a variável que criamos é local, então ao rodar o comando ./script_env.sh não será mostrado o valor da variável "nomes", como está no script.
Ai que entra o comando env, é ele quem precisamos usar para que o conteúdo da variável seja seja impresso na tela.
# env nomes="testando_o_comando_env_script" /home/usuario/script_env.sh
No caso, precisamos dizer ao comando env, o valor da variável e o caminho onde se encontra o script.
Testando:
exec
O comando exec funciona da seguinte forma, ao roda-lo, ele vai fechar o shell executado no momento, porém vai executar o comando em um outro shell.
# exec vim /etc/passwd
Rodei o comando como root, e o comando será executado em um shell de um usuário comun.
Exemplo:
# exec cat /etc/passwd
Como podemos ver na imagem acima, quando eu executei o comando eu estava logado como root # e ao final do comando podemos ver que estou logado como um usuário comum do sistema.
set
O comando set serve para mostrar todas as variáveis que estão definidas no sistema.
Rodando o comando set :
unset
O comando unset serve para remover uma variável do sistema.
No exemplo abaixo, vou criar uma variável, exibi-la no terminal, e depois removê-la com o comando unset.
Exemplo:
Export
O comando export, como já vimos um pouco mais acima, serve para exportamos uma variável criada local, para que possamos ver em um shell aberto a partir do shell onde foi criado a variável.
Na imagem abaixo eu criei uma variável, exibi no terminal com o comando echo, depois a exportei com o comando export, abri um outro terminal com o comando xterm, e exibir a variável exportada no aberto mais abaixo.
Testando:
Man
o comando man serve para verificarmos como funciona um determinado comando, podemos verificar suas opções de uso, nome, descrição, sinopse, opções, etc.
Apropos
O comando apropos, serve para nos ajudar a lembrar de um comando, ele funciona da segiunte forma.
Quando não nos lembramos de um determinado comando, porém sabemos para que ele serve, qual sua função, algo do tipo, podemos usar o comando apropos para nos ajudar da seguinte forma:
# apropos grupo
Ele vai procurar por comandos relacionados a grupo, como criar ou modificar um grupo.
uname
O comando uname, é muito útil, por que com ele podemos saber qual a versão do kernel, nome da nossa máquina, arquitetura da máquina, e muitas outras coisas.
# uname -a
Para mais opções use o comando man para auxilio.
# man uname
Bem pessoal este Tópico foi bastante extenso, agora é praticar para não esquecermos estes comando e suas funções.
Bons estudos!!
Show de bola meu caro... Me faz voltar as origens. Parabéns. E boa sorte com a prova.
ResponderExcluir