Irá rm -rf *.* corromper seu sistema de arquivos enquanto rm -rf / não o fará isso?
Comentários
- Unix e Linux Stack Exchange têm sido úteis por mais de 6 anos, e SuperUser também: unix.stackexchange.com/questions/19547 superuser.com/questions/312769 unix.stackexchange.com/questions/302468
Resposta
Lá “Não há nada de especial nisso, rm -rf *.* é um comando com um caractere curinga de nome de arquivo, ele removerá recursivamente todos os arquivos no diretório atual que contêm um ponto em seus nomes.
rm -rf / daria um erro ao tentar executar rm no diretório raiz. Isso é exigido por POSIX :
Se […] um operando reso lves para o diretório raiz, rm deve escrever uma mensagem de diagnóstico para o erro padrão e nada mais fazer com tais operandos.
Dependendo no shell e suas configurações, *.* também pode corresponder a .. para o diretório pai, mas também o /, tentar removê-lo também é um erro.
Nenhum deles corromperá o sistema de arquivos, rm apenas (tentará) remover arquivos usando as chamadas usuais do sistema de arquivos. O efeito no sistema como um todo, ou nos arquivos do usuário, pode obviamente ser substancial se o primeiro comando for executado em um diretório contendo arquivos importantes.
Comentários
- para versões suficientemente novas do GNU
rm(recurso originalmente roubado do Solaris IIRC). Melhor não chorar se seu peso leve incorporadormnão é compatível com o POSIX mais recente.