Fazendo o comando rm enviar arquivos para a Lixeira

Talvez você tenha um pouco de medo de usar o comando rm, porque ele exclui definitivamente os arquivos. Não há “lixeira”, e todos os métodos disponíveis para desfazer a deleção, como o ext2undel, não passam de boas tentativas com uma razoável chance de insucesso.

Você sabia que pode enviar um arquivo para a lixeira a partir do terminal, ao invés de apagá-lo? Para isso, você precisa instalar o pacote trash-cli. No Ubuntu, faça:

sudo apt-get install trash-cli

Em seguida você pode usar, no lugar do comando rm, o comando trash:

trash arquivo_a_apagar.txt

Você também pode manipular a lixeira com os comandos trash-list, restore-trash e trash-empty.

Substituindo o comando rm

E se quiser você evitar usar o comando rm por engano, insira no final de seu .bashrc:

alias rm=trash

Assim, cada vez que você digitar o comando rm, será na verdade executado o comando trash. E se você deliberadamente quiser excluir um arquivo, sempre poderá chamar o comando rm digitando uma contrabarra, assim:

\rm arquivo_a_apagar.txt

Mas você tem certeza que vai substituir o comando rm?

Na página do trash-cli o autor trata dessa questão. Ele diz que, embora você possa substituir o comando  rm pelo trash, você não deveria, porque os argumentos dos dois comandos são diferentes. Por exemplo, o comando rm exige o argumento -R para remover diretórios, o trash não. Então ele sugere que não o faça.

Mas, se você tem medo de apagar arquivos por engano, ele sugere uma outra abordagem. Crie um alias para o comando rm em seu .bashrc assim:

alias rm='echo "Este não é o comando que você quer executar."; false'

E pronto, você não vai mais executar o comando rm por engano, mas, do mesmo modo que no primeiro exemplo, sempre poderá executá-lo deliberadamente, começando com uma contrabarra.

PS1: o trash-cli é feito em Python, e muito bem escrito. Estudar o código dele pode ser muito instrutivo.

PS2: estou prestes a lançar, junto com o Ubuntu Dicas, uma novidade para quem quer aprender a usar o terminal. Se você é iniciante no terminal do Linux e gostaria de aprender os segredos para dominar o terminal, você precisa assinar a lista do Ubuntu Dicas.

Publicado por

Elcio

Elcio é sócio fundador da Visie Padrões Web. Pioneiro no uso e divulgação dos padrões do W3C no Brasil, Elcio já treinou equipes de dezenas de empresas como Globo.com, Terra, Petrobras, iG e Locaweb. Além disso, tem dirigido as equipes da Visie no desenvolvimento de projetos web para marcas como Brastemp, Itaú Unibanco, Johnson & Johnson e Rede Globo.

11 comentários em “Fazendo o comando rm enviar arquivos para a Lixeira”

  1. Bem legal a dica, já imaginei em tentar fazer algo parecido, só que bem mais simples, no final me acostumei a criar um diretório oculto na pasta de usuário chamado “.trash” e no lugar de utilizar o rm utilizo o mv, mas o trash-cli parece realmente ser bem legal, vou testa-lo.

    Como foi recomendado é bom não substituir o comando rm, caso o contrario você pegar vício e quando for utilizar em outro computadores que não tenha o trash-cli, como um servidor por exemplo, você corre o risco de apagar algum arquivo achando que poderá recupera-lo depois. =x

  2. Tenho certeza que que a novidade do PS2 será muito instrutiva. E para os que querem começar desde já a aprender dicas muito úteis de terminal (CLI == Command Line Interface), sigam @climagic no Twitter [http://www.climagic.org/].

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *