Pular para o conteúdo principal

Questão de Sistemas Operacionais — Ubuntu — VUNESP 2024

Sistemas OperacionaisUbuntu
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.
  1. AFoi criado um arquivo chamado arquivo.txt contendo a listagem dos arquivos e pastas existentes no diretório em que o usuário estava.
  2. 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.
  3. 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.
  4. DO arquivo arquivo.txt foi apagado.
  5. 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.

  1. 1Shell expande *
  2. 2ls lista o diretório
  3. 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.

Gabarito: letra A

Link permanente: /questoes/vu212377