Executar sem backups significa que você deve ter muito cuidado para nunca cometer erros. E espero que seu hardware nunca falhe. (Mesmo o RAID não pode salvá-lo da corrupção do sistema de arquivos causada por falha na RAM.) Esse é o seu primeiro problema. (Presumo que você já tenha percebido e fará backups no futuro.)
Mas existem coisas que você pode fazer para reduzir a probabilidade de erros como este:
- alias
rm='rm -I'
para avisar se excluir mais de três itens.
- alias mv e cp para
mv -i
e cp -i
(muitos casos de uso normais para esses não envolvem sobrescrever um arquivo de destino).
- alias
sudo='sudo '
para fazer expansão alias no primeiro argumento parasudo
Eu acho que rm -I
é muito mais útil que rm -i
. Normalmente, ele não é solicitado durante o uso normal; portanto, a digitação é solicitada quando você não espera que seja um aviso muito mais perceptível / melhor. Com -i
(antes de descobrir -I
), me acostumei a digitar \rm
para desativar a expansão de alias, depois de ter certeza de que havia digitado o comando corretamente.
Você não deseja adquirir o hábito de confiar rm -i
ou usar -I
pseudônimos para salvá-lo . É sua linha de segurança que você espera que nunca seja usada. Se eu realmente quiser selecionar interativamente quais correspondências excluir ou se não tiver certeza se meu glob pode corresponder a alguns arquivos extras, digito manualmente rm -i .../*whatever*
. (Também é um bom hábito, caso você esteja em um ambiente sem seus pseudônimos).
Defenda-se contra o dedilhado Enterdigitando ls -d /*foo*
primeiro , depois a seta para cima e altere para rm -r
depois que você terminar de digitar. Portanto, a linha de comando nunca contém rm -rf ~/
comandos perigosos similares a qualquer momento. Você apenas o "arma", mudando ls
para rm
com control-a, alt-d para ir para o início da linha e adicionando o -r
ou o -f
depois que você terminar de digitar a ~/some/sub/dir/
parte do comando.
Dependendo do que você está excluindo, execute o ls -d
primeiro, ou não, se isso não adicionar nada ao que você vê com o preenchimento de guias. Você pode começar com rm
(sem -r
ou -rf
), então é apenas control-a / control-right (ou alt + f) / space / -r
.
(Acostume-se com as poderosas combinações de teclas de edição do readline para mover-se rapidamente, como setas de controle ou alt + f / b para mover por palavras e matar palavras inteiras com alt + backspace ou alt + d ou control-w. -u para matar o início da linha. E controle- / para desfazer uma edição se você for um passo longe demais. E, é claro, o histórico da seta para cima que você pode pesquisar com control-r / control-s.)
Evite, a -rf
menos que você realmente precise silenciar as solicitações sobre a remoção de arquivos somente leitura.
Reserve um tempo extra para pensar antes de pressionar retornar em um sudo
comando. Especialmente se você não tiver backups completos, ou agora seria um momento ruim para restaurá-los.