¿Cómo puedo hacer que rm deje de pedirme permiso?


15

En mi servidor, rm siempre me pide permiso (aunque soy root) cuando lo ejecuto, en mi escritorio no lo hace. Al igual que:

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

¿Cómo hago para que deje de incitarme?


Quizás sea un alias. Liste los alias con aliasy elimine el alias con unalias rm.
H Marcelo Morales

1
Solo recuerda que si rompes tu sistema, puedes conservar ambas piezas. Es posible que desee cambiar a algo como trash-clidarse un botón de deshacer para eliminar.
Ryan C. Thompson

Respuestas:


15

Verificaría si tu rmes un alias. Al escribir aliasen la línea de comando, verá todos los alias definidos. Espero algo como

alias rm='rm -i'

Si es así, el alias probablemente se define en ~/.bashrc, por lo que puede eliminar el alias por completo o cambiarlo para satisfacer sus necesidades.

Alternativamente, puede eliminar el alias de la sesión de terminal actual usando unalias rm.


3
Considero que es más inteligente dejar esto como está y usar siempre rm (-i debido al alias) y cuando se le solicite, escriba yes o ctrl-c y luego haga un rm -f. La seguridad primero: descifré un sistema completo usando rm donde no tenía -porque alguien más lo eliminó de los alias (de lo contrario, habría detectado mi error: D).
Rinzwind

@Rinzwind - Probablemente tengas razón, pero no estoy demasiado preocupado por alterar el sistema de mi servidor en este caso. No tiene estado y tengo un script de configuración para restaurarlo. Sin embargo, una vez eliminé la mitad de las bibliotecas PHP de mi sistema a través de un rm mal escrito, pero me resulta menos molesto hacer una gran limpieza una vez, que pequeñas cosas todo el tiempo.
Kit Sunde

2
Lamento decir eso, pero si aún no tiene la experiencia suficiente para descubrir que rmes un alias, entonces probablemente debería dejar las medidas de seguridad en su lugar.
MPi

11

rm -f mod_wsgi-3.3.tar.gz

ADVERTENCIA: usar con precaución.

Desde la página del manual :

-f, --force ignore nonexistent files, never prompt

2

Lo mejor que encontré es

\rm file

Esto ejecutará la versión original de unalias y mantendrá el alias intacto.

También podemos usar shell incorporado commandpor ejemplo

command rm file

pero seguramente disfruto menos verbosidad en el primero


1
Uso comillas para evitar alias, por ejemplo, ¡ 'rm' filepero el tuyo es más corto!
joeytwiddle

0

Otra forma de evitar lo definido aliases dar la ruta completa cuando no desea que se le solicite:

/bin/rm mod_wsgi-3.3.tar.gz

Me gusta dejar un alias rm -ien su lugar por seguridad, para cuando estoy hackeando en medio de la noche y escribiendo rm .... Pero cuando estoy lo suficientemente alerta como para recordar que no quiero que me pregunten, escribo /bin/rm ....


1
También puedes hacer command rm /dead/file. commandlo ejecuta sin buscar funciones o alias.
kiri
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.