Comment puis-je faire en sorte que rm cesse de me demander la permission?

15

Sur mon serveur, rm me demande toujours la permission (même si je suis root) lorsque je l'exécute, sur mon bureau, ce n'est pas le cas. Ainsi:

$ rm mod_wsgi-3.3.tar.gz
rm: remove regular file `mod_wsgi-3.3.tar.gz'?

Comment puis-je faire cesser de me demander?

Kit Sunde
la source
C'est peut-être un alias. Répertoriez les alias avec aliaset supprimez l'alias avec unalias rm.
H Marcelo Morales
1
N'oubliez pas que si vous cassez votre système, vous pouvez conserver les deux pièces. Vous voudrez peut-être passer à quelque chose comme trash-clivous donner un bouton d'annulation pour la suppression.
Ryan C. Thompson

Réponses:

15

Je vérifierais si vous rmêtes un alias. En tapant aliassur la ligne de commande, vous verrez tous les alias définis. J'attends quelque chose comme

alias rm='rm -i'

Si c'est le cas, l'alias est probablement défini dans ~/.bashrc, vous pouvez donc supprimer complètement l'alias ou le modifier selon vos besoins.

Vous pouvez également supprimer l'alias de la session de terminal en cours à l'aide de unalias rm.

enzotib
la source
3
Je considère qu'il est plus sage de laisser cela tel quel et de toujours utiliser rm (-i en raison de l'alias) et lorsque vous y êtes invité, tapez oui ou ctrl-c et faites un rm -f. La sécurité d'abord: j'ai créé un système complet en utilisant rm où il n'avait pas -i cuz quelqu'un d'autre l'a retiré des alias (sinon j'aurais repéré mon erreur: D).
Rinzwind
@Rinzwind - Vous avez probablement raison, mais dans ce cas, je ne suis pas trop inquiet à l'idée de falsifier mon système de serveur. Il est sans état et j'ai un script d'installation pour le restaurer. J'ai cependant supprimé une fois la moitié des bibliothèques PHP de mon système via un rm mal typé, mais je trouve moins ennuyeux de faire un grand nettoyage une fois, que de petites choses tout le temps.
Kit Sunde
2
Désolé de le dire, mais si vous n'avez pas encore suffisamment d'expérience pour découvrir que vous êtes rmun alias, vous devriez probablement laisser des mesures de sécurité en place.
MPi
11

rm -f mod_wsgi-3.3.tar.gz

AVERTISSEMENT: à utiliser avec prudence.

Depuis la page de manuel :

-f, --force ignore nonexistent files, never prompt
Rinzwind
la source
2

Le plus grand ce que j'ai trouvé c'est

\rm file

cela exécutera la version unalias d'origine et gardera l'alias intact.

Nous pouvons également utiliser le shell intégré commandpar exemple

command rm file

mais j'apprécie sûrement le moins de verbosité dans le premier

dlmeetei
la source
1
J'utilise des guillemets pour éviter les alias, par exemple, 'rm' filemais le vôtre est plus court!
joeytwiddle
0

Une autre façon de contourner la définition aliasest de donner le chemin complet lorsque vous ne voulez pas être invité:

/bin/rm mod_wsgi-3.3.tar.gz

J'aime laisser un alias à rm -ien place pour la sécurité, car lorsque je pirate au milieu de la nuit et que je tape rm .... Mais quand je suis suffisamment alerte pour me souvenir que je ne veux pas être invité, je tape /bin/rm ....

Tournoiement en haut
la source
1
Vous pouvez aussi le faire command rm /dead/file. commandl'exécute sans rechercher de fonctions ni d'alias.
kiri