Comandos do Sistema de Arquivos no Linux
Gabarito: letra D. O comando chmod -R o-w $HOME/docs realmente remove recursivamente as permissões de gravação para 'outros' em todos os arquivos e diretórios dentro de /docs. A opção -R (recursiva), o (others), -w (remove write) é a sintaxe correta. As demais alternativas contêm erros comuns de interpretação de comandos.
A questão testa o conhecimento prático de comandos essenciais do Linux: mv, rm, chmod, cp, e find. Cada alternativa explora um aspecto diferente: globbing, brace expansion, opções de exclusão e recursividade.
Alternativa A — ❌ Incorreta
Afirma que o find não pode ser combinado com a opção -delete. Isso é falso: o find possui a ação -delete que exclui arquivos encontrados. O comando find . -name '*.tmp' -delete é perfeitamente válido. A alternativa confunde a inexistência de uma opção curta -d com a inexistência da funcionalidade.
Alternativa B — ❌ Incorreta
O comando mv $HOME/docs/arq/txt/ $HOME/docs/arq{3,4} tem dois problemas: (1) a expansão de chaves {3,4} gera dois argumentos de destino (arq3 e arq4), mas o mv espera um único destino quando a origem é um diretório; (2) a origem é um diretório, não arquivos individuais. Para mover arquivos arq3 e arq4 para o diretório txt, o correto seria mv $HOME/docs/arq{3,4} $HOME/docs/arq/txt/.
Alternativa C — ❌ Incorreta
O comando rm -f $HOME/docs/arq[678] é sintaticamente válido. O colchete [678] é um padrão glob que corresponde a arquivos arq6, arq7 ou arq8. Não há erro de sintaxe; se nenhum desses arquivos existir, o rm -f simplesmente não fará nada (sem erro). A alternativa incorretamente alega que a sintaxe é inválida.
Alternativa D — ✅ Correta ⟵ GABARITO
chmod -R o-w $HOME/docs altera permissões recursivamente (-R). O modo o-w significa: para a classe 'others' (o), remove (-) a permissão de escrita (w). Portanto, todos os arquivos e diretórios dentro de /docs (exceto o próprio /docs, a menos que o caminho seja /docs/.*, mas aqui o alvo é o diretório /docs e seu conteúdo recursivo) perdem a permissão de gravação para usuários que não são donos nem estão no grupo. A descrição está correta.
Alternativa E — ❌ Incorreta
O comando cp -R $HOME/docs/* $HOME/tmp copia o conteúdo do diretório /docs (arquivos e subdiretórios) para /tmp, mas não copia o próprio diretório /docs. O glob * expande-se para os itens dentro de /docs, excluindo o diretório pai. Para copiar o diretório docs inteiro, o correto seria cp -R $HOME/docs $HOME/tmp (sem o *). A afirmação diz que inclui o diretório /docs, o que é um erro conceitual.
Conclusão: A única afirmativa correta é a letra D. As demais contêm erros típicos de interpretação de comandos e expansões de shell.