No Linux, muitos programas criam arquivos temporários (regul...

Próximas questões
Com base no mesmo assunto
Q689600 Sistemas Operacionais
No Linux, muitos programas criam arquivos temporários (regular file) em subdiretórios localizados no diretório /tmp e, certas vezes, estes arquivos, são criados diretamente no diretório /tmp. Por diferentes motivos, estes subdiretórios e/ou arquivos não são removidos. Assim, para evitar que o espaço em disco se esgote, algumas distribuições, os removem durante a inicialização do sistema. Entretanto, em servidores de missão crítica, reiniciar o sistema não é uma opção. Assim, o administrador do sistema deve elaborar um comando para removê-los sem a necessidade de reiniciar o sistema. Este comando deve remover apenas aqueles que não foram alterados nas últimas 72 horas. Admita que o diretório /tmp/lost+found, bem como o seu conteúdo, se mantenha intacto. Diante desse problema, assinale a alternativa correta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: A - cd /tmp; find . ! -name . ! -name lost+found '(-type d -o -type f)' -mtime +3 -exec /bin/rm -rf {} ';'

Vamos entender por que a alternativa correta é a letra A. Esta questão aborda o uso do comando find no Linux para localizar e remover arquivos e pastas que não foram alterados nas últimas 72 horas, exceto o diretório /tmp/lost+found. Esse tipo de operação é comum em administração de sistemas, especialmente em servidores que não podem ser reiniciados frequentemente, para liberar espaço em disco sem afetar arquivos importantes.

Na alternativa A, o comando find é utilizado com a opção -mtime +3, que seleciona arquivos modificados há mais de 72 horas, já que 72 horas correspondem a 3 dias completos. O uso de ! -name lost+found assegura que o diretório lost+found e seu conteúdo não sejam incluídos na busca. A combinação '(-type d -o -type f)' garante que o comando encontre tanto diretórios quanto arquivos. Finalmente, -exec /bin/rm -rf {} é utilizado para remover os itens encontrados.

Alternativas Incorretas:

B: cd /tmp; find . ! -name . ! -name lost+found '(-type d -type f)' -mtime +72 -exec /bin/rm -rf {} ';'

A alternativa B usa -mtime +72, que corresponderia a 72 dias, não horas, tornando essa opção incorreta para a questão que especifica 72 horas. Além disso, a expressão '(-type d -type f)' não faz sentido, pois um arquivo não pode ser simultaneamente um diretório e um arquivo normal.

C: cd /tmp; find . -name . -name lost+found '(-type d -o -type f)' -mtime +3 -exec /bin/rm -rf {} ';'

Na alternativa C, o uso de -name . -name lost+found está incorreto e não faz sentido lógico, já que tenta encontrar arquivos que sejam simultaneamente o diretório atual e o diretório lost+found, o que não é possível.

D: cd /tmp; find . ! -name lost+found '(-type dir -type file)' -mtime 72 -exec /bin/rm -rf {} ';'

A alternativa D usa -mtime 72, que buscaria arquivos modificados exatamente há 72 dias, o que não atende ao requisito de 72 horas. Além disso, as opções -type dir e -type file são incorretas; os tipos corretos são -type d para diretórios e -type f para arquivos normais.

Em resumo, a alternativa A é a única que atende a todos os requisitos da questão, utilizando corretamente o comando find para alcançar o objetivo desejado.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

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 gabarito é a letra A. Resolvendo por eliminação:

 

O parâmetro -mtime representam os dias de modificação do arquivo. Como os arquivos não foram modificados nos últimos 3 dias, então deve ser +3. Ficamos entre a letra A e C. 

 

Estamos buscando remover os arquivos e diretórios da pasta tmp, exceto lost+found. Então, buscamos pelos arquivos e diretórios que não são lost+found. O find precisa ter uma exclamação (!) no comando, pois representa o not. Como a letra C não possui exclamação, ficamos apenas com a letra A.

Clique para visualizar este comentário

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