Existe uma desvantagem significativa no aliasing rm para fazer outra coisa?

8

Recentemente, fui mordido algumas vezes rmpor coisas que não deveria - como, por exemplo, esquecer ulinklinks simbólicos, não rmeles.

Estou pensando em escrever um pequeno script bash para simplesmente mover o destino ~/.local/share/Trash, pois ainda não compreendi a restauração de arquivos (parece envolver muito hackeamento do Linux que não alcançarei tão cedo).

Os únicos problemas em que consigo pensar são:

  • scripts / aplicativos que precisam de rmarquivos (realmente um problema? Eu também poderia me acostumar a chamar rm!ou algo assim),
  • os arquivos que estão sendo movidos para o Lixo, enquanto os arquivos já têm o mesmo nome (não sei como o Ubuntu consegue resolver isso no momento, podem ser corrigidos anexando md5(name + time())-os ao nome).

É claro que a resposta real é fazer backup ou apenas aprender a não fazer coisas tolas, mas eu gostaria de uma solução flexível.

É uma ideia realmente terrível ou algo que poderia ser feito?

Ross
fonte
Não é uma ideia terrível, mas como você observa, os backups são melhores. Talvez a pior conseqüência seja que você contará com a remoção desfazível que pode morder você quando não estiver em um ambiente "protegido". Ubuntu backups são pesquisadas aqui: ubuntu.stackexchange.com/questions/2596/...
msw

Respostas:

14

A "desvantagem significativa" é que você se acostumará a rmnão ser o grande desagradável, use com extrema cuidado. Isso significa que se você (em toda a sua vida, muito provavelmente) usar outro computador não configurado com essa 'soft-rm', poderá usá-lo com rmmais cuidado, esquecendo que sua rede de segurança não está lá.

8128
fonte
2
É por isso que você deve nomear esse comando de outra forma, como deleteou delpor exemplo. Algo que resultará em um erro "comando não encontrado" onde não está instalado, portanto, nenhum dano é causado.
Lars Haugseth
8

Para instalar trash-cli, basta digitar um console:

sudo apt-get install trash-cli

Você pode alternar rmpara, trash-putse quiser, eles têm uma sintaxe compatível. Funciona muito bem com a lixeira do gnome, você pode recuperar arquivos excluídos da linha de comando com o nautilus ou o miniaplicativo da lixeira e restaurar arquivos lixeira da nautilus da linha de comando usando a lista de lixeira.

Ele cuidará de nomes de arquivos diferentes e também lembrará a localização original dos arquivos.


Você também pode tentar gvfs-trash, como observa ændrük nos comentários. Mas a lixeira tem algumas vantagens sobre gvfs-trash:

1) Não está vinculado ao gnome ou gvfs. Ele funcionará mesmo em um servidor sem o gnome ou em outro ambiente de desktop. Ele obtém compatibilidade com o gnome porque usa a especificação de lixo freedesktop, como gnome.

2) Ele tenta usar o mesmo formato que rm, para que possa ser aliasado a ele. Não falhará na primeira vez que um script tentartrash-put -Rf dir

A principal vantagem do gvfs-trash é que ele é instalado por padrão no Ubuntu.

Javier Rivera
fonte
Existe algum motivo para usar em trash-putvez de gvfs-trash?
ændrük
Primeiro e mais importante: eu não sabia sobre gvfs-trash. Segundo: não depende do gnome, é compatível porque usa o padrão de lixo freedestop. Terceiro: ele tenta manter a compatibilidade de opções com a rm, para que possa ser aliasado a ela com o mínimo de barulho, e essa é a questão.
Javier Rivera
Acrescentei as razões não humorísticas à resposta, pois considero que são importantes. Também a referência ao gvfs-trash é importante, pois será uma solução bastante melhor na maioria dos casos.
Javier Rivera
o primeiro parágrafo "Não tente instalar ..." parece contradizer o bloco de código antes dele. Não estou tentando ser um gramático, não está claro.
msw
Eu não sou um falante nativo de inglês e minha gramática não é exatamente espetacular, por isso agradeço qualquer ajuda para torná-lo melhor. Sinta-se à vontade para editar a postagem, se você tiver representantes suficientes, ou apenas faça uma sugestão aqui. O que eu estava tentando dizer é que você deve instalá-lo usando o easy_install e não o apt-get.
Javier Rivera