Simulado para provas LPI nível 1

Publicado por Elias Bernabé Turchiello (última atualização em 25/09/2011)

[ Hits: 13.472 ]

Homepage: www.turchiellows.xpg.com.br

Download simulado-grafico.sh




Este script é um simulado em preparação às provas de certificação LPI 1 (101 e 102). Possui 449 questões divididas em várias etapas, e uma etapa adicional com apenas 15 questões para que se possa fazer uma avaliação do funcionamento do script antes de começar para valer.

Este foi o primeiro script que desenvolvi quando comecei a trabalhar com GNU/Linux e estudar para fazer a certificação LPI nível 1. Ele é extremamente grande e escrito de uma maneira bem "primitiva", mas funciona muito bem.

Como dependência, precisa ter o Xdialog instalado na máquina. Caso não o tenha, o script tenta instalá-lo automaticamente. A partir dai tudo acontece de maneira gráfica, cada questão será exibida em uma janela gráfica. A primeira janela que se abrirá possui explicações de como funciona o script, na segunda você escolhe a etapa que quer fazer e após isso mãos a obra.

No final, você é avaliado. Se acertar no mínimo 70% das questões da etapa que realizou será aprovado, caso contrário reprovado. E ainda será aberto um arquivo de texto com todas as questões que você respondeu, exibindo a resposta correta e a sua resposta, caso não tenha acertado a questão.

Espero que ajude! E boa sorte a todos os candidados a certificação!

  



Esconder código-fonte

#!/bin/bash
# simulado-grafico.sh

# Este script é livre e pode ser distribuido e modificado por qualquer pessoa.
# O autor o desenvolveu única e exclusivamente como forma de aprendizado em Linux sem visar lucro ou promoção.
# Se você modificar este script ou desenvolver uma nova versão com mais funcionabilidade, por-favor, envie uma cópia para: turchiellows@yahoo.com.br e insira o seu nome na lista de autores.
# O autor, Elias Bernabé Turchiello, não se responsabiliza pelo uso indevido, comercialização, novas versões desenvolvidas por outras pessoas, etc. a respeito deste script.

#--------------------------------------------------------------------------------------
# Versão 1.0 : - Para exames LPI 101 e 102
# - Possui 130 questões de LPI1
# - Possui 124 questões de LPI2
# - Faz a avaliação do desempenho no final do script.
# - Gera um arquivo com a questão, as alternativas, a resposta correta e a resposta que foi selecionada.
# Versão 1.1 : - Dividido em seções e adicionado mais questões
# - Aprimorado o mod de encerar o script no meio da execução com a função elif
# - Identifica a distribuição Linux e checa se o Xdialog está instalado, se não estiver tenta intalar.

#--------------------------------------------------------------------------------------
# Autor : versão 1.0 : Elias Bernabé Turchiello - 31/07/2010
# Autor : versão 1.1 : Elias Bernabé Turchiello - 14/11/2010

#-----------------------------------------------------------------------------------------
# Elias Bernabé Turchiello
# E-mail: turchiellows@yahoo.com.br

#--------------------------------------------------------------------------------------
# Prestando ajuda:
test $1
if [ $? = 0 ]; then
   case "$1" in
      --help)
      echo "[simulado-grafico.sh]";
      echo "* Faz perguntas em modo gráfico, utilizando o xdialog, com alternativas de múltipla escolha ou de resposta escrita." ;
      echo "* As questões abrangem os conteúdos das provas LPI 101 e LPI 102." ;
      echo "* No final, faz a avaliação, com nota, do desempenho do candidato." ;
      echo "* Também mostra todas as questões feitas ao canditado com suas respectivas alternativas além da resposta correta e da resposta dada pelo candidato." ;
      echo "* As questões que são de múltipla escolha têm APENAS UMA OPÇÃO CORRETA." ;
      echo "* Por padrão todas as questões de múltipla escolha já vêem com uma opção marcada (opção F), que é uma opção para sair do simulado antes de responder todas as questões" ;
      echo "* Selecione a opção que julgar correta e clique em avançar; se você clicar em cancelar, o simulado avança para a próxima questão e deixa sem resposta a questão anterior" ;
      echo "* As questões onde é solicitado que você escreva a resposta, favor UTILIZAR SOMENTE LETRAS MINÚSCULAS" ;
      echo "* Não é possível voltar atrás nas questões, uma vez respondida a questão, não tem mais como consertar; por isso, atenção nas respostas." ;
      echo "* Para encerrar o script antes de responder todas as questões, deixe selecionada a opção (F) e clique em OK." ;
      echo "* É preciso ter o xdialog instalado, caso o candidato não o tenha, o script do simulado se encarrega de instalar." ;
      echo "* Funciona em qualquer máquina com qualquer sistema operacional LINUX." ;
      echo ;
      echo "--help    -mostra esta tela de ajuda e sai" ;
      echo "-v        -mostra a versão, data de criação, o autor e sai" ;
      echo "-e        -mostra exemplos de como executar este script e sai" ;
      exit 0 ;;
      
      -v)
      grep '^# Versão ' "$0" | tail -1 | cut -d : -f 1 | tr -d \# ;
      grep '^# Autor ' "$0" | tail -1 | cut -d : -f 3 | tr -d \# ;
      echo ;
      exit 0 ;;
      
      -e) 
      echo "Você pode executar este script das seguintes maneiras:" ;
      echo "./simulado-grafico.sh (a partir do diretório local do script)" ;
      echo "sh simulado-grafico.sh (a partir do diretório local do script)" ;
      echo "bash simulado-grafico.sh (a partir do diretório local do script)" ;
      echo "simulado-grafico.sh (caso o diretório onde o script está localizado stiver listado na variável PATH" ;
      echo "Ou simplismente clique no arquivo do script (em todos os casos é necessário que o arquivo do script tenha permissão de execussão)" ;
      echo ;
      exit 0 ;;
      
      *)
      echo "Opção inválida" ;
      echo "Utilize --help -v ou -e" ;
      echo ;
      exit 1 ;;   
   esac
fi      

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Verificando a distribuição e se o xdialog está instalado:
# Baixar xdialog rpm:
# wget http://xdialog.free.fr/glibc-2.3.4/Xdialog-2.3.1-1.i386.rpm

cat /etc/redhat-release > /dev/null
if [ $? = 0 ]; then
   rpm -qa | grep Xdialog > /dev/null
   if [ $? = 1 ]; then
   xterm -e "echo Você não tem o xdialog instalado em sua máquina, forneça a senha de super usuário para instalá-lo agora e após prosseguir com o simulado & sudo yum install xdialog"
   fi
else
   dpkg -l | grep xdialog > /dev/null
   if [ $? = 1 ]; then
   xterm -e "echo Você não tem o xdialog instalado em sua máquina, forneça a senha de super usuário para instalá-lo agora e após prosseguir com o simulado & sudo apt-get install xdialog"
   fi
fi


#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Removendo possíveis arquivos temporários:
rm -f /tmp/respostas
rm -f /tmp/acertos
rm -f /tmp/andamento
rm -f /tmp/multiplica
rm -f /tmp/nota
rm -f /tmp/resultado
rm -f /tmp/prova
rm -f /tmp/conclusao

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Prestando ajuda em modo gráfico:
Xdialog --title "simulado-grafico.sh" --backtitle "Bem-Vindo! - Orientação ao candidato" --fill --yesno "As questões que são de múltipla escolha tem APENAS UMA OPÇÃO CORRETA.\n\nPor padrão todas as questões de múltipla escolha já possuem uma opção marcada (opção F), que encerrará o simulado.\n\nSelecione a opção que julgar correta e clique em OK; se você clicar em cancelar, o simulado avança para a próxima questão deixando sem resposta a questão anterior.\n\nNas questões onde é solicitado que você escreva a resposta, utilize letras minúsculas. Somente utilize letras MAIÚSCULAS SE REALMENTE FOR NECESSÁRIO.\n\nNão é possível voltar atrás nas questões, uma vez respondida a questão, não tem mais como consertar; por isso, atenção nas respostas.\n\nDeseja continuar?" 30 100

if [ $? = 1 ]; then
exit 0
fi

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Decidindo a prova:
Xdialog --title "simulado-grafico.sh" --backtitle "Escolhendo" --fill --radiolist "Selecione uma das seções abaixo com a quantidade de questões que desejar
" 30 100 90 \
"(A)" "Testar o simulado respondendo apenas 15 questões e ser avaliado" off \
"(B)" "Simulado LPI 101 com 30 questões LPI 101 4Linux" off \
"(C)" "Simulado LPI 102 com 32 questões LPI 102 4Linux" off \
"(D)" "Simulado LPI 101-102 com 70 questões Testking" off \
"(E)" "Simulado LPI 101-102 com 81 questões Testking" off \
"(F)" "Simulado LPI 101-102 com 96 questões Testking" off \
"(G)" "Simulado LPI 101-102 com 140 questões Uirá E. Ribeiro" off \
"(H)" "Não quero fazer o simulado agora" on 2> /tmp/prova

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Teste:
if [ `cat /tmp/prova` = '(A)' ]; then
# Criando arquivo para conter as respostas
touch /tmp/respostas
# Criando arquivo de soma dos acertos
touch /tmp/acertos

#------------------------------------------------------------------------------
# 01
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 01 de 15" --fill --radiolist "Como você pode descrever o seguinte comando?\n\ntail -f /var/log/messages
" 30 100 90 \
"(A)" "Corta as 10 últimas linhas do arquivo /var/log/messages para STDOUT" off \
"(B)" "Muda o perído do acesso para o arquivo /var/log/messages para agora" off \
"(C)" "Muda o tempo de modificação pelo arquivo /var/log/messages para agora" off \
"(D)" "Escreve os conteúdos do arquivo /var/log/messages em ordem invertida pra STDOUT" off \
"(E)" "Exibe toda linha nova do arquivo /var/log/messages enquanto este arquivo está crescendo" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(E)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
01 Correta.
Como você pode descrever o seguinte comando?
tail -f /var/log/messages
(A) Corta as 10 últimas linhas do arquivo /var/log/messages para STDOUT
(B) Muda o perído do acesso para o arquivo /var/log/messages para agora
(C) Muda o tempo de modificação pelo arquivo /var/log/messages para agora
(D) Escreve os conteúdos do arquivo /var/log/messages em ordem invertida pra STDOUT
(E) Exibe toda linha nova do arquivo /var/log/messages enquanto este arquivo está crescendo
Resposta correta: (E)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
01 Errada
Como você pode descrever o seguinte comando?
tail -f /var/log/messages
(A) Corta as 10 últimas linhas do arquivo /var/log/messages para STDOUT
(B) Muda o perído do acesso para o arquivo /var/log/messages para agora
(C) Muda o tempo de modificação pelo arquivo /var/log/messages para agora
(D) Escreve os conteúdos do arquivo /var/log/messages em ordem invertida pra STDOUT
(E) Exibe toda linha nova do arquivo /var/log/messages enquanto este arquivo está crescendo
Resposta correta: (E)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 02
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 02 de 15" --fill --radiolist "Que programa pode ser usado para garantir que os arquivos de log não cresçam indefinidamente?
" 30 100 10 \
"(A)" "logrotate" off \
"(B)" "logcheck" off \
"(C)" "logger" off \
"(D)" "syslogd" off \
"(E)" "loglimit" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(A)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
02 Correta.
Que programa pode ser usado para garantir que os arquivos de log não cresçam indefinidamente?
(A) logrotate
(B) logcheck
(C) logger
(D) syslogd
(E) loglimit
Resposta correta: (A)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
02 Errada
Que programa pode ser usado para garantir que os arquivos de log não cresçam indefinidamente?
(A) logrotate
(B) logcheck
(C) logger
(D) syslogd
(E) loglimit
Resposta correta: (A)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 03
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 03 de 15" --fill --radiolist "Que arquivo(s) pode(m) ser usado(s) para permitir ou negar que os usuário particulares usem o cron?
" 30 100 10 \
"(A)" "/etc/hosts.allow e /etc/hosts.deny" off \
"(B)" "/etc/cron.allow e /etc/cron.deny" off \
"(C)" "/etc/cron/allow e /etc/cron/deny" off \
"(D)" "/etc/cronuser" off \
"(E)" "somente o root pode utilizar o cron" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(B)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
03 Correta.
Que arquivo(s) pode(m) ser usado(s) para permitir ou negar que os usuário particulares usem o cron?
(A) /etc/hosts.allow e /etc/hosts.deny
(B) /etc/cron.allow e /etc/cron.deny
(C) /etc/cron/allow e /etc/cron/deny
(D) /etc/cronuser
(E) somente o root pode utilizar o cron
Resposta correta: (B)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
03 Errada
Que arquivo(s) pode(m) ser usado(s) para permitir ou negar que os usuário particulares usem o cron?
(A) /etc/hosts.allow e /etc/hosts.deny
(B) /etc/cron.allow e /etc/cron.deny
(C) /etc/cron/allow e /etc/cron/deny
(D) /etc/cronuser
(E) somente o root pode utilizar o cron
Resposta correta: (B)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 04
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 04 de 15" --fill --radiolist "O que o dispositivo /dev/hdb6 representa?
" 30 100 10 \
"(A)" "Uma partição estendida em uma unidade de disco SCSI" off \
"(B)" "Uma partição lógica em uma unidade de disco SCSI" off \
"(C)" "Uma partição estendida em uma unidade de disco IDE" off \
"(D)" "Uma partição primária em uma unidade de disco IDE" off \
"(E)" "Uma partição lógica em uma unidade de disco IDE" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(E)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
04 Correta
O que o dispositivo /dev/hdb6 representa?
(A) Uma partição estendida em uma unidade de disco SCSI
(B) Uma partição lógica em uma unidade de disco SCSI
(C) Uma partição estendida em uma unidade de disco IDE
(D) Uma partição primária em uma unidade de disco IDE
(E) Uma partição lógica em uma unidade de disco IDE
Resposta correta: (E)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
04 Errada
O que o dispositivo /dev/hdb6 representa?
(A) Uma partição estendida em uma unidade de disco SCSI
(B) Uma partição lógica em uma unidade de disco SCSI
(C) Uma partição estendida em uma unidade de disco IDE
(D) Uma partição primária em uma unidade de disco IDE
(E) Uma partição lógica em uma unidade de disco IDE
Resposta correta: (E)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 05
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 05 de 15" --fill --radiolist "Quantos dispositivos podem ser acrescentados em uma SCSI-2 de 8-bits?
" 30 100 10 \
"(A)" "6" off \
"(B)" "7" off \
"(C)" "8" off \
"(D)" "15" off \
"(E)" "16" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(B)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
05 Correta
Quantos dispositivos podem ser acrescentados em uma SCSI-2 de 8-bits?
(A) 6
(B) 7
(C) 8
(D) 15
(E) 16
Resposta correta: (B)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
05 Errada
Quantos dispositivos podem ser acrescentados em uma SCSI-2 de 8-bits?
(A) 6
(B) 7
(C) 8
(D) 15
(E) 16
Resposta correta: (B)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 06
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 06 de 15" --fill --radiolist "Qual dos arquivos a seguir contém informações utilizadas durante o processo de compilação do kernel?
" 30 100 10 \
"(A)" "/usr/src/linux/config" off \
"(B)" "/usr/src/linux/.config" off \
"(C)" "/usr/src/linux/kernel.conf" off \
"(D)" "/etc/kernel.conf" off \
"(E)" "/etc/sysconfig/kernel.conf" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(B)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
06 Correta
Qual dos arquivos a seguir contém informações utilizadas durante o processo de compilação do kernel?
(A) /usr/src/linux/config
(B) /usr/src/linux/.config
(C) /usr/src/linux/kernel.conf
(D) /etc/kernel.conf
(E) /etc/sysconfig/kernel.conf
Resposta correta: (B)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
06 Errada
Qual dos arquivos a seguir contém informações utilizadas durante o processo de compilação do kernel?
(A) /usr/src/linux/config
(B) /usr/src/linux/.config
(C) /usr/src/linux/kernel.conf
(D) /etc/kernel.conf
(E) /etc/sysconfig/kernel.conf
Resposta correta: (B)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 07
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 07 de 15" --fill --radiolist "Depois que uma conexão PPP é estabelecida, o que precisa ser feito antes que a interfaçe possa ser usada?
" 30 100 10 \
"(A)" "Adicionar uma rota para PPP0" off \
"(B)" "Habilitar PPP0" off \
"(C)" "ifup ppp0" off \
"(D)" "pppd" off \
"(E)" "Ligar o modem" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(A)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
07 Correta
Depois que uma conexão PPP é estabelecida, o que precisa ser feito antes que a interfaçe possa ser usada?
(A) Adicionar uma rota para PPP0
(B) Habilitar PPP0
(C) ifup ppp0
(D) pppd
(E) Ligar o modem
Resposta correta: (A)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
07 Errada
Depois que uma conexão PPP é estabelecida, o que precisa ser feito antes que a interfaçe possa ser usada?
(A) Adicionar uma rota para PPP0
(B) Habilitar PPP0
(C) ifup ppp0
(D) pppd
(E) Ligar o modem
Resposta correta: (A)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 08
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 08 de 15" --fill --radiolist "Qual comando exibirá as últimas linhas do arquivo samba.txt?
" 30 100 10 \
"(A)" "head -b samba.txt" off \
"(B)" "head --bottom samba.txt" off \
"(C)" "head -v samba.txt" off \
"(D)" "tail samba.txt" off \
"(E)" "tail -n 1 samba.txt" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(D)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
08 Correta
Qual comando exibirá as últimas linhas do arquivo samba.txt?
(A) head -b samba.txt
(B) head --bottom samba.txt
(C) head -v samba.txt
(D) tail samba.txt
(E) tail -n 1 samba.txt
Resposta correta: (D)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
08 Errada
Qual comando exibirá as últimas linhas do arquivo samba.txt?
(A) head -b samba.txt
(B) head --bottom samba.txt
(C) head -v samba.txt
(D) tail samba.txt
(E) tail -n 1 samba.txt
Resposta correta: (D)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 09
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 09 de 15" --fill --radiolist "No bash shell, executar o comando !! tem o mesmo efeito de qual dos seguintes comandos?
" 30 100 10 \
"(A)" "Ctrl-P e Enter" off \
"(B)" "Ctrl-N e Enter" off \
"(C)" "Ctrl-U e Enter" off \
"(D)" "!-2" off \
"(E)" "!2" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(A)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
09 Correta
No bash shell, executar o comando !! tem o mesmo efeito de qual dos seguintes comandos?
(A) Ctrl-P e Enter
(B) Ctrl-N e Enter
(C) Ctrl-U e Enter
(D) !-2
(E) !2
Resposta correta: (A)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
09 Errada
No bash shell, executar o comando !! tem o mesmo efeito de qual dos seguintes comandos?
(A) Ctrl-P e Enter
(B) Ctrl-N e Enter
(C) Ctrl-U e Enter
(D) !-2
(E) !2
Resposta correta: (A)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 10
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 10 de 15" --fill --radiolist "Qual dos seguintes comandos pode ser utilizado para conferir um sistema de arquivos ext2?
" 30 100 10 \
"(A)" "fsck -ext2 /dev/hda5" off \
"(B)" "fsck /dev/hda5" off \
"(C)" "efsck /dev/hda5" off \
"(D)" "fsc2k.ext2 /dev/hda5" off \
"(E)" "fsck.linux /dev/hda5" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(B)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
10 Correta
Qual dos seguintes comando pode ser utilizado para conferir um sistema de arquivos ext2?
(A) fsck -ext2 /dev/hda5
(B) fsck /dev/hda5
(C) e2fsck /dev/hda5
(D) fsck.ext2 /dev/hda5
(E) fsck.linux /dev/hda5
Resposta correta: (B)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
10 Errada
Qual dos seguintes comando pode ser utilizado para conferir um sistema de arquivos ext2?
(A) fsck -ext2 /dev/hda5
(B) fsck /dev/hda5
(C) e2fsck /dev/hda5
(D) fsck.ext2 /dev/hda5
(E) fsck.linux /dev/hda5
Resposta: (B)
Sua resposta correta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 11
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 11 de 15" --fill --inputbox "Qual o comando que exibe páginas do manual online do usuário?\n\nEscreva sua resposta em letras minúsculas." 30 100 2> /tmp/respostas

if [ "`cat /tmp/respostas`" = "man" ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
11 Correta
Qual o comando que exibe páginas do manual online do usuário?
Resposta correta: man" >> /tmp/andamento
echo >> /tmp/andamento
else
echo "
11 Errada
Qual o comando que exibe páginas do manual online do usuário?
Resposta correta: man
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 12
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 12 de 15" --fill --radiolist "Considerando o comando df, os relatórios do sistema apontam o uso de 98% para o sistema de arquivos montado em /home. Qual das seguintes opções descreve melhor o significado desta informação?
" 30 100 10 \
"(A)" "Os arquivos em /home estão consumindo 98% do disco" off \
"(B)" "A leitura e escrita de arquivos em /home estão consumindo 98% da capacidade do sistema de I/O" off \
"(C)" "Os arquivos em /home estão consumindo 98% do /home filesystem" off \
"(D)" "98% dos inodes de /home estão livres" off \
"(E)" "Não há mais inodes no diretório /home" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(C)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
12 Correta
Considerando o comando df, os relatórios do sistema apontam o uso de 98% para o sistema de arquivos montado em /home. Qual das seguintes opções descreve melhor o significado desta informação?
(A) Os arquivos em /home estão consumindo 98% do disco
(B) A leitura e escrita de arquivos em /home estão consumindo 98% da capacidade do sistema de I/O
(C) Os arquivos em /home estão consumindo 98% do /home filesystem
(D) 98% dos inodes de /home estão livres
(E) Não há mais inodes no diretório /home
Resposta correta: (C)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
12 Errada
Considerando o comando df, os relatórios do sistema apontam o uso de 98% para o sistema de arquivos montado em /home. Qual das seguintes opções descreve melhor o significado desta informação?
(A) Os arquivos em /home estão consumindo 98% do disco
(B) A leitura e escrita de arquivos em /home estão consumindo 98% da capacidade do sistema de I/O
(C) Os arquivos em /home estão consumindo 98% do /home filesystem
(D) 98% dos inodes de /home estão livres
(E) Não há mais inodes no diretório /home
Resposta correta: (C)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 13
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 13 de 15" --left --radiolist "Que seção do manual do usuário on-line contém os comandos administrativos (não os do usuário comum)?
" 30 100 10 \
"(A)" "Seção 1" off \
"(B)" "Seção 2" off \
"(C)" "Seção 8" off \
"(D)" "Seção n" off \
"(E)" "Seção s" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(C)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
13 Correta
Que seção do manual do usuário on-line contém os comandos administrativos (não os do usuário comum)?
(A) Seção 1
(B) Seção 2
(C) Seção 8
(D) Seção n
(E) Seção s
Resposta correta: (C)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
13 Errada
Que seção do manual do usuário on-line contém os comandos administrativos (não os do usuário comum)?
(A) Seção 1
(B) Seção 2
(C) Seção 8
(D) Seção n
(E) Seção s
Resposta correta: (C)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 14
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 14 de 15" --left --radiolist "Quais os dois comandos que exibirão o estado de processos em um sistema Linux?
" 30 100 10 \
"(A)" "ls e df" off \
"(B)" "ps e top" off \
"(C)" "ps e df" off \
"(D)" "df e top" off \
"(E)" "du e df" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(B)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
14 Correta
Quais os dois comandos que exibirão o estado de processos em um sistema Linux?
(A) ls e df
(B) ps e top
(C) ps e df
(D) df e top
(E) du e df
Resposta correta: (B)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
14 Errada
Quais os dois comandos que exibirão o estado de processos em um sistema Linux?
(A) ls e df
(B) ps e top
(C) ps e df
(D) df e top
(E) du e df
Resposta correta: (B)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 15
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 15 de 15" --fill --radiolist "A Gertrudes tem em seu diretótio home um arquivo de texto, receita_chucruts.txt, que contém 12 linhas. Após executar o comando abaixo, qual o resultado obtido?\n\nsplit -4 receita_chucruts.txt gl
" 30 100 10 \
"(A)" "As primeiras 4 linhas do arquivo são divididas em novos arquivos glaa, glab, glac e glad" off \
"(B)" "As primeiras 4 colunas no texto são escritas para novos arquivos aagl, abgl, acgl e adgl" off \
"(C)" "As linhas de receita_chucruts.txt são divididas uniformemente entre novos arquivos glaa, glab, glac e glad" off \
"(D)" "As linhas de receita_chucruts.txt são divididas uniformemente entre novos arquivos glaa, glab e glac" off \
"(E)" "As linhas de receita_chucruts.txt são divididas uniformemente entre novos arquivos aagl, abgl e acgl" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(D)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
15 Correta
Gertrudes tem em seu diretótio home um arquivo de texto, receita_chucruts.txt, que contém 12 linhas. Após executar o comando abaixo, qual o resultado obtido?
split -4 receita_chucruts.txt gl
(A) As primeiras 4 linhas do arquivo são divididas em novos arquivos glaa, glab, glac e glad
(B) As primeiras 4 colunas no texto são escritas para novos arquivos aagl, abgl, acgl e adgl
(C) As linhas de receita_chucruts.txt são divididas uniformemente entre novos arquivos glaa, glab, glac e glad
(D) As linhas de receita_chucruts.txt são divididas uniformemente entre novos arquivos glaa, glab e glac
(E) As linhas de receita_chucruts.txt são divididas uniformemente entre novos arquivos aagl, abgl e acgl
Resposta correta: (D)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
15 Errada
Gertrudes tem em seu diretótio home um arquivo de texto, receita_chucruts.txt, que contém 12 linhas. Após executar o comando abaixo, qual o resultado obtido?
split -4 receita_chucruts.txt gl
(A) As primeiras 4 linhas do arquivo são divididas em novos arquivos glaa, glab, glac e glad
(B) As primeiras 4 colunas no texto são escritas para novos arquivos aagl, abgl, acgl e adgl
(C) As linhas de receita_chucruts.txt são divididas uniformemente entre novos arquivos glaa, glab, glac e glad
(D) As linhas de receita_chucruts.txt são divididas uniformemente entre novos arquivos glaa, glab e glac
(E) As linhas de receita_chucruts.txt são divididas uniformemente entre novos arquivos aagl, abgl e acgl
Resposta correta: (D)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi


#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Calculando a nota:
echo "`cat /tmp/acertos`*100" | bc > /tmp/multiplica
echo "`cat /tmp/multiplica`/15" | bc > /tmp/nota
# TODO -Ao acrescentar mais questões não esquecer de modoficar o número total de qutões na fórmula acima.

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Definindo se foi aprovado ou reprovado:
if [ "`cat /tmp/nota`" -gt '69' ]; then
echo "Aprovado" > /tmp/conclusao
else
echo "Reprovado" > /tmp/conclusao
fi

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Construindo um arquivo para mostrando o seu resultado:
touch /tmp/resultado
echo "                                      Você foi `cat /tmp/conclusao`" >> /tmp/resultado
echo "                                       Sua nota é: `cat /tmp/nota`" >> /tmp/resultado
echo "____________________________________________________________________________________________" >> /tmp/resultado
echo "Você acertou `cat /tmp/acertos` questões de um total de 15 questões, veja o seu desempenho" >> /tmp/resultado
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" >> /tmp/resultado
echo >> /tmp/resultado
cat /tmp/andamento >> /tmp/resultado

kate /tmp/resultado
gedit /tmp/resultado
cat /tmp/resultado > $HOME/Teste-simulado.txt

Xdialog --title "simulado-grafico.sh" --backtitle "Seu resultado" --fill --msgbox "Uma cópia do arquivo que você acabou de ver foi salva em:\n $HOME/Teste-simulado.txt.\n\nClique em OK para remover alguns arquivos temporários que foram criados durante a execução do script e encerrar o simulado." 30 100

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Removendo arquios temporários:
rm -f /tmp/respostas
rm -f /tmp/acertos
rm -f /tmp/andamento
rm -f /tmp/multiplica
rm -f /tmp/nota
rm -f /tmp/resultado
rm -f /tmp/prova
rm -f /tmp/conclusao
fi


#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


# 30 questões:
if [ `cat /tmp/prova` = '(B)' ]; then
# Criando arquivo para conter as respostas
touch /tmp/respostas
# Criando arquivo de soma dos acertos
touch /tmp/acertos

#------------------------------------------------------------------------------
# 01
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 01 de 30" --fill --radiolist "Martin tem um arquivo chamado \"marketinfo\", que tem 56.000 linhas, e ele quer ver só as últimas 10.000. Qual dos seguintes comandos ele deve utilizar para isso?
" 30 100 90 \
"(A)" "tail +46.000 marketinfo" off \
"(B)" "tail +10.000 marketinfo" off \
"(C)" "tail 46.000 marketinfo" off \
"(D)" "head +46.000 marketinfo" off \
"(E)" "tail +46.001 marketinfo" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(E)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
01 Correta.
Martin tem um arquivo chamado \"marketinfo\", que tem 56.000 linhas, e ele quer ver só as últimas 10.000. Qual dos seguintes comandos que ele deve utilizar para isso?
(A) tail +46.000 marketinfo
(B) tail +10.000 marketinfo
(C) tail 46.000 marketinfo
(D) head +46.000 marketinfo
(E) tail +46.001 marketinfo
Resposta correta: (E)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
01 Errada
Martin tem um arquivo chamado \"marketinfo\", que tem 56.000 linhas, e ele quer ver só as últimas 10.000. Qual dos seguintes comandos que ele deve utilizar para isso?
(A) tail +46000 marketinfo
(B) tail +10000 marketinfo
(C) tail 46000 marketinfo
(D) head +46000 marketinfo
(E) tail +46001 marketinfo
Resposta correta: (E)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 02
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 02 de 30" --fill --radiolist "Na linha de comando, Tim deu o seguinte comando:\n\n $ HOJE=\"sexta-feira\". \n\nQual dos seguintes comandos mostra que a variável HOJE contém um valor igual a sexta-feira?
" 30 100 90 \
"(A)" "set" off \
"(B)" "env" off \
"(C)" "show" off \
"(D)" "display" off \
"(E)" "pr" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(A)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
02 Correta.
Na linha de comando, Tim deu o seguinte comando:\n $ HOJE=\"sexta-feira\". \nQual dos seguintes comandos mostra que a variável HOJE contém um valor igual a sexta-feira?
(A) set
(B) env
(C) show
(D) display
(E) pr
Resposta correta: (A)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
02 Errada
Na linha de comando, Tim deu o seguinte comando:\n $ HOJE=\"sexta-feira\". \nQual dos seguintes comandos mostra que a variável HOJE contém um valor igual a sexta-feira?
(A) set
(B) env
(C) show
(D) display
(E) pr
Resposta correta: (A)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 03
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 03 de 30" --fill --radiolist "Qual dos seguintes comandos irá enviar os erros da aplicação ABC para um arquivo e não para a saída padrão?
" 30 100 90 \
"(A)" "abc > abc.error" off \
"(B)" "abc 2 > abc.error 2>&1" off \
"(C)" "abc 2> abc.error" off \
"(D)" "abc >> abc.error" off \
"(E)" "abc >>> abc.error" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(C)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
03 Correta.
Qual dos seguintes comandos irá enviar os erros da aplicação ABC para um arquivo e não para a saída padrão?
(A) abc > abc.error
(B) abc 2 > abc.error 2>&1
(C) abc 2> abc.error
(D) abc >> abc.error
(E) abc >>> abc.error
Resposta correta: (C)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
03 Errada
Qual dos seguintes comandos irá enviar os erros da aplicação ABC para um arquivo e não para a saída padrão?
(A) abc > abc.error
(B) abc 2 > abc.error 2>&1
(C) abc 2> abc.error
(D) abc >> abc.error
(E) abc >>> abc.error
Resposta correta: (C)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 04
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 04 de 30" --fill --radiolist "Você deseja combinar dois arquivos juntos de tal forma que os campos de cada arquivo sejam combinados em um único arquivo de saída.\nO primeiro campo de cada um dos dois arquivos é idêntico e o número de campos de cada um é igual. Qual o comando que você deve usar para criar o arquivo de saída?
" 30 100 90 \
"(A)" "join" off \
"(B)" "paste" off \
"(C)" "cat" off \
"(D)" "od" off \
"(E)" "sort" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(A)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
04 Correta.
Você deseja combinar dois arquivos juntos de tal forma que os campos de cada arquivo sejam combinados em um único arquivo de saída.\nO primeiro campo de cada um dos dois arquivos é idêntico e o número de campos de cada um é igual. Qual o comando que você deve usar para criar o arquivo de saída?
(A) join
(B) paste
(C) cat
(D) od
(E) sort
Resposta correta: (A)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
04 Errada
Você deseja combinar dois arquivos juntos de tal forma que os campos de cada arquivo sejam combinados em um único arquivo de saída.\nO primeiro campo de cada um dos dois arquivos é idêntico e o número de campos de cada um é igual. Qual o comando que você deve usar para criar o arquivo de saída?
(A) join
(B) paste
(C) cat
(D) od
(E) sort
Resposta correta: (A)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 05
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 05 de 30" --fill --radiolist "Tim tem um arquivo muito grande que excede a capacidade de armazenamento de um disquete. Ele quer colocar o arquivo em dois disquetes para que ele possa transportar para onde quizer. Qual o comando que ele pode usar para preparar o arquivo para isso?
" 30 100 90 \
"(A)" "nl" off \
"(B)" "cut" off \
"(C)" "fmt" off \
"(D)" "split" off \
"(E)" "mv" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(D)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
05 Correta.
Tim tem um arquivo muito grande que excede a capacidade de armazenamento de um disquete. Ele quer colocar o arquivo em dois disquetes para que ele possa transportar para onde quizer. Qual o comando que ele pode usar para preparar o arquivo para isso?
(A) nl
(B) cut
(C) fmt
(D) split
(E) mv
Resposta correta: (D)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
05 Errada
Tim tem um arquivo muito grande que excede a capacidade de armazenamento de um disquete. Ele quer colocar o arquivo em dois disquetes para que ele possa transportar para onde quizer. Qual o comando que ele pode usar para preparar o arquivo para isso?
(A) nl
(B) cut
(C) fmt
(D) split
(E) mv
Resposta correta: (D)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 06
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 06 de 30" --fill --radiolist "Você deseja encontrar todos os arquivos que possuem cinco letras e que terminam com a letra \"c\", no diretório atual. Qual comando você deve usar?
" 30 100 90 \
"(A)" "ls *c" off \
"(B)" "ls *c*" off \
"(C)" "ls ????c" off \
"(D)" "ls ????c*" off \
"(E)" "ls ?????c?????" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(C)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
06 Correta.
Você deseja encontrar todos os arquivos que possuem cinco letras e que terminam com a letra \"c\", no diretório atual. Qual comando você deve usar?
(A) ls *c
(B) ls *c*
(C) ls ????c
(D) ls ????c*
(E) ls ?????c?????
Resposta correta: (C)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
06 Errada
Você deseja encontrar todos os arquivos que possuem cinco letras e que terminam com a letra \"c\", no diretório atual. Qual comando você deve usar?
(A) ls *c
(B) ls *c*
(C) ls ????c
(D) ls ????c*
(E) ls ?????c?????
Resposta correta: (C)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 07
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 07 de 30" --fill --radiolist "Karen quer ordenar o arquivo \"defg\" e mostrar seus resultados em sua tela. Ela também quer uma cópia dos resultados classificados para ser salvo em um arquivo chamado \"defg.sorted\". Qual o comando que ela deve usar?
" 30 100 90 \
"(A)" "sort defg > defg.sorted 2>&1" off \
"(B)" "sort defg | tee defg.sorted" off \
"(C)" "sort defg ; tee defg.sorted" off \
"(D)" "defg > tee defg.sorted" off \
"(E)" "defg > tee >> defg.sorted" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(B)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
07 Correta.
Karen quer ordenar o arquivo \"defg\" e mostrar seus resultados em sua tela. Ela também quer uma cópia dos resultados classificados para ser salvo em um arquivo chamado \"defg.sorted\". Qual o comando que ela deve usar?
(A) sort defg > defg.sorted 2>&1
(B) sort defg | tee defg.sorted
(C) sort defg ; tee defg.sorted
(D) defg > tee defg.sorted
(E) defg > tee >> defg.sorted
Resposta correta: (B)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
07 Errada
Karen quer ordenar o arquivo \"defg\" e mostrar seus resultados em sua tela. Ela também quer uma cópia dos resultados classificados para ser salvo em um arquivo chamado \"defg.sorted\". Qual o comando que ela deve usar?
(A) sort defg > defg.sorted 2>&1
(B) sort defg | tee defg.sorted
(C) sort defg ; tee defg.sorted
(D) defg > tee defg.sorted
(E) defg > tee >> defg.sorted
Resposta correta: (B)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 08
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 08 de 30" --fill --radiolist "Evan deve executar um utilitário de limpeza todas as noites até que os programadores possam corrigir o código do programa que está causando problemas em seu sistema. Este utilitário é muito detalhado e exibe uma mensagem para cada linha de arquivo que ele examina. Para onde Evan pode enviar a saída desse utilitário de modo a evitar que seja exibida em sua tela ou fique preenchendo um enorme arquivo de texto?
" 30 100 90 \
"(A)" "/dev/null" off \
"(B)" "/root" off \
"(C)" "/dev/root" off \
"(D)" "/dev" off \
"(E)" "/null" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(A)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
08 Correta.
Evan deve executar um utilitário de limpeza todas as noites até que os programadores possam corrigir o código do programa que está causando problemas em seu sistema. Este utilitário é muito detalhado e exibe uma mensagem para cada linha de arquivo que ele examina. Para onde Evan pode enviar a saída desse utilitário de modo a evitar que seja exibida em sua tela ou fique preenchendo um enorme arquivo de texto?
(A) /dev/null
(B) /root
(C) /dev/root
(D) /dev
(E) /null
Resposta correta: (A)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
08 Errada
Evan deve executar um utilitário de limpeza todas as noites até que os programadores possam corrigir o código do programa que está causando problemas em seu sistema. Este utilitário é muito detalhado e exibe uma mensagem para cada linha de arquivo que ele examina. Para onde Evan pode enviar a saída desse utilitário de modo a evitar que seja exibida em sua tela ou fique preenchendo um enorme arquivo de texto?
(A) /dev/null
(B) /root
(C) /dev/root
(D) /dev
(E) /null
Resposta correta: (A)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 09
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 09 de 30" --fill --radiolist "Cristina executou um processo três horas atrás, que analiza muitos recursos do sistema. Ela tem escrito em sua documentação que é recomendado executá-lo em uma prioridade mais baixa, mas ela esqueceu de fazer isso. Que comando ela pode usar neste momento para reduzir a prioridade do processo?
" 30 100 90 \
"(A)" "nice" off \
"(B)" "ps" off \
"(C)" "top" off \
"(D)" "jobs" off \
"(E)" "renice" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(E)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
09 Correta.
Cristina executou um processo três horas atrás, que analiza muitos recursos do sistema. Ela tem escrito em sua documentação que é recomendado executá-lo em uma prioridade mais baixa, mas ela esqueceu de fazer isso. Que comando ela pode usar neste momento para reduzir a prioridade do processo?
(A) nice
(B) ps
(C) top
(D) jobs
(E) renice
Resposta correta: (E)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
09 Errada
Cristina executou um processo três horas atrás, que analiza muitos recursos do sistema. Ela tem escrito em sua documentação que é recomendado executá-lo em uma prioridade mais baixa, mas ela esqueceu de fazer isso. Que comando ela pode usar neste momento para reduzir a prioridade do processo?
(A) nice
(B) ps
(C) top
(D) jobs
(E) renice
Resposta correta: (E)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 10
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 10 de 30" --fill --radiolist "Spencer tem um aviso do escritório central, para que hoje ele execute em seu sistema o utilitário \"zzzz\", e que provavelmente isso vai demorar 4 horas seguidas. A nota diz ainda que ele precisa executar o aplicativo em segundo plano. Qual a sintaxe que ele deve usar para fazer isso?
" 30 100 90 \
"(A)" "bg zzzz" off \
"(B)" "zzzz bg" off \
"(C)" "zzzz &" off \
"(D)" "& zzzz" off \
"(E)" "zzzz --2" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(C)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
10 Correta.
Spencer tem um aviso do escritório central, para que hoje ele execute em seu sistema o utilitário \"zzzz\", e que provavelmente isso vai demorar 4 horas seguidas. A nota diz ainda que ele precisa executar o aplicativo em segundo plano. Qual a sintaxe que ele deve usar para fazer isso?
(A) bg zzzz
(B) zzzz bg
(C) zzzz &
(D) & zzzz
(E) zzzz --2
Resposta correta: (C)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
10 Errada
Spencer tem um aviso do escritório central, para que hoje ele execute em seu sistema o utilitário \"zzzz\", e que provavelmente isso vai demorar 4 horas seguidas. A nota diz ainda que ele precisa executar o aplicativo em segundo plano. Qual a sintaxe que ele deve usar para fazer isso?
(A) bg zzzz
(B) zzzz bg
(C) zzzz &
(D) & zzzz
(E) zzzz --2
Resposta correta: (C)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 11
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 11 de 30" --fill --radiolist "Mas Spencer é acostumado com Windows e esqueceu de iniciar o trabalho em segundo plano, e ele está sendo executado em primeiro plano. O que Spencer deve digitar em seu teclado para colocar o processo em segundo plano?
" 30 100 90 \
"(A)" "bg" off \
"(B)" "jobs" off \
"(C)" "fg" off \
"(D)" "^Z" off \
"(E)" "renice" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(D)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
11 Correta.
Mas Spencer é acostumado com Windows e esqueceu de iniciar o trabalho em segundo plano, e ele está sendo executado em primeiro plano. O que Spencer deve digitar em seu teclado para colocar o processo em segundo plano?
(A) bg
(B) jobs
(C) fg
(D) ^Z
(E) renice
Resposta correta: (D)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
11 Errada
Mas Spencer é acostumado com Windows e esqueceu de iniciar o trabalho em segundo plano, e ele está sendo executado em primeiro plano. O que Spencer deve digitar em seu teclado para colocar o processo em segundo plano?
(A) bg
(B) jobs
(C) fg
(D) ^Z
(E) renice
Resposta correta: (D)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 12
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 12 de 30" --fill --radiolist "Qual dos critérios de busca seria o mais indicado para localizar as linhas que contem a palavra disks dentro do arquivo BRIO.TXT?
" 30 100 90 \
"(A)" "grep disks BRIO.TXT" off \
"(B)" "find disks BRIO.TXT" off \
"(C)" "sed disks BRIO.TXT" off \
"(D)" "search disks BRIO.txt" off \
"(E)" "ache disks BRIO.txt" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(A)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
12 Correta.
Qual dos critérios de busca seria o mais indicado para localizar as linhas que contem a palavra disks dentro do arquivo BRIO.TXT?
(A) grep disks BRIO.TXT
(B) find disks BRIO.TXT
(C) sed disks BRIO.TXT
(D) search disks BRIO.txt
(E) ache disks BRIO.txt
Resposta correta: (A)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
12 Errada
Qual dos critérios de busca seria o mais indicado para localizar as linhas que contem a palavra disks dentro do arquivo BRIO.TXT?
(A) grep disks BRIO.TXT
(B) find disks BRIO.TXT
(C) sed disks BRIO.TXT
(D) search disks BRIO.txt
(E) ache disks BRIO.txt
Resposta correta: (A)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 13
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 13 de 30" --fill --radiolist "Qual dos seguintes caracteres pode ser utilizado para informar um caminho relativo (ao invés de um caminho absoluto)?
" 30 100 90 \
"(A)" "\\" off \
"(B)" "." off \
"(C)" "?" off \
"(D)" "#" off \
"(E)" "&" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(B)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
13 Correta.
Qual dos seguintes caracteres pode ser utilizado para informar um caminho relativo (ao invés de um caminho absoluto)?
(A) \\
(B) .
(C) ?
(D) #
(E) &
Resposta correta: (B)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
13 Errada
Qual dos seguintes caracteres pode ser utilizado para informar um caminho relativo (ao invés de um caminho absoluto)?
(A) \\
(B) .
(C) ?
(D) #
(E) &
Resposta correta: (B)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 14
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 14 de 30" --fill --radiolist "Madonna precisa mudar as permissões do arquivo \"hope\" (que atualmente é igual a 700) de tal forma que o grupo tenha permissão de leitura e escrita, e outros só leitura. Qual comando permitirá a ela realizar essa mudança?
" 30 100 90 \
"(A)" "chmod g+rw:o+r hope" off \
"(B)" "chmod go+r,ow hope" off \
"(C)" "chmod g+rw,o+r hope" off \
"(D)" "chmod g+rw;o+r hope" off \
"(E)" "chmod g=rw|o=r hope" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(C)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
14 Correta.
Madonna precisa mudar as permissões do arquivo \"hope\" (que atualmente é igual a 700) de tal forma que o grupo tenha permissão de leitura e escrita, e outros só leitura. Qual comando permitirá a ela realizar essa mudança?
(A) chmod g+rw:o+r hope
(B) chmod go+r,ow hope
(C) chmod g+rw,o+r hope
(D) chmod g+rw;o+r hope
(E) chmod g=rw|o=r hope
Resposta correta: (C)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
14 Errada
Madonna precisa mudar as permissões do arquivo \"hope\" (que atualmente é igual a 700) de tal forma que o grupo tenha permissão de leitura e escrita, e outros só leitura. Qual comando permitirá a ela realizar essa mudança?
(A) chmod g+rw:o+r hope
(B) chmod go+r,ow hope
(C) chmod g+rw,o+r hope
(D) chmod g+rw;o+r hope
(E) chmod g=rw|o=r hope
Resposta correta: (C)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 15
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 15 de 30" --fill --radiolist "Tony usou o comando cat > arquivo1 para criar um arquivo. Agora ele está no meio de uma linha e gostaria de sair e salvar o texto que ele digitou. O que ele deve fazer?
" 30 100 90 \
"(A)" "Pressionar ^D uma vez" off \
"(B)" "Pressionar ^Z uma vez" off \
"(C)" "Pressionar ^D dua vezes" off \
"(D)" "Pressionar ^Z duas vezes" off \
"(E)" "Pressionar ^Z seguido por ^D" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(C)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
15 Correta.
Tony usou o comando cat > arquivo1 para criar um arquivo. Agora ele está no meio de uma linha e gostaria de sair e salvar o texto que ele digitou. O que ele deve fazer?
(A) Pressionar ^D uma vez
(B) Pressionar ^Z uma vez
(C) Pressionar ^D dua vezes
(D) Pressionar ^Z duas vezes
(E) Pressionar ^Z seguido por ^D
Resposta correta: (C)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
15 Errada
Tony usou o comando cat > arquivo1 para criar um arquivo. Agora ele está no meio de uma linha e gostaria de sair e salvar o texto que ele digitou. O que ele deve fazer?
(A) Pressionar ^D uma vez
(B) Pressionar ^Z uma vez
(C) Pressionar ^D dua vezes
(D) Pressionar ^Z duas vezes
(E) Pressionar ^Z seguido por ^D
Resposta correta: (C)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 16
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 16 de 30" --fill --radiolist "Você suspeita que um usuário vai ocupar uma enorme quantidade de espaço em disco com imagens que ele está salvando a partir de sites. Você sabe de um fato: devido à forma como são definidas as permissões, o único lugar onde ele pode salvar esses arquivos é em seu diretório home. Que ferramenta você pode usar para verificar a quantidade de espaço em disco que ele está usando em seu diretório home?
" 30 100 90 \
"(A)" "quota" off \
"(B)" "quotaon" off \
"(C)" "df" off \
"(D)" "du" off \
"(E)" "du | df" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(D)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
16 Correta.
Você suspeita que um usuário vai ocupar uma enorme quantidade de espaço em disco com imagens que ele está salvando a partir de sites. Você sabe de um fato: devido à forma como são definidas as permissões, o único lugar onde ele pode salvar esses arquivos é em seu diretório home. Que ferramenta você pode usar para verificar a quantidade de espaço em disco que ele está usando em seu diretório home?
(A) quota
(B) quotaon
(C) df
(D) du
(E) du | df
Resposta correta: (D)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
16 Errada
Você suspeita que um usuário vai ocupar uma enorme quantidade de espaço em disco com imagens que ele está salvando a partir de sites. Você sabe de um fato: devido à forma como são definidas as permissões, o único lugar onde ele pode salvar esses arquivos é em seu diretório home. Que ferramenta você pode usar para verificar a quantidade de espaço em disco que ele está usando em seu diretório home?
(A) quota
(B) quotaon
(C) df
(D) du
(E) du | df
Resposta correta: (D)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi


#------------------------------------------------------------------------------
# 17
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 17 de 30" --fill --radiolist "Você é o administrador da ACME encanamento. Devido ao crescimento recente, você teve que se expandir a partir do sistema simples que você já utilizava para algo muito mais complicado. Agora, quando o sistema for carregado, você deseja que ele monte automaticamente uma série de sistemas de arquivos remotos. Qual é o arquivo que você deve editar para incluir os sistemas de arquivos remotos para a montagem automática?
" 30 100 90 \
"(A)" "/etc/inittab" off \
"(B)" "/etc/fstab" off \
"(C)" "/etc/group" off \
"(D)" "/dev/mnt" off \
"(E)" "/dev/null" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(B)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
17 Correta.
Você é o administrador da ACME encanamento. Devido ao crescimento recente, você teve que se expandir a partir do sistema simples que você já utilizava para algo muito mais complicado. Agora, quando o sistema for carregado, você deseja que ele monte automaticamente uma série de sistemas de arquivos remotos. Qual é o arquivo que você deve editar para incluir os sistemas de arquivos remotos para a montagem automática?
(A) /etc/inittab
(B) /etc/fstab
(C) /etc/group
(D) /dev/mnt
(E) /dev/null
Resposta correta: (B)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
17 Errada
Você é o administrador da ACME encanamento. Devido ao crescimento recente, você teve que se expandir a partir do sistema simples que você já utilizava para algo muito mais complicado. Agora, quando o sistema for carregado, você deseja que ele monte automaticamente uma série de sistemas de arquivos remotos. Qual é o arquivo que você deve editar para incluir os sistemas de arquivos remotos para a montagem automática?
(A) /etc/inittab
(B) /etc/fstab
(C) /etc/group
(D) /dev/mnt
(E) /dev/null
Resposta correta: (B)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 18
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 18 de 30" --fill --radiolist "Qual seria a permissão mínima necessária em um diretório para que possamos salvar um arquivo dentro dele?
" 30 100 90 \
"(A)" "Leitura" off \
"(B)" "Escrita" off \
"(C)" "Execussão" off \
"(D)" "Leitura e escrita" off \
"(E)" "Leitura e execussão" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(B)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
18 Correta.
Qual seria a permissão mínima necessária em um diretório para que possamos salvar um arquivo dentro dele?
(A) Leitura
(B) Escrita
(C) Execussão
(D) Leitura e escrita
(E) Leitura e execussão
Resposta correta: (B)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
18 Errada
Qual seria a permissão mínima necessária em um diretório para que possamos salvar um arquivo dentro dele?
(A) Leitura
(B) Escrita
(C) Execussão
(D) Leitura e escrita
(E) Leitura e execussão
Resposta correta: (B)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 19
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 19 de 30" --fill --radiolist "Quais são as permissões padrão atribuídas a um arquivo recém-criado, se o umask está definido para 044?
" 30 100 90 \
"(A)" "\"-rw--w--w-\"" off \
"(B)" "\"--w--w--w\"" off \
"(C)" "\"-rw-r--r--\"" off \
"(D)" "\"-r--r--r--\"" off \
"(E)" "\"-rs-r--r--\"" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(A)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
19 Correta.
Quais são as permissões padrão atribuídas a um arquivo recém-criado, se o umask está definido para 044?
(A) \"-rw--w--w-\"
(B) \"--w--w--w-\"
(C) \"-rw-r--r--\"
(D) \"-r--r--r--\"
(E) \"-rs-r--r--\"
Resposta correta: (A)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
19 Errada
Quais são as permissões padrão atribuídas a um arquivo recém-criado, se o umask está definido para 044?
(A) \"-rw--w--w-\"
(B) \"--w--w--w-\"
(C) \"-rw-r--r--\"
(D) \"-r--r--r--\"
(E) \"-rs-r--r--\"
Resposta correta: (A)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 20
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 20 de 30" --fill --radiolist "Quais são as permissões padrão atribuídas a um diretório recém-criado, se o umask está definido para 044?
" 30 100 90 \
"(A)" "d-wx-wx-wx" off \
"(B)" "d-wx------" off \
"(C)" "drwx-wx-wx" off \
"(D)" "drwxr--r--" off \
"(E)" "drw-r--r--" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(C)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
20 Correta.
Quais são as permissões padrão atribuídas a um diretório recém-criado, se o umask está definido para 044?
(A) d-wx-wx-wx
(B) d-wx------
(C) drwx-wx-wx
(D) drwxr--r--
(E) drw-r--r--
Resposta correta: (C)" >> /tmp/andamento
echo >> /tmp/andamento
elif [ `cat /tmp/respostas` = '(F)' ]; then
exit 0
else
echo "
20 Errada
Quais são as permissões padrão atribuídas a um diretório recém-criado, se o umask está definido para 044?
(A) d-wx-wx-wx
(B) d-wx------
(C) drwx-wx-wx
(D) drwxr--r--
(E) drw-r--r--
Resposta correta: (C)
Sua resposta: `cat /tmp/respostas`" >> /tmp/andamento
echo >> /tmp/andamento
fi

#------------------------------------------------------------------------------
# 21
Xdialog --title "simulado-grafico.sh" --backtitle "Questão 21 de 30" --fill --radiolist "Você, administrador, criou um script para os usuários poderem executar. O script consulta o sistema e gera um relatório do que ele encontra em um arquivo de texto. Devido à sua natureza, o script deve ser executado como root. O script deve ser executado em cada estação de trabalho, e você não tem tempo para passar dois dias ao redor das máquinas para executá-lo.
Você decide enviar um e-mail para os usuários pedindo para eles executem o script antes do final do dia, e lhes envou junto o arquivo de script. O que você deve atribuir nas permissões do arquivo de script, sendo que ele pertençe ao usuário root e ao grupo root?
" 30 100 90 \
"(A)" "777" off \
"(B)" "1777" off \
"(C)" "0777" off \
"(D)" "4777" off \
"(E)" "0077" off \
"(F)" "Sair do simulado" on 2> /tmp/respostas

if [ `cat /tmp/respostas` = '(D)' ]; then
nota=`cat /tmp/acertos`
echo $((nota+1)) > /tmp/acertos
echo "
21 Correta.
Você, administrador, criou um script para os usuários poderem executar. O script consulta o sistema e gera um relatório do que ele encontra em um arquivo de texto. Devido à sua natureza, o script deve ser executado como root. O script deve ser executado em cada estação de trabalho, e você não tem tempo para passar dois dias ao redor das máquinas para executá-lo.
Você decide enviar um e-mail para os usuários pedindo para eles executem o script antes do final do dia, e lhes enviou junto o arquivo de script. O que você deve atribuir nas permissões do arquivo de script, sendo que ele pertençe ao usuário root e ao grupo root?
(A) 777
(B) 1777
(C) 0777
(D) 4777
(E) 0077
Resposta correta:

Scripts recomendados

Script de cópia (destino - origem) otimizado

Listas em shell

Shell Script: Script para a instalação do pureftpd

Script para conexão em horário determinado

Formatar disquetes msdos & ext2.


  

Comentários
[1] Comentário enviado por gilvanritter em 25/09/2011 - 14:00h

Woow! cara, parabéns, isso vai ser uma ótima fonte de estudo pra mim!

[2] Comentário enviado por kobukis em 25/09/2011 - 22:13h

já instalei o xdialog, via central de programa, retirei do script o começo que faz a verificação em ambiente redhat e rodei so que:


./simulado-grafico.sh: linha 96: Xdialog: comando não encontrado
./simulado-grafico.sh: linha 117: [: número excessivo de argumentos
./simulado-grafico.sh: linha 767: [: número excessivo de argumentos
./simulado-grafico.sh: linha 2038: [: número excessivo de argumentos
./simulado-grafico.sh: linha 3399: [: número excessivo de argumentos
./simulado-grafico.sh: linha 9052: [: número excessivo de argumentos
./simulado-grafico.sh: linha 11922: [: número excessivo de argumentos
./simulado-grafico.sh: linha 15249: [: número excessivo de argumentos
./simulado-grafico.sh: linha 19088: [: número excessivo de argumentos

t+
valeu.

[3] Comentário enviado por turchiellows em 26/09/2011 - 22:41h

Ok "kobukis"

Experimente dar o seguinte comando para ver se o xdialog está realmente funcionando em seu sistema:

Xdialog --tiltle "Janela de teste" --msgbox "Teste de funcionamento do Xdialog" 0 0

Basta copiar o comando acima e colar em um terminal. Se não funcionar, é porque o xdialog está com algum problema.

Ah! Quando se chama o xdialog na linha de comando (como no caso do comando acima) o "X" deve obrigatoriamente estar em letra maiúscula.

Valeu!!

[4] Comentário enviado por Italo Pessoa em 02/02/2012 - 17:26h

ainda nao executei, mas ja vi o codigo
ta legal
muito bom

[5] Comentário enviado por italo pessoa em 02/02/2012 - 21:01h

vc testou o codigo?
ta com esses bugs ai
ta [*****]

[6] Comentário enviado por turchiellows em 02/02/2012 - 22:11h

Sim testei várias vezes o código todo. Pode ser algum problema com o Xdialog ou mesmo com o bash.

Teste o seguinte comando:
Xdialog --tiltle "Janela de teste" --msgbox "Teste de funcionamento do Xdialog" 0 0

O script foi todo desenvolvido com a distribuição Kurumin NG. (detalhe: não vem com o Xdialog instalado. Então: sudo apt-get install xdialog)

Em último caso, baixe o Kurumin NG, instale-o em uma máquina virtual e execute o scirpt lá.

Realmente o código está bem feio. Se eu fosse reescrevê-lo hoje, eu faria de maneira bem diferente.

Mas tenta aí!!

[7] Comentário enviado por jeferbd em 05/02/2012 - 14:50h

para rodar no ubuntu 11.04 troquei Xdialog pelo gdialog. Único problema esta sendo para as perguntas longas , não aparece inteira. Estou a procura da solução

[8] Comentário enviado por turchiellows em 05/02/2012 - 22:49h

Se não estou enganado o comando gdialog é um alias do zenity

Não uso muito o zenity, mas em suas opções de ajuda deve informar alguma coisa sobre a definição do tamanho que a janela deve aparecer, bem como os modos de alinhar o texto dentro das janelas (justificado)

Tente:
zenity --help-all

[9] Comentário enviado por jeferbd em 06/02/2012 - 00:35h

o \n não esta sendo interpretado, inves de quebrar a linha, ele aparece escrito, e nos textos longos sem ele, aparece apenas a primeira linha

[10] Comentário enviado por turchiellows em 06/02/2012 - 21:49h

Talvez seja a versão do bash. O que eu utilizei para testar o script foi a versão 3.2.39

Experimente testar no Kurumin NG. Foi o sistema utilizado para escrever o script.

[11] Comentário enviado por parentex em 24/05/2012 - 00:06h

Cara, muito bom este script, ajuste um só um bug mas o restante está muito bom. Parabéns!!!
Segue o ajuste que fiz, estou usando um Fedora 16

(Linha 89 do script) Xdialog é minusculo.
Original: rpm -qa | grep Xdialog > /dev/null

Alterado: rpm -qa | grep -ia Xdialog > /dev/null

[12] Comentário enviado por turchiellows em 24/05/2012 - 22:31h

Valeu cara!
Toda contribuição e até mesmo críticas são bem-vindas.
Estou trabalhando em um maneira de fazer com que o código fique menor, porque esse realmente é um elefante!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts