A melhor solução é usar rm -i
Eu geralmente uso mal o "rm" para "mv"! Espero fazer "rm" um comando que requer privilégios de root, como "apt-get". Como fazer isso, por favor? Meu sistema é o Ubuntu 10.10.
A melhor solução é usar rm -i
O aliasing definitivo da versão interativa de rm
é a melhor solução, porque você não deseja que os scripts normais sejam rompidos quando rm
de repente começar a se comportar de maneira diferente. Basta adicionar alias rm="rm -i"
ao seu ~/.bashrc
e você receberá uma pergunta como rm: remove regular file 'filename'?
, que terá de responder com y [ENTER]
ou n [ENTER]
.
Eu acho melhor o aliasing sudo rm
, porque você é explicitamente informado sobre quais arquivos devem ser deletados, enquanto que com o sudo você só precisa de uma senha como em uma dúzia de outras ocasiões e antes disso você irá aprovar o comando sudo rm *
. O comando rm -i
protege você de tais (e menos óbvias) combinações de curingas muito gananciosas, porque ele pergunta sobre cada arquivo.
Que tal alias rm para 'sudo rm'? Toda vez que você precisa digitar a senha.
Você poderia alias rm
para algo como echo 'Do you really want to remove this?'
Isso impedirá que você use o rm.
Então, se você realmente quiser remover algo, precisará digitar /bin/rm
(para ignorar o alias).
Isso está fora do topo da minha cabeça. Tenho certeza de que as pessoas vão corrigir a edição se eu tiver minha sintaxe desativada ou algo assim.
Insira este script no seu ~ / bin e chame-o de rm.
#!/bin/sh
# Run /bin/rm using all the arguments from the command line
/bin/rm $@
Certifique-se de que ~ / bin seja o primeiro em seu $ PATH para que seu rm seja encontrado antes de / bin / rm.
Defina esse script para a propriedade root: your_group e permissões 760 para que você precise sudo para executar rm e não será necessário ser root para gravar ou ler o arquivo. Você também pode contornar esse script simplesmente usando / bin / rm em vez de rm, mas fará isso conscientemente. Talvez você até tenha o hábito de especificar rm por caminho absoluto e, eventualmente, não usará o script extra.
Se você não estiver familiarizado com a configuração de sua própria variável de caminho, edite seu .bash_profile com essas linhas (ou edite se elas já existirem).
PATH=~/bin:$PATH
export PATH
Você precisará reiniciar o bash ou usar o comando 'source .bash_profile' para trazer suas alterações para o shell atual.
(Naturalmente, rm -i
é muito mais simples e menos invasivo do que chmoding rm em si, mas isso responde a pergunta como solicitado sem quebrar nada que não seja executado pelo usuário que já conhece a limitação.)