No que diz respeito ao sistema operacional Linux, julgue o i...

Próximas questões
Com base no mesmo assunto
Q824786 Sistemas Operacionais

No que diz respeito ao sistema operacional Linux, julgue o item que se segue.

O comando $ find /home -size +1M -print0 | xargs -0 ls –l cria um arquivo no diretório corrente, contendo uma lista detalhada de todos os arquivos com tamanho acima de 1 Mb localizados no diretório /home.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - errado.

A questão aborda a utilização de comandos no Linux para localizar arquivos dentro de um diretório e realizar operações com eles. O comando find é frequentemente utilizado para buscar arquivos e diretórios que atendem a determinados critérios. O fragmento -size +1M especifica que estamos interessados em arquivos maiores que 1 megabyte. O parâmetro -print0 produz uma saída do find com os nomes dos arquivos separados por um caractere nulo, em vez de novas linhas, o que é útil para lidar com nomes de arquivos que contêm espaços ou outros caracteres especiais.

O comando xargs é usado para construir e executar comandos a partir de entradas padrão. A opção -0 (zero) informa ao xargs que ele deve tratar a entrada como uma lista de itens delimitados por um caractere nulo, o que corresponde à saída produzida pelo -print0 do find.

Contudo, o comando apresentado na questão não cria um arquivo no diretório corrente contendo a lista dos arquivos. O que ele faz é executar o comando ls -l para listar detalhadamente todos os arquivos encontrados pelo find. O resultado dessa listagem seria exibido no terminal, e não armazenado em um arquivo. Para que os resultados fossem salvos em um arquivo, deveria haver um redirecionamento de saída utilizando o operador > ou >>, seguido pelo nome do arquivo onde os resultados deveriam ser armazenados.

Portanto, o comando apresentado na questão efetivamente lista detalhadamente os arquivos maiores que 1 Mb no diretório /home, mas não cria um arquivo com essa listagem no diretório corrente. Por essa razão, a afirmação é errada.

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

O comando FIND não cria o arquivo. Pecebe-se o erro da questão ao afirmar que cria um arquivo no diretório corrente.

Esse seria o comando para criar o arquivo com a lista detalhada:

$ find /home/ -size +1M  -fls find_output__with_null_char_as_separator.log

Mesmo resultado utilizando a saída padrão:

$ find /home/ -size +1M  -exec ls -l '{}' \; >> find_output__with_null_char_as_separator.log

e-

procura arqs > 1 MB em home

Clique para visualizar este comentário

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