Considere os seguintes comandos básicos do Ubuntu: 1 - find...

Próximas questões
Com base no mesmo assunto
Q4038028 Sistemas Operacionais
Considere os seguintes comandos básicos do Ubuntu:

1 - find /caminho -exec rm -f {} \;
2 - grep -v "^#" documento.txt
3 - cut -d \. -f 2 arquivos.txt

Analise as afirmativas a seguir e assinale a alternativa correta.

I. O comando 1 não apaga diretórios dentro da pasta/caminho.
II. O comando 2 não exibirá as linhas iniciadas com o caractere “#”.
III. O comando 3 quebrará as linhas que possuem “.” e mostrará apenas a segunda coluna.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B

Fundamento decisivo: A decisão dependia da leitura literal dos três comandos do enunciado: o comando 1 não apaga diretórios com rm -f; o comando 2, com grep -v "^#", exclui da saída as linhas iniciadas por #; e o comando 3, com cut -d . -f 2, seleciona o segundo campo separado por ponto. Como as três afirmativas se confirmam, a alternativa correta é a letra B.

Tema central: Comandos básicos Linux
Análise das alternativas
A
Errada
Está errada porque nega a correção das três afirmativas, mas I, II e III se sustentam pelo efeito direto dos comandos informados.
B
Certa
A alternativa B está correta porque as três afirmativas correspondem ao efeito prático dos comandos apresentados. No comando 1, o find executa rm -f sobre cada entrada encontrada, e rm -f, nesse uso, não remove diretórios. No comando 2, o padrão ^# representa início de linha seguido de #, e a opção -v inverte a seleção, de modo que essas linhas não são exibidas. No comando 3, cut -d . -f 2 usa o ponto como delimitador literal e retorna o campo 2; na formulação da questão, isso foi descrito como segunda coluna.
C
Errada
Está errada porque exclui a afirmativa II, embora grep -v "^#" realmente não exiba as linhas iniciadas por #.
D
Errada
Está errada porque exclui a afirmativa III, embora cut -d . -f 2 realmente retorne o segundo campo nas linhas separadas por ponto.
E
Errada
Está errada porque exclui a afirmativa I, embora rm -f, como usado no comando 1, não apague diretórios.
Pegadinha da questão
A confusão real era tripla: tomar rm -f como se removesse diretórios, esquecer que -v no grep inverte a seleção, e tratar o ponto no cut como se fosse metacaractere em vez de delimitador literal.
Dica para questões semelhantes
  • Em comandos com grep, verifique separadamente o padrão e a opção -v: o padrão define o que casa, e -v define que a saída será o que não casou.
  • Em find com -exec, distinga o papel do find e o do comando executado: aqui o comportamento decisivo sobre diretórios vem do rm -f, não de um filtro do find.
  • Em cut, leia -d como delimitador literal de separação e -f como número do campo exibido.

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

A alternativa correta é que todas as afirmativas (I, II e III) estão corretas.

Aqui está o porquê:

  • I (Correta): O comando apaga apenas arquivos. Para apagar diretórios, seria necessário o parâmetro (recursivo).
  • II (Correta): O parâmetro do inverte a seleção, e o símbolo indica o início da linha. Portanto, ele filtra e oculta as linhas que começam com .
  • III (Correta): O comando usa o delimitador () ponto para separar a linha em campos e o parâmetro para exibir especificamente o segundo campo (coluna). 

Clique para visualizar este comentário

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