Claro que na forma eles são muito diferentes, mas realizam a mesma tarefa. Você deve ler a man page para rm (run man rm
) para entender o que as opções realmente significam. O argumento -r
para o comando rm
refere-se a "recursivo", o que significa que não apenas o objeto especificado, mas todas as subpastas também serão excluídas. O -f
é para força, o que significa que ele não pede para você verificar nada. O comando rm
nunca envia nada "para o lixo" ou o move de outra forma, isso seria para o comando mv
fazer. Apenas apaga.
Eu assumo que quando você diz Shift + Excluir você está se referindo a um gerenciador de arquivos gráfico como nautilus. O prefixo de deslocamento geralmente indica que você quer pular o tipo de função "mover para a lixeira" da segurança e apenas executar a exclusão já.
Em ambos os casos, os nós de arquivos são REMOVIDOS. Geralmente os dados do arquivo ainda existem no disco em zeros e uns magnéticos, mas a informação sobre onde eles estão é removida e o espaço torna-se gravável, então qualquer coisa que você fizer com o disco depois disso começará a usar o espaço. Alguns utilitários de recuperação de disco podem tentar encontrar fragmentos de arquivos antigos que ainda não foram totalmente escritos, mas é uma espécie de ciência inexata.
A segunda metade da sua pergunta aparece com bastante frequência. Aqui estão algumas perguntas semelhantes que entram nos detalhes:
- Para onde vão os arquivos quando o comando rm é emitido?
- Recuperando arquivos excluídos no fedora
- Nós temos um desfazer no Linux? Como recuperar um arquivo ausente
E também no ServerFault: