
Me di cuenta de que en realidad puedo presionar Mayús y eliminar (es decir, no va a la Papelera) un video que se está reproduciendo actualmente, y aún así continúa reproduciéndose, aunque no hay una referencia con nombre a él en nautilus
o ls
(terminal).
¿Se libera normalmente el espacio en disco cuando el reproductor ha terminado con el vídeo?
Supongo que es un comportamiento normal, pero ciertamente es una experiencia nueva para mí (ya que esto simplemente no era posible en Windows).
Respuesta1
Aunque lo hayas eliminado, el archivo todavía está en uso porque lo tienes abierto en tu reproductor. Una vez que cierre el reproductor multimedia, liberará su control sobre los datos del archivo y, por lo tanto, se eliminará.
Puede verificar esto con el lsof
comando, que enumera los archivos abiertos. Si ejecuta lsof, el archivo de su película debería aparecer como abierto en el reproductor, pero tendrá "DEL" al lado, lo que significa que se ha eliminado aunque todavía esté abierto.
En realidad, todo esto es algo útil y significaría que podrías recuperar archivos abiertos que hayas eliminado, aunque probablemente sería mejor dejar eso para otra pregunta :)
Se debe a que (según tengo entendido) los archivos consisten en los datos en sí y los identificadores (ubicación en el sistema de archivos) del archivo. Normalmente, solo tiene un identificador para un archivo, pero puede crear otros usando el ln
comando para crear un enlace físico. Esto crea lo que parece ser una copia idéntica de su archivo, pero en realidad solo agrega otro identificador, por lo que no ha utilizado el doble de espacio en disco. Puede verificar esto mirando el inodo de los dos archivos; esto le indica dónde están realmente los datos.
Entonces, por ejemplo, en una ventana de terminal:
ln existing_movie.avi movie_hardlink.avi
ls -i
El argumento -i de ls muestra la información del inodo de los archivos; deberían ser idénticos.
Cuando elimina uno de esos archivos, los datos permanecerán porque el otro aún conserva un identificador del inodo. Una vez que elimina el segundo archivo, al inodo no le quedan identificadores/referencias y, por lo tanto, se elimina/marca como espacio no utilizado. Esto es directamente análogo al caso cuando su reproductor tiene la película abierta, excepto que el segundo identificador aquí está dentro del programa en ejecución en lugar de un segundo archivo en el sistema de archivos.
Respuesta2
leerhttp://linuxgazette.net/105/pitcher.html, comprenderá por qué (y aprenderá la diferencia entre enlaces físicos y blandos)