Como notó correctamente, la GUI hace más que simplemente "eliminar" los archivos.
$ rm -rf
simplemente se repite en carpetas eliminando los archivos y carpetas que encuentra allí.
La GUI primero escanea todo el árbol para determinar qué hay allí (para saber cuánto tiene que hacer para dibujar la barra bonita), luego vuelve a atravesar el árbol moviendo los archivos desde la ubicación actual a la ubicación del archivo. archivos de papelera para su GUI específica. Ese movimiento lleva más tiempo, ya que primero tiene que generar un nuevo nombre de archivo único, vincular el archivo en la carpeta de la papelera, luego desvincularlo de la carpeta actual y actualizar un índice de dónde provienen los archivos para que puedan "deshacerse". muchas operaciones en lugar de solo una.
Por ejemplo, en Gnome 3 los archivos se mueven a la ubicación:
~/.local/share/Trash/files/<filename>[.<version>]
Dónde filename
está el nombre del archivo original y version
es un número de versión incremental para garantizar que el archivo sea único (la primera instancia de archivo no tiene número de versión). Asociado a eso hay un .trashinfo
archivo almacenado en la carpeta:
~/.local/share/Trash/info/<filename>[.<version>].trashinfo
Este archivo contiene la ruta original del archivo antes de la eliminación, así como la fecha y hora en que se eliminó este archivo.
Todas estas operaciones adicionales, que deben realizarse en todos y cada uno de los archivos individuales del árbol que está eliminando, aseguran que puede restaurar cualquier archivo de la papelera y que puede eliminar archivos del mismo nombre del misma ubicación y aún restaurar versiones anteriores.
Nada de eso se hace con un simple rm
o mv
comando.