GNU/Linux >> Tutoriales Linux >  >> Linux

¿Hacer que `rm` se mueva a la papelera?

¿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

Linux
  1. Mover archivos en la terminal de Linux

  2. ¿Hacer que todos los archivos nuevos en un directorio sean accesibles para un grupo?

  3. ¿Escribir archivos de servicio básicos de Systemd?

  4. ¿Eliminar archivos por edad?

  5. ¿Secuencias de comandos `rm` y `rm -i`?

Cómo mover archivos y directorios en Linux (comando mv)

Cómo mover una gran cantidad de archivos en Linux

¿Cómo hacer que la terminal se complete automáticamente cuando hay varios archivos/directorio?

Archivos .o frente a archivos .a

Mover todos los archivos excepto uno

¿Cómo mover todos los archivos del directorio actual al directorio superior?