30
Engenharia de Redes de Comunicação SOR – Sistemas Operacionais de Redes Engenharia de Redes de Comunicação SOR – Sistemas Operacionais de Redes Engenharia de Redes de Comunicação SOR – Sistemas Operacionais de Redes Engenharia de Redes de Comunicação 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 Brasília 2015 Universidade de Brasília 2015

LAB.01-Sistema Operacional LinuX [Modo de Compatibilidade]

Embed Size (px)

DESCRIPTION

LAB.01-Sistema Operacional LinuX [Modo de Compatibilidade]

Citation preview

  • 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