rm tiene -i
y -I
marcas para confirmar antes de cada eliminación. En el pasado, algunas distribuciones los activaron de manera predeterminada. Esta es una idea terrible. Dele al usuario demasiados cuadros de diálogo de confirmación para las operaciones normales y comenzarán a confirmarlos habitualmente. Esto simplemente cambia el requisito de "tener cuidado" (siempre una bandera roja) a un diálogo nuevo y más molesto. "Sí. Sí. Sí. ¡Sí! ¡SÍ! Maldita sea, estúpida computadora, simplemente borra los archivos SÍ SÍ SÍ SÍ - ¡MIERDA, NO QUIERO! Este es el problema de diálogo "Sí, pero no quise decir". Esta respuesta proporciona una explicación visual de por qué los cuadros de diálogo de confirmación llegan en el momento equivocado.
El tipo de error que describes es un deslizamiento , "la realización de una acción que no era lo que se pretendía". El usuario generalmente reconoce inmediatamente el error y sabe exactamente cómo solucionarlo. Desafortunadamente, Unix no le da la oportunidad al usuario, rm elimina el archivo inmediatamente. Todos los demás sistemas operativos resuelven este problema permitiendo que se eliminen las eliminaciones, al menos durante un tiempo, mediante el uso de la Papelera.
Hay varios sistemas de basura para Unix, y esta respuesta está llena de sugerencias .
La pregunta es alias rm o no alias rm. Pros aliasing rm ...
- No puede olvidarse de usar la alternativa rm.
Contras para aliasing rm ...
- Puede confiar en sistemas que no lo tienen.
- Puede causar problemas cuando el disco está casi lleno.
- Necesita infraestructura para vaciar periódicamente la basura.
- Debe asegurarse de no interferir con el comportamiento esperado de rm en los programas.
- Es posible que no emule completamente rm.
Si sigue demasiado lejos el primer argumento, termina usando vi (no vim, vi), csh (no tcsh, csh) y otras utilidades anticuadas porque están disponibles universalmente. Aún así, existe el peligro de personalizar en exceso su entorno. Prefiero llevar mis utilidades conmigo y hacer que sea lo más fácil posible. YMMV.
Dos y tres son problemas técnicos. Se pueden resolver con un ingenioso trabajo de segador que verifica el tamaño de la basura y limpia periódicamente las cosas, de forma similar a un tmpreaper . Esto puede ser un trabajo cron, o una versión más inteligente puede hacer uso de las diversas infraestructuras de eventos del sistema de archivos disponibles en muchas distribuciones Linux de escritorio. Esto no es simple, y aún más difícil de hacer de manera eficiente. Es mejor encontrar un sistema existente que tratar de hacer uno propio.
El cuarto puede tratarse haciendo que su nueva rm sea un alias de shell alias rm='trash'
, entonces no afectará a los programas.
El quinto es un problema que dejo para que el lector lo resuelva. rm no tiene muchos interruptores.
zsh
obash
) prefiero tomar el hábito de presionar la tecla tab (para activar la finalización automática) antes de presionar la tecla de retorno