rm
versus exclusão da GUI
Se você usou o comando rm
, você realmente excluiu o arquivo. Os dados não podem mais ser acessados a partir do sistema de arquivos - exceto se houver outro link físico para o arquivo (incomum) ou se você tiver excluído um link simbólico.
Os dados reais ainda podem estar no disco, em blocos de disco que o sistema de arquivos considera não serem usados. Se você quiser recuperá-lo, não deve gravar no disco, pois ele pode reutilizar o espaço em disco que contém dados. Você pode tentar a recuperação regular de dados no arquivo com as ferramentas adequadas para o sistema de arquivos usado.
Para o sistema de arquivos ext4 padrão, consulte: Existe algum software de recuperação disponível para ext4? e a maioria das respostas sobre a questão relacionada abaixo.
Lixeira para o CLI
É possível usar a lixeira na linha de comando, mas isso não está configurado por padrão. O pacote trash-cli
contém ferramentas de linha de comando para usar a lixeira do ambiente de área de trabalho.
Existem comandos como trash-put
, trash-list
etc;
Os nomes são bem longos - você pode definir aliases de shell como
alias tp='trash-put'
ou
alias del='trash-put'
e, em seguida, use del
em vez de rm
para excluir arquivos ou diretórios de maneira mais segura.
Como é proposto na resposta abaixo, é possível usar o nome do alias rm
, substituindo o comando rm
real por trash-put
, mas há vários motivos para não fazer isso; alguns deles são:
- A implementação de
trash-put
é muito menos testada querm
de 'GNU coreutils' no Ubuntu, por exemplo. - As opções do padrão
rm
não são todas suportadas portrash-put
- Alguém usará o shell com o alias mais cedo ou mais tarde e verá um comando
rm
muito quebrado, tecnicamente. - Uma sintaxe especial é necessária quando o
rm
real é necessário - Geralmente, não é uma boa ideia mexer com uma ferramenta muito perigosa, pelo menos arriscando confusão.
Dito isto, veja a resposta de @enzotib em Arquivos / diretórios excluídos com rm podem ser restaurados? sobre como configurar o alias.