Questão de Sistemas Operacionais — Linux — Quadrix 2025
- Código
- qg594781
- Banca
- Quadrix
- Órgão
- CFBio
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Sistemas
- CCerto
- EErrado
GabaritoE — Errado
df, sort, tail e redirecionamentoGabarito: ERRADO. O comando apresentado mistura ferramentas inadequadas: df -h mostra o uso de disco dos sistemas de arquivos montados, não o tamanho dos arquivos de um diretório; para listar arquivos por tamanho, o comando correto é du (disk usage), e para exibir os 10 maiores deve-se usar head (não tail). A cadeia correta seria algo como du -h /home/cfbio | sort -rh | head -n 10 > tamanho_cfbio.log.
O enunciado pede uma tarefa comum em administração de sistemas: identificar os arquivos que mais consomem espaço em um diretório. Para isso, o Linux oferece dois comandos principais: df (disk free) e du (disk usage). O df informa o espaço livre e usado de cada sistema de arquivos (partições, montagens), enquanto o du calcula o espaço ocupado por arquivos e diretórios. A pegadinha está em usar df quando o correto é du.
Além disso, a ordenação e a seleção dos maiores também estão invertidas. O comando sort -n -r ordena numericamente em ordem decrescente (do maior para o menor), o que está correto. Porém, para pegar os 10 maiores, deve-se usar head -n 10 (primeiras linhas), e não tail -n 10 (últimas linhas). O tail exibiria os 10 menores, justamente o oposto do desejado.
O redirecionamento > tamanho_cfbio.log está correto: ele cria ou sobrescreve o arquivo com a saída do comando. Se a intenção fosse acrescentar ao final, usaríamos >>. Mas o erro central não está no redirecionamento, e sim na escolha do comando e do filtro final.
Vamos detalhar cada parte do comando proposto:
df -h /home/cfbio: o df mostra o uso de disco dos sistemas de arquivos. Se /home/cfbio for um ponto de montagem, ele exibirá informações sobre essa partição, mas não listará os arquivos dentro dela. Para listar arquivos e seus tamanhos, o comando é du.
sort -n -r: ordena numericamente em ordem decrescente. Correto para ordenar por tamanho, mas depende da saída do comando anterior.
tail -n 10: exibe as 10 últimas linhas. Como a ordenação é decrescente, as 10 últimas linhas seriam os 10 MENORES, não os maiores. O correto é head -n 10.
> tamanho_cfbio.log: redireciona a saída padrão para o arquivo, sobrescrevendo-o. Correto.
Portanto, o comando correto seria algo como:
du -h /home/cfbio | sort -rh | head -n 10 > tamanho_cfbio.logA opção -h do du exibe tamanhos legíveis (K, M, G), e sort -rh ordena de forma decrescente considerando esses sufixos (a opção -h do sort é essencial para ordenar corretamente valores como 1K, 2M, 3G).
O comando apresentado está incorreto por dois motivos principais:
Uso do df em vez de du: o df informa o espaço livre/usado de sistemas de arquivos, não o tamanho dos arquivos de um diretório. Para calcular o uso de disco de um diretório, o comando é du.
Uso do tail em vez de head: após ordenar por tamanho decrescente, os 10 maiores estão no início da lista, portanto deve-se usar head -n 10, não tail -n 10.
O redirecionamento > tamanho_cfbio.log está correto, mas não salva o comando como um todo.
A banca troca df por du e head por tail, dois pares clássicos de confusão. Lembre-se: df = espaço livre do sistema de arquivos; du = tamanho de arquivos/diretórios. E para pegar os maiores, use head; para os menores, tail. Com treino, você identifica essas trocas na hora.
Para memorizar: Disk Free (df) mostra o que está livre; Disk Usage (du) mostra o que está sendo usado. E na ordenação decrescente, o topo da lista são os maiores — então head para os maiores, tail para os menores.
Gabarito: ERRADO.
Link permanente: /questoes/qg594781