lab.01-sistema operacional linux [modo de compatibilidade]
DESCRIPTION
LAB.01-Sistema Operacional LinuX [Modo de Compatibilidade]TRANSCRIPT
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Sistemas Operacionais de Redes
Sistemas Operacionais de Redes
Prof. Georges Daniel Amvame Nze, Dr.Prof. Georges Daniel Amvame Nze, Dr.
Universidade de Braslia2015
Universidade de Braslia2015
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
LAB - 01LAB - 01
Sumrio
Noes de LINUX
SHELL
KERNEL
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
09:21 3
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Introduo O BASH no somente uma excelente linha de comando no prompt do shell, mas
uma linguagem de script em si, tais como Perl, Python e Tcl.. Essa linguagempermite usar as capacidades do shell e automatizar muitas tarefas que casocontrrio exigiria um monte de comandos no prompt:
Linguagens de programao so geralmente muito mais poderoso e mais rpido do quelinguagens de script. Linguagens de programao geralmente comeam a partir docdigo fonte e so compiladas em um arquivo executvel. Este executvel no facilmente portado em diferentes sistemas operacionais;
Uma linguagem de script tambm comea a partir do cdigo fonte, mas no compiladaem um arquivo executvel. Pelo contrrio, o intrprete l as instrues no arquivo deorigem e executa cada instruo. Programas interpretados so geralmente mais lentosdo que programas compilados. A principal vantagem que voc pode facilmente portaarquivo de origem para qualquer sistema operacional.
09:21 4
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Abrir um editor da vossa escolha (vi, vim, nano, gedit etc.):
[ ]$nano
Programa exemplo:
#!/bin/bash
echo "BOM DIA"
Executar o Programa:
[ ]$chmod 700 bomdia.sh
[ ]$./bomdia.sh
BOM DIA
09:21 5
EX.01
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Seguir os passos abaixo:
[ ]$ mkdir lixo[ ]$ cp * lixo[ ]$ rm -rf lixo
[ ]$ mkdir lixo
Programa exemplo:
#!/bin/bash# deleo de alguns arquivos
cp * trashrm -rf lixomkdir lixo
echo "ARQUIVOS DELETADOS!"
09:21 6
EX.02
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Variveis Podemos usar variveis como em qualquer linguagem de programao. Seus valores so
sempre armazenados como sequncias de caracteres;
No precisamos declarar uma varivel, apenas atribuindo um valor para sua referncia ir
cri-lo;
NOTA: uma varivel poder conter um nmero ou carter;
Programa exemplo:
#!/bin/bash
# atribuio da palavra BOM DIA varivel STR STR="BOM DIA"
echo $STR
09:21 7
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Aspas Duplas d Simples Ao atribuir dados de caracteres que contenha espaos ou caracteres especiais, os dados
devem estar entre aspas simples ou duplas;
Usa-se aspas duplas para mostrar uma sequncia de caracteres permitindo quaisquer
variveis entre as aspas para ser resolvido;
Exemplo:
[ ]$ var="teste"
[ ]$ newvar="O valor da variavel eh $var"
[ ]$ echo $newvar
O valor da variavel eh teste
09:21 8
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Comando EXPORT O comando export coloca uma varivel no ambiente para que seja acessvel a processos
filhos;
Exemplo:
[ ]$ x=aula
[ ]$ bash # Roda processo filho
[ ]$ echo $x # Nada na variavel x.
[ ]$ exit # Retorno ao processo pai
[ ]$ export x
[ ]$ bash
[ ]$ echo $x
aula # confirmao.
09:21 9
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Comando EXPORT Se o processo filho modifica x, ele no ir modificar o valor original do processo pai;
[ ]$ x=filho
[ ]$ exit
[ ]$ echo $x aula
09:21 10
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Variveis de ambiente Existem dois tipos de variveis: variveis locais, e variveis de ambiente que so definidas
pelo sistema;
Exemplo:
[ ]$ echo $shell
/bin/bash
[ ]$ echo $PATH
/usr/X11R6/bin:/usr/local/bin:/bin:/usr/bin
Variveis de ambiente so definidas em /etc/profile, /etc/profile.d/ e ~/. bash_profile;
Estes so os arquivos de inicializao e so lidos quando o shell bash for invocado.
09:21 11
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Variveis de ambienteHOME: Argumento padro (diretrio home) para cd.PATH: Caminho de pesquisa para comandos. uma lista separada por dois pontos que so pesquisadas quando voc digita um comando.
Caso digita-se:
[ ]$ mkdir ~/bin
... e incluir as seguintes linhas no ~/.bash_profile:
PATH=$PATH:$HOME/bin
... V-se que o comando a seguir includo no caminho de busca:
/home/ userid /bin
09:21 12
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Variveis de ambienteLOGNAME: Argumento contendo o nome de usurio;HOSTNAME: Argumento contendo o nome do computador; PS1: Sequncia de caracteres apresentados antes do prompt;
\t hour\d date
\w current directory
\W last part of the current directory
\u user name
\$ prompt character
Exemplo:
[userid@home userid]$ PS1= ' ola \u * '
ola userid*
09:21 13
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Comando READ O comando READ lhe permite realizar uma chamada na tela de prompt que por seguinte ser
armazenada em uma varivel;
Exemplo:
#!/bin/bash
echo -n "Entre o nome do arquivo a ser deletado:"
read file
echo "Digite 'y' para remover, 'n' para desistir"
rm -i $file
echo "Commando realizado!"
09:21 14
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Comando de Substituio Comando de substitution: `commando`
Exemplo:
[ ]$ LIST= ' ls '
[ ]$ echo $LIST
ola.sh hoje.sh
Comando de substitution: $(commando)
[ ]$ LIST=$(ls)
[ ]$ echo $LIST
ola.sh hoje.sh
09:21 15
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Aritmtica Comando: LET
Exemplo:
[ ]$ let X=10+2*7
[ ]$ echo $X
24
[ ]$ let Y=X+2*4
[ ]$ echo $Y
32
09:21 16
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Aritmtica Comando: LET
Comando: $[expresso] ou $((expresso))
Exemplo:
[ ]$ echo " $((120+20)) "
140
[ ]$ VALOR=$[120+20]
[ ]$ echo " $[120*$VALOR] "16800
09:21 17
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
AritmticaExemplo:
#!/bin/bash
echo -n " Digite o primeiro numero: " ; read x
echo -n " Digite o segundo numero: " ; read y
add=$(($x + $y))
sub=$(($x - $y))
mul=$(($x * $y))
div=$(($x / $y))
mod=$(($x % $y))
09:21 18
EX.01
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
AritmticaExemplo (cont.):
# imprime o resultado:
echo " Soma: $add "
echo " Substrao: $sub "
echo " Multiplicao: $mul "
echo " Diviso: $div "
echo " Resto: $mod "
09:21 19
EX.01
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Comparativo
if [ expression ];
then
statements
elif [ expression ];
then
statements
else
statements
fi
09:21 20
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Comparativo
Exemplo:
[ s1 = s2 ] (verdadeiro caso s1 for igual a s2)
[ s1 != s2 ] (verdadeiro caso s1 no for igual a s2)
[ s1 ] (verdadeiro caso s1 no for vazio)
[ -n s1 ] (verdadeiro caso s1 tem tamanho > 0)
[ -z s2 ] (verdadeiro caso s2 tem tamanho = 0)
09:21 21
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
ComparativoComparativo entre Nmeros
-eq compara caso dois nmeros sejam iguais
-ne compara caso dois nmeros no sejam iguais
-le compara caso um nmero menor ou igual ao outro
-ge compara caso um nmero maior ou igual ao outro
-lt compara caso um nmero menor ao outro
-gt compara caso um nmero maior ao outro
eq = equal
lt = less than
gt = greater than
le = less or iqual
ge = greater or iqual
09:21 22
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Comparativo[ ]$ nano usuario.sh
#!/bin/bash
echo -n "Entre o seu nome de login: "
read name
if ["$name" = "$USER" ];
then
echo "Ola, $name. Como vai..? "
else
echo "Voce no o $USER, quem voc ..? "
fi
09:21 23
EX.01
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Comparativo[ ]$ nano numero.sh
#!/bin/bash
echo -n "Digite um numero entre 1 < x < 10: "
read num
if ["$num" -lt 10 ]; then
if ["$num" -gt 1 ]; then
echo "$num*$num=$(($num*$num)) "
else
echo "Insero errada..! "
fi
else
echo "Insero errada..! "
fi
)
09:21 24
EX.02
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Comparativo[ ]$ nano diretorio.sh
#!/bin/bashif [ -f /etc/fstab ];
thencp /etc/fstab .
echo "Copia realizada. "
elseecho "Este arquivo no existe. "
exit 1
fi
09:21 25
EX.03
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Comparativo[ ]$ nano comparativo.sh
#!/bin/bash
echo -n "Digite um numero 1 < x < 10: "
read num
if [ "$number" -gt 1 ] && [ "$number" -lt 10 ];
then
echo " $num*$num=$(($num*$num)) "
else
echo " Insero errada! "
fi
09:21 26
EX.04
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Comando CASE
case $var in
val1)
statements;;
val2)
statements;;
*)
statements;;
esac
09:21 27
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
Comando CASE[ ]$ nano case.sh
#!/bin/bash
echo -n "Entre um numero entre 1 < x < 10: "
read x
case $x in
1) echo "O valor de x 1. ";;
2) echo "O valor de x 2. ";;
3) echo "O valor de x 3. ";;
4) echo "O valor de x 4. ";;
5) echo "O valor de x 5. ";;
6) echo "O valor de x 6. ";;
7) echo "O valor de x 7. ";;
8) echo "O valor de x 8. ";;
9) echo "O valor de x 9. ";;
0 | 10) echo numero errado. ";;
*) echo valor nao reconhecido. ";;
esac
09:21 28
EX.01
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
SHELL Dinmico Realizar o script a seguir para verificao de existncia ou no de pasta no sistema:
09:21 29
1
-
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Engenharia de Redes de Comunicao
SOR Sistemas Operacionais de Redes
Noes de LINUX
SHELL Dinmico Realizar o script a seguir para supresso e criao de arquivos criados:
09:21 30
2