Qual a diferença entre isto: sudo find / usr / local / mysql / data -tipo f -exec rm {} ';'

2

Qual é a diferença entre isso:

sudo find /usr/local/mysql/data -type f -exec rm {} ';'

e isso:

sudo rm -rf /usr/local/mysql/data
    
por Meltemi 04.06.2010 / 17:48

3 respostas

4
sudo find /usr/local/mysql/data -type f -exec rm {} ';'

o sudo fará com que seja executado como root, então você usa find -type f para obter todos os arquivos ( apenas arquivos ) em /usr/local/mysql/data

o -exec rm{} será chamado para cada item encontrado e removerá o arquivo.

Portanto, isso removerá os arquivos de forma recursiva, mas não removerá nenhum diretório . Também não que o comando rm seja usado sem o argumento -f (força)

rm -rf /usr/local/mysql/data

Esse comando removerá completamente tudo no caminho determinado, os diretórios e arquivos serão removidos. -f é usado, portanto, não haverá prompts para o usuário emissor.

    
por 04.06.2010 / 18:59
2

O primeiro removerá apenas os arquivos. Este último removerá toda a estrutura de diretórios.

    
por 04.06.2010 / 17:52
0

find /usr/local/mysql/data -type f -delete excluirá apenas arquivos regulares. Diretórios permanecerão

rm -rf /usr/local/mysql/data removerá qualquer coisa.

    
por 04.06.2010 / 17:59