Questão de Sistemas Operacionais — Ubuntu — VUNESP 2024
Sistemas Operacionais›Ubuntu
Código
vu212377
Banca
VUNESP
Órgão
CM Itapeva (SP)
Ano
2024
Cargo
Tec ( )
Usando o Sistema Operacional Linux Ubuntu, versão 22.04, em sua configuração original, o usuário root digitou a seguinte linha de comando no Terminal ls * > arquivo.txt Assinale a alternativa correta sobre o resultado, considerando que o comando foi executado com sucesso.
AFoi criado um arquivo chamado arquivo.txt contendo a listagem dos arquivos e pastas existentes no diretório em que o usuário estava.
BFoi pesquisado pela existência de um arquivo chamado arquivo.txt, mas apenas no diretório em que o usuário estava, e não em suas subpastas.
CFoi pesquisado pela existência de um arquivo chamado arquivo.txt, no diretório em que o usuário estava, incluindo todas as suas subpastas.
DO arquivo arquivo.txt foi apagado.
EFoi listado todo o conteúdo do arquivo arquivo.txt.
Revelar gabarito e comentário▾
GabaritoA — Foi criado um arquivo chamado arquivo.txt contendo a listagem dos arquivos e pastas existentes no diretório em que o usuário estava.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Redirecionamento de saída no Linux
Gabarito: letra A. O comando ls * > arquivo.txt cria (ou sobrescreve) um arquivo chamado arquivo.txt contendo a listagem dos arquivos e pastas do diretório atual, pois o operador > redireciona a saída padrão do comando ls para o arquivo indicado. As demais alternativas confundem redirecionamento com busca (find), com listagem de conteúdo (cat) ou com exclusão (rm).
O comando ls é o utilitário básico de listagem de diretórios no Linux. Quando executado sem argumentos, ele lista o conteúdo do diretório de trabalho atual. O asterisco * é um curinga (wildcard) que o shell expande para todos os arquivos e diretórios do diretório atual (exceto os ocultos, que começam com ponto). Assim, ls * lista o conteúdo de todos os itens do diretório atual — na prática, o resultado é equivalente a ls simples, pois lista os arquivos e pastas do diretório corrente.
O operador > é o redirecionador de saída padrão. Ele pega tudo o que o comando à esquerda escreve na saída padrão (stdout) e grava no arquivo à direita, sobrescrevendo o conteúdo anterior do arquivo, se ele já existir. Se o arquivo não existir, ele é criado. Esse é um dos conceitos mais cobrados em provas de Linux: a diferença entre > (sobrescreve) e >> (acrescenta ao final).
Na prática, ao executar ls * > arquivo.txt no diretório /home/usuario, o shell primeiro expande * para os nomes dos arquivos e pastas ali presentes, executa ls com esses nomes, e o resultado (a listagem) é gravado em arquivo.txt. O arquivo arquivo.txt passa a existir (ou é truncado) e contém a listagem do diretório.
A pegadinha da banca está em confundir o redirecionamento > com o comando de busca find. As alternativas B e C falam em "pesquisar pela existência de um arquivo chamado arquivo.txt", o que seria feito com find ou locate, não com ls. A alternativa D fala em apagar o arquivo, o que seria rm. A alternativa E fala em listar o conteúdo do arquivo, o que seria cat. Nenhuma dessas operações é realizada pelo comando dado.
NÃO CAIA NESSA!
A banca troca o efeito do redirecionamento > pelo de busca (find) ou de leitura (cat). O >cria/sobrescreve um arquivo com a saída do comando; não pesquisa nada, não apaga nada e não exibe conteúdo. Guarde: > = grava saída; >> = acrescenta; find = busca; cat = exibe conteúdo.
1Shell expande *
2ls lista o diretório
3> grava em arquivo.txt
LEVEL · soulevel.com.br
Alternativa A — ✅ Correta ⟵ GABARITO
O comando ls * > arquivo.txt cria o arquivo arquivo.txt e grava nele a listagem dos arquivos e pastas do diretório atual. O * é expandido pelo shell para os itens do diretório, e o > redireciona a saída do ls para o arquivo. É exatamente o que a alternativa descreve.
Alternativa B — ❌ Incorreta
Afirma que o comando "pesquisou pela existência de um arquivo chamado arquivo.txt". Isso seria feito com find ou locate, não com ls. O ls lista o conteúdo do diretório; não realiza busca por nome de arquivo. Além disso, o > não pesquisa nada — ele redireciona a saída.
Alternativa C — ❌ Incorreta
Também fala em "pesquisar pela existência de um arquivo", o que não é a função do ls. Além disso, menciona "incluindo todas as suas subpastas", o que exigiria a opção -R (recursiva) do ls ou o comando find. O comando dado não usa -R, portanto não inclui subpastas.
Alternativa D — ❌ Incorreta
O comando não apaga o arquivo arquivo.txt. Para apagar, seria usado rm arquivo.txt. O > apenas redireciona a saída; se o arquivo já existisse, ele seria sobrescrito, mas não removido.
Alternativa E — ❌ Incorreta
Listar o conteúdo do arquivo arquivo.txt seria feito com cat arquivo.txt ou less arquivo.txt. O comando dado cria o arquivo com a listagem; não exibe o conteúdo de um arquivo existente.