Eu uso o terminal diariamente, usarei frequentemente rm DirectoryName
. Às vezes eu fico um pouco louco e faço rm *
. Como você pode imaginar, essas travessuras às vezes voltam e me atingem na cara. Alguém sabe como eu crio um mapeamento para rm whatever
mover tudo para a lixeira que eu excluo manualmente.
62
mv /file/to/delete ~./Trash
alias rm=/bin/rm -i
você deve treiná- lo com segurança para fora do seu louco . Além disso - qual diretório da Lixeira você deseja que a rm use? Fica desajeitado, pois o Mac OS X possui um diretório de lixeira para cada volume, além de uma lixeira no nível do usuário.rm *
ourm /path/*
Respostas:
Péssima ideia
Usar
rm
para mover arquivos para o lixo é como maconha. É comum e prazeroso, mas pode ser ruim para você no futuro. ;)Você realmente precisa se controlar ao usar
rm
.Não use rm
Imagine , você se acostuma a se mudar para o lixo e criar um hábito. Claro, seu sistema está seguro, mas quando você entra no caderno de um amigo (ou sua esposa ou seu chefe) e precisa excluir alguma coisa? Você estará realmente usando o real
rm
- excluindo esses arquivos para sempre. É um mau hábito, e você precisa saber disso.Então, em vez disso, instale
rmtrash
e crie o hábito de usá-lo:Corrigindo maus hábitos
Outra coisa que você pode fazer para se forçar a usar, em
rmtrash
vez de,rm
é alias, para uma mensagem personalizada no seu.profile
.Portanto, sempre que você usar
rm
, você será solicitado a usarrmtrash
ou/bin/rm
. Lembre-se, isso é apenas temporário, depois de um tempo você deve remover o alias.Nunca, faça algo assim:
Pop Quiz: Em que diretório o
rm
comando será executado? :)Ps: Acabamos de remover algumas edições indesejadas deste post, o que adicionou algumas bobagens sobre os pseudônimos.
fonte
&&
é a sua salvação.;
é o diabo. PS A resposta é que praticamente tudo no seu sistema desaparece, no exemplo acima.trash-cli
vez disso, ex.aptitude install trash-cli
- veja github.com/andreafrancia/trash-clibrew install trash
rmtrash
é realmente antigo, tendo sido atualizado pela última vez em 2003, e mostra. Ele tem muito menos opções do querm
, e se você dizrmtrash
em um volume secundário, move esses arquivos para a pasta de lixo do usuário na unidade do sistema, o que pode levar muito tempo para arquivos grandes. Atrash
opção recomendada pela parth é melhor, resolvendo o problema de manter o mesmo volume, mas ainda faltando muitasrm
opções.Posso pensar em uma dúzia de maneiras de codificar isso, mas me recuso categoricamente a digitar qualquer uma delas em uma resposta. Eu recomendo fortemente que você reduza o seu hábito de ficar um pouco louco . Você não deve ter o hábito de usar
rm
se não puder usá-lo adequadamente.O problema fundamental aqui é que, mesmo que você instale uma rede de segurança em seu próprio sistema, isso só ajudará a manter seus maus hábitos e quando você estiver em outra máquina em algum dia que não possua as mesmas proteções personalizadas, faça algo épicamente ruim.
A solução adequada é usá-
rm
lo como deveria ser usado, incluindo a adição manual do-i
argumento sempre que houver dúvida sobre como um globo se expandirá e tenha bons backups do sistema que você pode restaurar em caso de erro grave do usuário. Tentar adicionar "lixo" a comandos que no resto do universo não usam, é um passo intermediário que é o pior dos dois mundos.Ou use o lixo ou não. Usar
rm
não vai para o lixo, ele remove.Se você quiser usar o lixo, não há nada de errado nisso. Apenas adquira o hábito de usar o
rmtrash
comando em vez derm
. Isso ajudará seu cérebro a entender o que está acontecendo e a não criar um mau hábito que causará pesar mais tarde.fonte
rm
por definição, remove um arquivo do disco. Não o envia para o lixo. Ensinar-se a usarrm
quando você quer dizer enviar para o lixo o prepara para um desastre. Se você deseja enviar para o lixo, usarrmtrash
ou um programa que foi projetado para o trabalho, não terá pesadelos mais tarde. Eu não estava dizendo que usar o lixo é inerentemente errado, mas se você quiser usá-lo, não conecte-o a algo que não se destina a usá-lo!brew install rmtrash
e pare de usarrm
rmtrash
vez derm
.Existem maneiras de se proteger de resultados horríveis
rm
. No entanto, concordo com os outros comentaristas aqui: muito poucos são bons.Não acredite nem por um minuto que a alteração do ambiente de comando o ajudará. Por exemplo, você encontrará pessoas on-line em todos os lugares que recomendam fazer esse tipo de coisa:
ou
Isso não vai funcionar. Período. Existem muitos casos de uso nos quais esses pequenos truques de salão falham miseravelmente.
A única maneira robusta com a qual me livrei do perigo
rm
é configurando um processo de backup regular por meio do cron nos diretórios em que trabalho. O Raw UNIX faz isso por você de maneira agradável, com grande simplicidade, usandofind
em conjunto com-mtime
para verificar os arquivos que foram atualizados dentro ou desde um certo período de tempo.fonte
cron
si só. Obrigado :)Use uma ferramenta de linha de comando como rmtrash ou um script que use appscript para ligar para o Finder para excluir.
Depois de instalar o rmtras para dizer / usr / local / bin / rmtrash, crie um alias para o bash
Você pode usar \ rm para chamar rm diretamente e ignorar o alias
fonte
rmtrash
, faça um favor a si mesmo e use-a pelo próprio nome . Jamais aliás coisas que não sãorm
pararm
, ele vai algum dia te morder.rmtrash
não é compatível comrm
(não suporta os mesmos parâmetros de linha de comando como-r
) para um alias não é realmente útil em qualquer casormtrash
pararm
. Não apenas eles não são compatíveis, mas também reforçam o mau hábito e você acidentalmente o usarárm
em outro sistema pensando que você está usando apenasrmtrash
.Só quero adicionar um hábito útil para aqueles que ainda não fazem isso. Antes de usar rm para qualquer coisa, faça 'ls' primeiro. Dessa forma, você pode ver todos os arquivos que você deseja excluir. Em vez de redigitar, basta puxar o comando 'ls' anterior e trocar ls por rm. Esse hábito reduziu muita ansiedade ao invocar a empresa.
fonte
Introdução (você pode pular)
Para mim
rm -i
seria suficiente, porque solicita que você exclua qualquer arquivo. No entanto, alguma segurança extra fornecida porsafe-rm
não é uma má idéia.Um simples
alias
comorm=safe-rm -i
poderia ser suficiente, no entantorm -rf
, não funcionaria, porque-i
é substituído-f
.Então, temos que garantir que
-i
sempre venha depois-f
!Minha solução (3 etapas):
Instale o safe-rm:
brew install safe-rm
Você ainda pode trabalhar
rm
, mas modificou oRM_BIN
na próxima etapaEdite seu
~/.profile
(ou bash_profile ou o que for) e coloque o seguinte snippet de código (que contém umalias
e afunction
):Por fim ,
logout
elogin
, portanto, as atualizações no .profile são aplicadas. NÃO o use antes de um logout / login!Notas:
-rf
e com expressões regulares.rm -rf
SEM ser solicitado a cada arquivo / pasta, você ainda pode usá-lo/bin/rm -rf
(ousafe-rm -rf
se o tiver instalado).rm -rf
ourm *
;)fonte
alias rm='sudo rm'
) é como amarrar um Uzi a uma faca de cozinha: um dia você receberá mais do que esperava quando cortará esse abacaxi. Aliasizar rm a algo menor que ele (por exemploalias rm='rmtrash'
) é como deixar seus filhos brincar com granadas desarmadas e não ensinar a eles o que realmente são: um dia, quando encontrarem um real, não o tratarão com a devida cautela. De qualquer maneira - aliasing rm é ruim para sua segurança pessoal e saúde pública!rm
? Além disso, o argumento de Caleb é ainda mais válido - se você se acostumar com um sistema com alias seguro-rm, poderá se tornar imprudente com ele e, eventualmente, usá-lo em um sistema com um rm não-aliado.