¿Existe una secuencia de comandos/aplicación de Linux que, en lugar de eliminar archivos, los mueva a una ubicación especial de "papelera"? Me gustaría esto como reemplazo de rm
(tal vez incluso ponerle un alias a este último; hay pros y contras para eso).
Por “basura” me refiero a una carpeta especial. Un solo mv $* ~/.trash
es un primer paso, pero idealmente esto también debería manejar la eliminación de varios archivos con el mismo nombre sin sobrescribir archivos antiguos y permitir restaurar archivos a su ubicación original con un simple comando (una especie de "deshacer"). Además, sería bueno que la papelera se vaciara automáticamente al reiniciar (o un mecanismo similar para evitar un crecimiento interminable).
Existen soluciones parciales para esto, pero la acción de "restaurar" en particular no es trivial. ¿Hay alguna solución existente para esto que no dependa de un sistema de basura de un shell gráfico?
(Aparte, ha habido discusiones interminables sobre si este enfoque está justificado, en lugar de usar copias de seguridad frecuentes y VCS. Si bien esas discusiones tienen un punto, creo que todavía hay un nicho para mi solicitud).
Respuesta aceptada:
Hay una especificación (borrador) para Papelera en freedesktop.org. Aparentemente es lo que suelen implementar los entornos de escritorio.
Una implementación de línea de comandos sería trash-cli. Sin haberlo mirado más de cerca, parece proporcionar la funcionalidad que desea. Si no, díganos en qué medida esto es solo una solución parcial.
En cuanto a usar cualquier programa como reemplazo/alias para rm
se refiere, hay buenas razones para no hacerlo. Los más importantes para mí son:
- El programa necesitaría entender/manejar todo
rm
las opciones y actuar en consecuencia - Tiene el riesgo de acostumbrarse a la semántica de su "nuevo rm" y ejecutar comandos con consecuencias fatales al trabajar en los sistemas de otras personas