___________________________
 
     Não se lamente pelos dados que foram roubados ou
     perdidos sem antes se lamentar por não ter contratado 
     um profissional especializado em segurança!
_______________________________
                                                          by Claudio Rocha 

Menu
Principal
Introdução

Comandos


Mensagem 1

Informa

BR

O caminho certo da Informação

 

Mensagem 2

SEJAM
BEM-VINDOS !

 

 
Introdução:
 
Entendendo.

Shell é simplesmente um programa que lê os comandos digitados pelo usuário e converte eles em formato que o sistema operacional aceita. O shell também disponibiliza algumas funcionalidades de programação que nos permite a usa-lo para fazer decisões, loops, armazenar valores em variáveis e outros.
A programação shell não exige uma compilação; ou seja, ela simplesmente interpreta os comandos na hora da execução tornando assim muito fácil de escrever, debugar e modificar o código.
Quanto mais conhecimentos o usuário possuir dos comandos do Unix, mais fácil será o aprendizado da  programação em shell.

  • Os comandos aqui mostrados são apenas alguns dos comandos usados para a programação shell. Para se obter maiores detalhes das opções disponíveis para cada comando, basta olhar o manual de ajuda de cada um deles disponível através da execução deste comando:

man [comando desejado]
Exemplo:  man tee ; man cut ou man man ...

  • A programação shell é bastante utilizada para rotinas de backup, administração dos diretórios e arquivos, trabalhos repetitivos e outros.



Top of Page[Back to Top]

     
 
Comandos:
 
Links.
tee | > e >> #   Script1 Script2 Script3
cut head tail grep cat find touch echo
wc $ exit read then else if/fi more
while do done case esac tput/cup expr tr
               


Top of Page[Back to Top]

     
 
Exemplos:
 
descrição.
tee
  • cat [arquivo1] | tee [novoarquivo] # Comando cat mostra conteúdo do arquivo na tela e comando tee armazena resultado no novoarquivo.
  • cat [arquivo1] | tee [novoarquivo1] ]novoarquivo2] # Comando cat mostra conteúdo do arquivo na tela e comando tee armazena resultado no novoarquivo1 e novoarquivev2.

[back to Top]

|
  • O caractere pipe "|" usado entre os dois comando tem a função de canalizar os resultados de um comando (nosso caso resultado do comando tail) para a próxima comando apos o "|". O pipe é muito usado no ambiente Unix. Exemplo: listar um arquivo grande porem com a opção de paginar o resultado na tela.
  • cat [nomeaquivo] | more
  • tail -2 /etc/passwd | head -1
  • grep [arquivo1] | tee -a [arquivo2]

[back to Top]

> e >>
  • Símbolos > e >> tem a função de redirecionar os resultados dos comandos. O símbolo ">" usado só tem a finalidade de redirecionar para criação de outro arquivo. O símbolo ">>" já tem a função de adicionar o resultado de um comando em outro arquivo.
  • grep [arquivo1] >> [arquivo2]
  • grep [arquivo1] > [novoarquivo]
  • echo "I love unix" > [nomearquivo]

**Redirecionando stderr para stdout

  • $ comando 1> nomearquivo 2>&1  # Essa syntax 2>&1 faz com que o shell redirecione stderr (2) para o mesmo arquivo o qual stdout (1) esta sendo direcionado para gravar os resultados. ** funciona no Borne Shell


[back to Top]

#
  • #! /bin/sh   # O símbolo "#" é usado na linguagem shell para fazer comentários.
  • # comentários # Apenas um comentário.

[back to Top]

 

 

cut
  • cut -c1 [nomearquivo] # Comando cortará primeira coluna do arquivo
  • cut -c2 [nomearquivo] # Comando cortará segunda coluna do arquivo
  • cut -c2-4 [nomearquivo] # Comando cortará segunda a quarta coluna do arquivo
  • cut -c2,4 [nomearquivo] # Comando cortará segunda e quarta coluna do arquivo

[back to Top]

head
  • head -1 [nomearquivo] # Comando mostra primeira linha do arquivo

[back to Top]

tail
  • tail -4 [nomearquivo] # Comando mostra as 4 ultimas linhas do arquivo
  • tail -2 /etc/passwd | head -1 # Comando pega as 2 ultimas linhas do arquivo, canaliza os resultados para o comando head para ele mostrar a primeira linha entre as duas.

[back to Top]

grep
  • grep -v 5 # Comando mostra linhas que não contenham o numero 5 nela
  • grep [arquivo1] > [novoarquivo] # Comando cria um novo arquivo com o resultado de outro
  • grep [arquivo1] >> [arquivo2] # Comando adiciona arquivo um no arquivo dois
  • grep [arquivo1] | tee [arquivo2] # Comando gera arquivo 2 e mostra resultado na tela
  • grep [arquivo1] | tee -a [arquivo2] # Comando adiciona arquivo1 no arquivo2 e mostra o resultado na tela.

 

[back to Top]

cat
  • cat [arquivo1] # Comando mostra conteúdo do arquivo na tela
  • cat [arquivo1] | more # Comando mostra conteúdo na tela com opção de paginar.
  • cat [arquivo1 > [arquivo2] # Comando cria aquivo2 com o conteúdo do arquivo1
  • cat [arquivo1] >> [arquivo2] # Comando adiciona aquivo1 no arquivo2

[back to Top]

find
  • find / -name [nomearquivo] # Comando procura por um arquivo
  • find / -size +100 -mtime +30 # Comando procura por arquivos maiores de 100 blocos e não modificados em um período de 30 dias
  • find / -size +200 -atime +365 -ok rm {} \; # Comando procura por arquivos maiores de 200 blocos e não acessado em um  período de 365 dias. A opção "ok" habilita o comando rm deletar os arquivos encontrados que satisfaz as opções.
  • find /home/user ! -newer /home/trigger -print | xargs rm # Comando  procura por arquivos mais velhos do que o do arquivo trigger. 

[back to Top]

touch
  • touch 03260000 [trigger] # Comando cria um arquivo chamado trigger datado em 03.26.00
  • touch /reconfigure # Comando usado para fazer o Solaris procurar por novos devices na hora do reboot.
  • touch [nomearquivo] # Comando cria um arquivo vazio com data corrente do computador

[back to Top]

echo
  • echo "I love unix" # Comando mostra na tela o texto I love unix
  • echo "I love unix" > [nomearquivo] # Comando cria um arquivo com conteúdo I love unix

[back to Top]

wc
  • wc -c [arquivo1] # Comando mostra o numero de caracteres contido no arquivo
  • wc -w [arquivo1] # Comando mostra o numero de palavras contido no arquivo
  • wc -l [arquivo1] # Comando mostra o numero de linhas contido no arquivo

[back to Top]

$
  • echo "primeiro argumento = $1" # Comando mostra o primeiro argumento "programação script"
  • echo "segundo argumento = $2" # Comando mostra o segundo argumento "programação script"
  • echo "Total de argumentos = $#" # Comando mostra o total de argumentos "programação script"
  • echo "Todos os argumentos = $*" # Comando mostra todos os argumentos "programação script"
  • echo "Status de saída = $?" # Comando mostra o status de saída de um comando "programação script"

[back to Top]

exit
  • exit 5 # Comando exit permite o término da execução do programa shell. O numero 5 é apenas um código escolhido pelo programador para indicar que houve um erro qualquer.

[back to Top]

read
  • read variável # Comando 

[back to Top]

then
  • if [ "$nome" = shell ] # Comando testa uma condição, caso for verdade o comando
    then                                "
    then" será executado.
        echo " Este programa esta funcionando!"
    fi


[back to Top]

else
  • if [ "$nome" = shell ] # Comando "if" testa uma condição, caso for verdade o comando
    then                 
    "then" será executado, caso contrario o comando executa o "else".     
          echo " Este programa esta funcionando!"
    else
        echo " Programa funcionando!!!"
    fi

[back to Top]

if/fi
  • if [ "$nome" = shell ] # Comando "if" testa uma condição, caso for verdade o comando
    then                               
    "then" será executado.
        echo " Este programa esta funcionando!"
    fi

[back to Top]

more
  • more [arquivo1] #Comando mostra o conteúdo do arquivo1 na tela pagina por pagina. 
  • more -cd [arquivo1] #Comando mostra o conteúdo do arquivo1 na tela pagina por pagina
  • cat [arquivo1] | more #Comando mostra o conteúdo do arquivo1 na tela pagina por pagina

[back to Top]

while
  • while [ "$valor -le 10 ] # Comando while permite loop ate que seja satisfeito a condição.
    do
         echo "$valor"
         valor=`expr $alor + 1`
    done

[back to Top]

do
  • while [ "$valor -le 10 ] # Comando permite loop ate que seja satisfeito a condição. 
    do                                    
    O comando "do" inicia o loop
         echo "$valor"
         valor=`expr $alor + 1`
    done

[back to Top]

done

while [ "$valor -le 10 ] # Comando permite loop ate que seja satisfeito a condição.
do                                    
O comando "done" termina o loop
     echo "$valor"
     valor=`expr $alor + 1`
done

[back to Top]

case
  • case "$variavel"    # Comando "case" possibilita a comparação do valor de
     in                                uma variável  com outros valores.
        a) echo "Alterar";;
        e) echo "Excluir";;
        f)  echo "Fim";;
    esac
     

[back to Top]

esac
  • case "$variável"    # Comando possibilite a comparação do valor de uma variável  
    in                                
    com outros valores.  O "esac" fecha a estrutura
        a) echo "Alterar";;
        e) echo "Excluir";;
        f)  echo "Fim";;
    esac
     

[back to Top]

tput/cup
  • tput cup 5 10; echo "Menu Principal" # Comando faz a tabulação o texto na linha 5 coluna 10

[back to Top]

expr
  • resultado=`expr $total + 55` # O comando "expr" pega o valor armazenado em $total e soma com o valor 55. Dentro de um programa shell devemos usar o "expr" para fazermos cálculos com variáveis shell.

[back to Top]

tr
  • echo "I love Unix" | tr '[a-i]' [1-9]' # Comando "tr" troca as letras de "a"e "i" pelos números correspondentes de "1" a "9". Exemplo do resultado: 9 lov5 Un9x
  • cat [arquivo1] | tr '[a-z]' [A-Z]' > [novoarquivo] # Comando cria um novo arquivo com o resultado do comando cat, porem o tr faz a troca das letras minúsculas por letras maiúsculas. Resultado, o novoarquivo ficará com todas as letras em maiúsculo.

[back to Top]

Script1
  • Esse foi uns dos meus primeiros scripts escritos, apesar de funcionar corretamente não espere por algo "supimpa" 
  • Alem de outros comandos, quase todos os acima mencionados estão sendo usados neste script também.

download/script_1

[back to Top]

Script2
  • Esse foi uns dos meus primeiros scripts escritos, apesar de funcionar corretamente não
     espere por algo "supimpa" 
  • Alem de outros comandos, quase todos os acima mencionados estão sendo usados neste script também.

download/script_2



[back to Top]

Script3
  • Simples script que gera um arquivo utilizando outro como entrada.

download/script_3


[Back to Top]


Retornar