domingo, 12 de junho de 2016

Atividades Com Scripts - Linux - Ubuntu - Utilizando o interpretador /Bin/bash do Linux e através dos comandos interpretados pela linguagem Shell script, criar um script para cada item abaixo identificando o script seqüencialmente como script1, script2, ..., script n.

a. Elabore um script que utilize o recurso de decisão encadeada. O script devera solicitar valor para uma variável através de read, apresentar o valor lido na tela, dar um sleep de 3 segundos e em seguida verificar se o valor digitado é 100. Se for igual a 100 apresentar mensagem de valor equivalente, senão valor não equivalente.

#!/bin/bash
echo " Digite um Valor: "
read valor
echo " Valor escolhido foi: "$valor
sleep 3
if [ $valor -eq "100" ]
then
echo " Valor Equivalente a 100 "
else
echo " Valor Diferente de 100 "
fi


b. Elabore um script para copia de arquivo com data/hora e armazenamento da informação da copia em arquivo de log. O usuário deverá passar por parâmetro na chamada do script o arquivo que deseja copiar, desta forma o script realizara a copia substituindo o nome pelo nome original mais a data e hora atual do sistema operacional. Finalmente deverá armazenar em um arquivo de log a informação da copia, por exemplo, “Copia do arquivo /home/teste para /home/teste-19-11-13—19-30”.

#!/bin/bash
echo " Backup com Data"
echo " Informe o Arquivi que deseja copiar"
read arquivo
origem=/home/script/$arquivo
echo "arquivo escolhido : "$arquivo
data=`date +%d-%m-%y-%H-%M`
if [ -r $origem ]
then
echo "Executando Backup... "
sleep 2
echo " Backup realizado em "$data
destino=/home/script/$arquivo
cp $origem $destino-$data
echo " Realizado backup em : $destino -$data"
else
echo " Arquivo nao Existe "
fi



c. Elabore um script para simular um menu de opções. Se o usuário entrar com o valor 1, mostrar uma mensagem de copia de arquivos e solicitar ao usuário uma copia de arquivo utilizando o comando cp. Opção 2, exclusão de arquivos ou 3 alteração de arquivos. Se uma opção diferente de 1, 2, ou 3 for informada, apresentar uma mensagem de que não foi encontrada opção para este parâmetro.

#!/bin/bash
echo " Escolha uma Opcao: "
echo " 1 - Copiar Arquivo "
echo " 2 - Excluir Arquivo "
echo " 3 - Alterar Arquivo "
echo " 4 - Sair "
echo " 5 - Listar Arquivos "
read opcao
case $opcao in
1) echo " Copiar Arquivo : "
ls -la
sh atividade2
sh atividade3
;;

2) echo " Excluir Arquivo: "
ls -la
echo " Digite o nome do Arquivo a ser Excluido : "
read excluir
if [ -r $excluir ]
then
echo " Tem certeza que Deseja EXcluir $excluir "
echo " 1 - sim "
echo " 2 - nao "
read resp
if [ $resp -eq "1" ]
then
rm excluir
clear
echo " Arquivo Excluido com Sucesso !!!"
fi
else
clear
echo " Arquivo nao Existe "
fi
sh atividade3
;;

3) echo " Alterar Arquivo: "
ls -la
echo " Digite o nome do Arquivo a ser Alterado : "
read alterar
if [ -r $alterar ]
then
nano $alterar
clear
echo " Arquivo Alterado com Sucesso !!!"
else
clear
echo " Arquivo nao Existe "
fi
clear
sh atividade3
;;
4) clear
echo " Fim "
;;
5) clear
echo " L I S T A  D E  A R Q U I V O S "
ls -la -1
sh atividade3
;;
*) echo " Opcao Invalida !!!"


sh atividade3
;;
esac

sexta-feira, 3 de junho de 2016

Comandos Básicos Sistema Operacional Linux - " Ubuntu "





Comandos de Gestão de Ficheiros e Directorias


cd – Navegar entre diretórios, exemplo “cd /home”;
chmod –  Mudar a proteção de um ficheiro ou diretório, como por exemplo “chmod 777”;
chown – Mudar o dono ou grupo de um ficheiro ou diretório, vem de change owner;
chgrp – Mudar o grupo de um ficheiro ou diretório;
cmp – Compara dois ficheiros;
comm – Seleciona ou rejeita linhas comuns a dois ficheiros selecionados;
cp – Copia ficheiros;
crypt – Encripta ou Desencripta ficheiros (apenas CCWF);
diff – Compara o conteúdo de dois ficheiros ASCII;
file – Determina o tipo de ficheiro;
grep – Procura um ficheiro por um padrão, sendo um filtro muito útil e usado, por exemplo “cat a.txt | grep ola” irá mostrar-nos apenas as linhas do ficheiro “a.txt” que contenham a palavra “ola”;
gzip  – Comprime ou expande ficheiros;
ln – Cria um link a um ficheiro;
ls – Lista o conteúdo de um diretório;
lsof – Lista os ficheiros abertos, vem de “list open files”;
mkdir – Cria um diretório, vem de “make directory”;
mv – Move ou renomeia ficheiros ou diretórios;
pwd – Mostra-nos o caminho por inteiro do diretório em que nos encontramos em dado momento, ou seja a pathname;
quota – Mostra-nos o uso do disco e os limites;
rm – Apaga ficheiros, vem de remove,  é preciso ter cuidado com o comando rm * pois este apaga tudo sem confirmação por defeito;
rmdir – Apaga diretórios, vem de “remove directory”;
stat – Mostra o estado de um ficheiro, útil para saber por exemplo a hora e data do último acesso ao mesmo
sync – Faz um flush aos buffers do sistema de ficheiros, sincroniza os dados no disco com a memória, ou seja escreve todos os dados presentes nos buffers da memória para o disco;
sort – Ordena, une ou compara texto, podendo ser usado para extrair informações dos ficheiros de texto ou mesmo para ordenar dados de outros comandos como por exemplo listar ficheiros ordenados pelo nome;
tar – Cria ou extrai arquivos, muito usado como programa de backup ou compressão de ficheiros;
tee – Copia o input para um standard output e outros ficheiros;
tr – Traduz caracteres;
umask – Muda as proteções de ficheiros por defeito;
uncompress – Restaura um ficheiro comprimido;
uniq – Reporta ou apaga linhas repetidas num ficheiro;
wc – Conta linhas, palavras e mesmo caracteres num ficheiro.
Exibição ou Impressão de Ficheiros
cat – Mostra o conteúdo de um ficheiro,  e é muito usado também para concatenar ficheiros, como por exemplo fazendo “cat a.txt b.txt > c.txt” para juntar o ficheiro “a.txt” e “b.txt” num único de nome “c.txt”;
fold – Encurta, ou seja, faz um fold das linhas longas para caberem no dispositivo de output;
head – Mostra as primeiras linhas de um ficheiro, como por exemplo com head -10 a.txt, ou usado como filtro para mostrar apenas os primeiros x resultados de outro comando
lpq – Examina a spooling queue da impressora;
lpr – Imprime um ficheiro;
lprm – Remove jobs da spooling queue da impressora;
more – Mostra o conteúdo de um ficheiro, mas apenas um ecrã de cada vez, ou mesmo output de outros comandos, como por exemplo “ls | more”;
less – Funciona como o more, mas com menos features, menos características e potenciais usos;
page – Funciona de forma parecida com o comando more, mas exibe os ecrãs de forma invertida ao comando more;
pr -Pagina um ficheiro para posterior impressão
tail – Funciona de forma inversa ao comando head, mostra-nos as últimas linhas de um ficheiro ou mesmo do output de outro comando, quando usado como filtro;
zcat  – Mostra-nos um ficheiro comprimido;
xv  – Serve para exibir, imprimir ou mesmo manipular imagens;
gv – Exibe ficheiros ps e pdf;
xpdf – Exibe ficheiros pdf, usa o gv.
Comandos de Controlo e Acesso
exit – Terminar a sessão, ou seja, a shell;
logout – Deslogar, ou seja, terminar a sessão atual, mas apenas na C shell e na bash shell;
passwd – Mudar a password do nosso utilizador;
rlogin – Logar de forma segura em outro sistema Unix/Linux;
ssh – Sessão segura, vem de secure shell, e permite-nos logar num servidor através do protocolo ssh;
slogin – Versão segura do rlogin;
yppasswd – Mudar a password do nosso utilizador nas páginas amarelas (yellow pages).
Comandos de Ajuda e Documentação
apropos – Localiza comandos por pesquisa de palavra-chave;
find – Localizar ficheiros, como por exemplo “find . -name *.txt -print”, para pesquisa de ficheiros de texto por entre os ficheiros do diretório atual;
info – Lança o explorador de informações
man – Manual muito completo, pesquisa informação acerca de todos os comandos que necessitemos de saber, como por exemplo “man find”;
whatis – Descreve um determinado comando;
whereis –  Localizar a página de ajuda (man page), código fonte, ou ficheiros binários, de um determinado programa.
Comandos de Edição de Texto
emacs – Editor de texto screen-oriented;
pico – Editor de texto screen-oriented, também chamado de nano;
sed – Editor de texto stream-oriented;
vi – Editor de texto full-screen;
vim – Editor de texto full-screen melhorado.
Comandos de Transferência de Ficheiros
ftp – Vem de file transfer protocol, e permite-nos, usando o protocolo de transferência de ficheiros ftp, transferir ficheiros entre vários hosts de uma rede, como aceder a um servidor de ftp para enviar ou puxar ficheiros;
rsync – Sincroniza de forma rápida e flexível dados entre dois computadores;
scp – Versão segura do rcp.
Comandos de Notícias ou Rede
netstat – Mostra o estado da rede;
rsh – Corre umam shell em outros sistemas UNIX;
ssh – Versão segura do rsh;
nmap – Poderoso port-scan, para visualizarmos portas abertas num dado host;
ifconfig – Visualizar os ips da nossa máquina, entre outras funções relacionadas com ips;
ping – Pingar um determinado host, ou seja, enviar pacotes icmp para um determinado host e medir tempos de resposta, entre outras coisas.
Comandos de Controlo de Processos
kill – Mata um processo, como por exemplo “kill -kill 100”, “kill -9 100” ou “kill -9 %1”;
bg – Coloca um processo suspenso em background;
fg – Ao contrário do comando bg, o fg traz de volta um processo ao foreground;
jobs – Permite-nos visualizar jobs em execução, quando corremos uma aplicação em background, poderemos ver esse job com este comando, e termina-lo com um comando “kill -9 %1”, se for o job número 1, por exemplo;
top – Lista os processos que mais utilizam CPU, útil para verificar que processos estão a provocar um uso excessivo de memória, e quala porcentagem de cpu cada um usa em dado momento;
^y – Suspende o processo no próximo pedido de input;
^z – Suspende o processo actual.
Comandos de Informação de Estado
clock – Define a hora do processador;
date – Exibe a data e hora;
df – Exibe um resumo do espaço livre em disco;
du – Exibe um resumo do uso do espaço em disco;
env – Exibe as variáveis de ambiente;
finger – Pesquisa informações de utilizadores;
history – Lista os últimos comandos usados, muito útil para lembrar também de que comandos foram usados para fazer determinada acção no passado ou o que foi feito em dada altura;
last – Indica o último login de utilizadores;
lpq – Examina a spool queue;
manpath – Mostra a path de procura para as páginas do comando man;
printenv – Imprime as variáveis de ambiente;
ps – Lista a lista de processos em execução, útil para saber o pid de um processo para o mandar abaixo com o comando kill, entre outras coisas;
pwd – Mostra-nos o caminho por inteiro da directoria em que nos encontramos em dado momento, ou seja a pathname
set Define variáveis da sessão, ou seja, da shell, na C shell, na bash ou na ksh;
spend – Lista os custos ACITS UNIX até à data;
time – Mede o tempo de execução de programas;
uptime – Diz-nos há quanto tempo o sistema está funcional, quando foi ligado e o seu uptime;
w – Mostra-nos quem está no sistema ou que comando cada job está a executar;
who – Mostra-nos quem está logado no sistema;
whois – Serviço de directório de domínios da Internet, permite-nos saber informações sobre determinados domínios na Internet, quando um domínio foi registado, quando expira, etc;
whoami – Diz-nos quem é o dono da shell

33 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
principal(){
echo " Trabalhando com Funcoes "
echo " 1 - "
echo " 2 - "
echo " 3 - Sair "
echo " Escolha uma Opcao: "
read opcao
case $opcao in
1) funcao1 ;;
2) funcao2 ;;
3) exit ;;
*) echo " opcao invalida !!! ";
principal ;;
esac
}
funcao1(){
echo "Estou dentro da Funcao 1"
pwd
sleep 10
principal
}
funcao2(){
echo " Estou dentro da Funcao 2 "
whoami
sleep 15
principal
}
principal

32 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " Exemplo While "
echo " Escolha um Valor : "
read variavel
echo " valor escolhido: " $variavel
while [ $variavel -lt 100 ]
do
echo " teste numero: " $variavel
variavel = $((variavel + 1))
done

31 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " for "
for i to *
do
du -b $i > /home/tamanho
tamanho = " `cut -c 1-4 /home/tamnho`"
echo " arquivo " $i "---> " $tamanho
echo " arquivo " $i " --> " $tamanho >> /home/lista
maximo = 500
if [ $tamanho -gt $maximo ]
then
echo $i " ---> maior "
else
echo $i "---< menor "
fi
done
echo " FIM "

30 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " for "
echo " Escolha o Diretorio Desejado: "
read diretorio
echo " Diretorio Escolhido ---> " $diretorio
cd $diretorio
echo " Diretorio corrente `pwd`"
for i in *
do
if [ -d $i ]
then
echo $i " --->  diretorio " >> /home/log
else
echo $i "---< arquivo " >> /home/log
fi
done
echo " FIM "
cat /home/log

29 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " for "
for i in *
do
if [ -d $i ]
then
echo $i "--->"
else
echo $i "<---"
fi
done
echo " FIM"

28 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " Script para crontab - logado"
data = `date +%d-%m-%y-%H-%M`
echo " Logado em " $data >> logados
echo " `who`" >> logados

27 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " Trabalhando com Case"
echo " Escolher uma Opcao "
echo " 1 "
echo " 2 "
echo " 3 - Sair"
reas opcao
case $opcao in
1) echo " funcao 1 "
sleep 10
;;
2) echo " funcao 2"
sleep 5
;;
3) exit
;;
*) echo " Opcao Invalida !!!"
;;
esac

26 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo "Backup solicitando origem e destino "
echo " origem => " $1
echo " destino => " $2
data = `date +%d-%m-%y-%H-%M`
cp $1 $2$data
if [ -e $2$data ]
then
echo " copia de " $1 " Concluido com Sucesso para " $2$data
else
echo " copia de " $1 " Nao Realizada !!! - com ERROS "
fi

25 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " Backup solocitando origem e destino "
echo " origem => "$1
echo " destino => "$2
data = `date +%d-%m-%y-%H-%M`
cp $1 $2$data
echo " Copia de " $1 " Concluido com Sucesso para " $2$data

24 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo "Backup com Data de um Diretorio completo "
echo " (Ex. /home/diretorio)"
echo " Nao Colocar  (/) no final"
echo " informe o Diretorio : "
read diretorio
echo " Diretorio escolhido: "$diretorio
data = `date +%d-%m-%y-%H-%M`
echo " Backup Realizado em: "$data
origem = $diretorio/*
destino = /home/backup/$data
echo " Copiando de "$origem " para "$destino
mkdir $destino
# copiando recursivamente o item para o destino
cp -r $origem $destino
echo " FIM"

23 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo "Backup com Data"
echo " informe o Arquivo que deseja copiar (passar o caminho completo)"
read arquivo
echo " arquivo escolhido : " $arquivo
data = `date +%d-%m-%y-%H-%M`
echo " Backup realizado em " $data
# salvando log em arquivo texto
echo " Realizando Backup em : " $data >> /home/backup/log

22 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " Backup com data "
data = `date +%d%-%m-%y-%H-%M`
echo " Backup realizado em : " $data
cp /home/script/texto home/script/texto $data
# salvando log em arquivo texto
echo " realizando Backup em " $data >> log

21 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " Backup com Data "
data = `date +%d-%m-%y-%H-%M`
echo " Backup realizado em: " $date
cp /home/script/texto /home/script/texto - $data

20 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " teste com if "
echo " Aquivo passando por parametro " $1
if [ -z $1 ]
then
echo " Parametro Vazio "
elif [ -e $1 ]
then
echo " Arquivo Existe "
else
echo " Arquivo nao Existente "
fi
echo " FIM "

19 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " teste com if "
echo " Arquivo passando por parametro "$1
if [ -e  $1 ]
then
echo " Arquivo existente "
else
echo " Arquivo nao Existe !!!"
fi
echo "Fim"

18 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " C A L C U L D O R A "
echo " informe o Primeiro Numero: "
read numero1
echo
echo " informe o Segundo numero: "
read numero2
echo " Escolha a Operacao "
echo " 1 Soma "
echo " 2 Subtrair"
echo " 3 Dividir "
echo " 4 Multiplicar "
read operacao
if [ operacao -eq "1" ]
then
echo " Soma =  `expr $numero1 " + " $numero2`"
elif [ operacao -eq "2" ]
then
echo " Subtrair = `expr $numero1 " - " $numero2`"
elif [ operacao -eq "3" ]
then
echo " Dividir = `expr $numero1 " / " $numero2`"
elif [ operacao -eq "4" ]
then
echo " multiplicar = `expr $numero1 " * " $numero2`"
fi
echo " "
echo " Fim do Programa "

17 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo $1
echo " Valor Segundo Parametro "$2
if [ $1 -eq "1" ]
then
echo " reposta parametro e 1 "
else
echo " resposta parametro nao e 1"
fi
echo " fim do programa "

16 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " Exemplo if "
echo " Informe o Valor: "
read valor
if [ $valor -eq "1" ]
then
echo " Valor igula a 1 "
fi
if [ $valor -ne "1" ]
then
echo " Valor diferente de 1 "
fi
if [ $valor -eq "2" ]
then
echo " Valor igual a 2"
fi
if [ $valor -lt "2" ]
then
echo " Valor menor que 2"
fi
if [ $valor -gt "2" ]
then
echo " Valor maior que 2"
fi

15 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " Teste utilizando if "
echo " Entre com um Valor : "
read valor
echo " Valor Escolhido foi: "$valor
if [ $valor -eq "12" ]
then
echo " Variavel igual a 12 "
else
echo " Variavel Diferente de 12"
fi

14 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " Teste Urilizando if"
echo " Entre com um valor: "; read valor
echo " Valor escolhido foi: "$valor
if [ $valor -eq "12" ]
then
echo " Variavel igual a 12 "
echo " Voce Acertou !!!"
else
echo " Voce errou"
fi

13 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " Utilizando sleep "
echo`date +%d:%m:%y:%a`
varinicio = `date +%H:%M:%S`
echo " valor inicial "$varinicio
sleep 20
varfim = `date +%H:%M:%S`
echo " Valor Final "$varfim
diferenca = $((`echo $varfim | cut -c 7-8 `-`echo $varinicio | cut -c 7-8`))
echo
echo "Calculando..."
sleep 20
echo "diferenca = "$diferenca

12 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " Utilizando o Sleep "
varinicio = date +%H:%M:%S`
echo " Valor Inicial "$varinicio
sleep 10
varfim = date +%H:%M:%S`
echo "valor final = "$varfim

11 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
# Comenterios no Script
clear
echo "Teste de Scripts com Variaveis "
var1 = 12
echo $var1
echo " Entre com valor da Variavel: "; read var2
echo
echo " Aguarde Calculando... "
sleep 10
var3 = 4
echo " Valor da Variavel 1 = "$var1
echo " Valor da Variavel 2 = "$var2" +"
echo " Valor da Variavel 3 = "$var3
echo " Aguarde Calculando... "
sleep 10
var4 = $(($var1+$var2+$var3))
echo
echo $var1 "  +  "$var2"  +  "$var3"  = "$var4
echo " A soma das 3 Variaveis = "$var4

10 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
#comentarios
echo " Cores "
echo -e "\033[04;31m Clayton \033[01;32m"
echo -e "\033[01;33m Carvalho \033[07;34m"
echo -e "\033[01;36m ERRO FATAL \033[05;34m"
echo -e "\033[07;35m Klen \033[00;41m"
echo -e "\033[01;37 Vida \033[05;46m"
echo -e "\033[08;34 LOKA \033[04;31;35m"
echo -e "\033[05;32m Vida...\033[00;37m"
#\033[estilo;corTexto;corFundo
#\033[ -> inicio do Bloco
#05 -> estilo somente para texto
#32 -> cor texto
#44 -> fundo
#m final do texto determinado para cor.

09 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " Listando modificados nas ultimas horas"
echo " escolher o Diretorio: "
read diretorio
echo " Arquivos modificados nas ultimas 6  horas "
find $diretorio -mtime -0,25
echo " Arquivos modificados nas ultimas 24 horas "
find $diretorio -mtime -1

08 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " listando ultimos arquivos "
echo
echo " Digite todo caminho correto "
echo
echo " Escolha um diretório "$diretorio
echo
echo " Escolha a Quantidade de Arquivos: "
read qtd
cd $diretorio
ls -trl | tail -$qtd



07 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
clear
echo
echo " Data Atual "
date
sleep 20
echo " Fim do Tempo "

06 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
#comentarios
clear
echo
echo " Informe seu Nome:  "
read nome
echo $nome
echo " Conteudo da Variavel "$nome
echo " Informe seu sobrenome : "; read sobrenome
echo " Conteudo da Variavel "$sobrenome
echo
echo " Seu nome e Sobrenome : "$nome $sobrenome

05 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
# comentarios
clear
echo
echo " Informe seu Nome "
read nome
echo $nome
echo " Seu Nome : "$nome

04 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " armazenar resultado do comando com variavel "
variavel1 = 'pwd'
echo $variavel
echo "Uso do Disco "
variavel2 = 'df '
echo $variavel2
echo
echo " lista de arquivos para variavel "
variavel3 = 'ls'
echo $variavel3

03 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
#comentarios
clear
echo
echo "Estou logado como usuario 'whoami' "
echo 

02 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
echo " utilizando print "
variavel = 'pwd '
echo $variavel
printf "\n conteudo da variavel "$variavel
#no printf o vaor da $variavel deve ficar junto as aspas
printf " \n teste 2 \n"
var = abc
printf "\n valor de var = "$var"\n"

01 - Execício Script Sistema Operacional "Linux - ubuntu"

#!/bin/bash
#comentarios
clear
echo "Primeiro script linux"
echo "Hello Word!!!"
echo
echo "Data Atual"
echo
date
echo " Usuários conectados "
w
echo
echo " Fim Do Script "
echo
echo " Teste "
variavel = "teste com variaveis "
echo $variavel
# Comentarios

quinta-feira, 2 de junho de 2016

Lista com comandos essenciais para o Linux





Comandos de Gestão de Ficheiros e Directorias


cd – Navegar entre diretórios, exemplo “cd /home”;
chmod –  Mudar a proteção de um ficheiro ou diretório, como por exemplo “chmod 777”;
chown – Mudar o dono ou grupo de um ficheiro ou diretório, vem de change owner;
chgrp – Mudar o grupo de um ficheiro ou diretório;
cmp – Compara dois ficheiros;
comm – Seleciona ou rejeita linhas comuns a dois ficheiros selecionados;
cp – Copia ficheiros;
crypt – Encripta ou Desencripta ficheiros (apenas CCWF);
diff – Compara o conteúdo de dois ficheiros ASCII;
file – Determina o tipo de ficheiro;
grep – Procura um ficheiro por um padrão, sendo um filtro muito útil e usado, por exemplo “cat a.txt | grep ola” irá mostrar-nos apenas as linhas do ficheiro “a.txt” que contenham a palavra “ola”;
gzip  – Comprime ou expande ficheiros;
ln – Cria um link a um ficheiro;
ls – Lista o conteúdo de um diretório;
lsof – Lista os ficheiros abertos, vem de “list open files”;
mkdir – Cria um diretório, vem de “make directory”;
mv – Move ou renomeia ficheiros ou diretórios;
pwd – Mostra-nos o caminho por inteiro do diretório em que nos encontramos em dado momento, ou seja a pathname;
quota – Mostra-nos o uso do disco e os limites;
rm – Apaga ficheiros, vem de remove,  é preciso ter cuidado com o comando rm * pois este apaga tudo sem confirmação por defeito;
rmdir – Apaga diretórios, vem de “remove directory”;
stat – Mostra o estado de um ficheiro, útil para saber por exemplo a hora e data do último acesso ao mesmo
sync – Faz um flush aos buffers do sistema de ficheiros, sincroniza os dados no disco com a memória, ou seja escreve todos os dados presentes nos buffers da memória para o disco;
sort – Ordena, une ou compara texto, podendo ser usado para extrair informações dos ficheiros de texto ou mesmo para ordenar dados de outros comandos como por exemplo listar ficheiros ordenados pelo nome;
tar – Cria ou extrai arquivos, muito usado como programa de backup ou compressão de ficheiros;
tee – Copia o input para um standard output e outros ficheiros;
tr – Traduz caracteres;
umask – Muda as proteções de ficheiros por defeito;
uncompress – Restaura um ficheiro comprimido;
uniq – Reporta ou apaga linhas repetidas num ficheiro;
wc – Conta linhas, palavras e mesmo caracteres num ficheiro.
Exibição ou Impressão de Ficheiros
cat – Mostra o conteúdo de um ficheiro,  e é muito usado também para concatenar ficheiros, como por exemplo fazendo “cat a.txt b.txt > c.txt” para juntar o ficheiro “a.txt” e “b.txt” num único de nome “c.txt”;
fold – Encurta, ou seja, faz um fold das linhas longas para caberem no dispositivo de output;
head – Mostra as primeiras linhas de um ficheiro, como por exemplo com head -10 a.txt, ou usado como filtro para mostrar apenas os primeiros x resultados de outro comando
lpq – Examina a spooling queue da impressora;
lpr – Imprime um ficheiro;
lprm – Remove jobs da spooling queue da impressora;
more – Mostra o conteúdo de um ficheiro, mas apenas um ecrã de cada vez, ou mesmo output de outros comandos, como por exemplo “ls | more”;
less – Funciona como o more, mas com menos features, menos características e potenciais usos;
page – Funciona de forma parecida com o comando more, mas exibe os ecrãs de forma invertida ao comando more;
pr -Pagina um ficheiro para posterior impressão
tail – Funciona de forma inversa ao comando head, mostra-nos as últimas linhas de um ficheiro ou mesmo do output de outro comando, quando usado como filtro;
zcat  – Mostra-nos um ficheiro comprimido;
xv  – Serve para exibir, imprimir ou mesmo manipular imagens;
gv – Exibe ficheiros ps e pdf;
xpdf – Exibe ficheiros pdf, usa o gv.
Comandos de Controlo e Acesso
exit – Terminar a sessão, ou seja, a shell;
logout – Deslogar, ou seja, terminar a sessão atual, mas apenas na C shell e na bash shell;
passwd – Mudar a password do nosso utilizador;
rlogin – Logar de forma segura em outro sistema Unix/Linux;
ssh – Sessão segura, vem de secure shell, e permite-nos logar num servidor através do protocolo ssh;
slogin – Versão segura do rlogin;
yppasswd – Mudar a password do nosso utilizador nas páginas amarelas (yellow pages).
Comandos de Ajuda e Documentação
apropos – Localiza comandos por pesquisa de palavra-chave;
find – Localizar ficheiros, como por exemplo “find . -name *.txt -print”, para pesquisa de ficheiros de texto por entre os ficheiros do diretório atual;
info – Lança o explorador de informações
man – Manual muito completo, pesquisa informação acerca de todos os comandos que necessitemos de saber, como por exemplo “man find”;
whatis – Descreve um determinado comando;
whereis –  Localizar a página de ajuda (man page), código fonte, ou ficheiros binários, de um determinado programa.
Comandos de Edição de Texto
emacs – Editor de texto screen-oriented;
pico – Editor de texto screen-oriented, também chamado de nano;
sed – Editor de texto stream-oriented;
vi – Editor de texto full-screen;
vim – Editor de texto full-screen melhorado.
Comandos de Transferência de Ficheiros
ftp – Vem de file transfer protocol, e permite-nos, usando o protocolo de transferência de ficheiros ftp, transferir ficheiros entre vários hosts de uma rede, como aceder a um servidor de ftp para enviar ou puxar ficheiros;
rsync – Sincroniza de forma rápida e flexível dados entre dois computadores;
scp – Versão segura do rcp.
Comandos de Notícias ou Rede
netstat – Mostra o estado da rede;
rsh – Corre umam shell em outros sistemas UNIX;
ssh – Versão segura do rsh;
nmap – Poderoso port-scan, para visualizarmos portas abertas num dado host;
ifconfig – Visualizar os ips da nossa máquina, entre outras funções relacionadas com ips;
ping – Pingar um determinado host, ou seja, enviar pacotes icmp para um determinado host e medir tempos de resposta, entre outras coisas.
Comandos de Controlo de Processos
kill – Mata um processo, como por exemplo “kill -kill 100”, “kill -9 100” ou “kill -9 %1”;
bg – Coloca um processo suspenso em background;
fg – Ao contrário do comando bg, o fg traz de volta um processo ao foreground;
jobs – Permite-nos visualizar jobs em execução, quando corremos uma aplicação em background, poderemos ver esse job com este comando, e termina-lo com um comando “kill -9 %1”, se for o job número 1, por exemplo;
top – Lista os processos que mais utilizam CPU, útil para verificar que processos estão a provocar um uso excessivo de memória, e quala porcentagem de cpu cada um usa em dado momento;
^y – Suspende o processo no próximo pedido de input;
^z – Suspende o processo actual.
Comandos de Informação de Estado
clock – Define a hora do processador;
date – Exibe a data e hora;
df – Exibe um resumo do espaço livre em disco;
du – Exibe um resumo do uso do espaço em disco;
env – Exibe as variáveis de ambiente;
finger – Pesquisa informações de utilizadores;
history – Lista os últimos comandos usados, muito útil para lembrar também de que comandos foram usados para fazer determinada acção no passado ou o que foi feito em dada altura;
last – Indica o último login de utilizadores;
lpq – Examina a spool queue;
manpath – Mostra a path de procura para as páginas do comando man;
printenv – Imprime as variáveis de ambiente;
ps – Lista a lista de processos em execução, útil para saber o pid de um processo para o mandar abaixo com o comando kill, entre outras coisas;
pwd – Mostra-nos o caminho por inteiro da directoria em que nos encontramos em dado momento, ou seja a pathname
set Define variáveis da sessão, ou seja, da shell, na C shell, na bash ou na ksh;
spend – Lista os custos ACITS UNIX até à data;
time – Mede o tempo de execução de programas;
uptime – Diz-nos há quanto tempo o sistema está funcional, quando foi ligado e o seu uptime;
w – Mostra-nos quem está no sistema ou que comando cada job está a executar;
who – Mostra-nos quem está logado no sistema;
whois – Serviço de directório de domínios da Internet, permite-nos saber informações sobre determinados domínios na Internet, quando um domínio foi registado, quando expira, etc;
whoami – Diz-nos quem é o dono da shell