Considere as afirmações a seguir sobre o trecho de código b...

Próximas questões
Com base no mesmo assunto
Q972551 Programação

 Considere as afirmações a seguir sobre o trecho de código bash script apresentado na imagem abaixo.


               Imagem associada para resolução da questão


I - É utilizado para excluir um arquivo ou diretório.

II - Se não receber um parâmetro, retorna à lista de arquivos e/ou diretórios contidos no diretório home do usuário.

III - Recebe um arquivo ou diretório como parâmetro e cria uma versão compactada do arquivo informado como parâmetro.


Está(ão) correta(s):

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito Correto: C - Apenas III.

A questão apresentada aborda o conhecimento sobre comandos de terminal no Bash Script, que é uma linguagem de script utilizada em sistemas operacionais baseados em UNIX, como o Linux. É essencial conhecer a finalidade dos comandos mais comuns utilizados no terminal para resolver essa questão.

Em relação à alternativa correta (C), o enunciado faz referência ao comando que é utilizado para criar uma versão compactada de um arquivo ou diretório. Este é o comportamento típico de ferramentas como tar, gzip, ou zip, por exemplo, que podem ser utilizadas em scripts de Bash para compactação de dados. Quando um comando desses é executado com um arquivo ou diretório como parâmetro, ele produz um arquivo compactado, economizando espaço no disco e facilitando o transporte ou o armazenamento do arquivo.

A alternativa I está incorreta porque ela descreve a funcionalidade de comandos como rm, que são utilizados para excluir arquivos ou diretórios, e não para compactá-los.

A alternativa II também não está correta no contexto da questão. A descrição se assemelha ao comportamento do comando ls, que lista os arquivos e diretórios presentes no diretório atual ou no diretório fornecido como parâmetro. O comando ls, quando utilizado sem parâmetros, de fato mostra os arquivos e diretórios do diretório home do usuário corrente, mas isso não tem relação com a compactação ou descompactação de arquivos.

Portanto, a única alternativa que descreve corretamente a função de um comando relacionado à compactação de dados em um script Bash é a alternativa C.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Gabarito C

I - É utilizado para excluir um arquivo ou diretório.

Incorreta. O script utiliza o comando tar com as opções -c (criar), -z (comprimir com gzip) e -f (especificar o nome do arquivo de saída). O tar é usado para criar arquivos compactados (backups), e não para excluir arquivos ou diretórios. Não há comandos de exclusão como rm no script.

II - Se não receber um parâmetro, retorna à lista de arquivos e/ou diretórios contidos no diretório home do usuário.

Incorreta. A primeira linha if [ $# -ne 1 ]; then verifica se o número de parâmetros passados para o script ($#) é diferente de 1. Se for o caso (por exemplo, se nenhum parâmetro for fornecido), o script executa echo "Uso: ./$0 <arquivo>". Isso simplesmente exibe uma mensagem de uso, informando como o script deve ser executado, e não lista arquivos ou diretórios do diretório home do usuário.

III - Recebe um arquivo ou diretório como parâmetro e cria uma versão compactada do arquivo informado como parâmetro.

Correta.

A condição if [ $# -ne 1 ] garante que o script só prosseguirá se exatamente um parâmetro for fornecido.

Dentro do bloco else, a linha nome=$(printf "%s%s%s.tgz" "$HOME" "/" "$data") define o nome do arquivo de saída com a extensão .tgz, indicando que será um arquivo compactado (tarball gzip).

A linha if tar -czf "$nome" "$1" ; then executa o comando tar para criar (-c) um arquivo compactado com gzip (-z) com o nome especificado em $nome, e o conteúdo a ser compactado é o primeiro parâmetro ($1) passado ao script, que pode ser um arquivo ou um diretório.

Vamos na fé!

Retroceder Nunca Render-se Jamais !

Força e Fé !

Fortuna Audaces Sequitur ! 

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo