GNU/Linux >> Tutoriales Linux >  >> Linux

Recuperar el archivo eliminado que se está escribiendo actualmente

Usando tail en el modo de seguimiento debería permitirte hacer lo que quieras.

tail -n +0 -f /proc/<pid>/fd/<fd> > abc.deleted

Acabo de hacer una prueba rápida y parece funcionar aquí. No mencionó si su archivo era un archivo binario o no. Mi principal preocupación es que puede que no se copie desde el principio del archivo, pero el argumento -n +0 debería hacerlo incluso para archivos binarios.

Es posible que el comando tail no finalice al final de la descarga, por lo que deberá finalizarlo usted mismo.


En realidad, tuve otro pensamiento. Si usa otro comando para leer /proc/<pid>/fd/<fd> y mantenga ese programa ejecutándose luego, cuando se complete la descarga, puede copiarlo desde el /proc/<pid2>/fd/<fd2> apropiado archivo del segundo comando.

Solo inténtalo

less /proc/<pid>/fd/<fd>

en un caparazón separado. Mirar la entrada /proc para el comando less debería mostrarle su archivo eliminado.


Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. Instalar binarios en /bin, /sbin, /usr/bin y /usr/sbin, interacciones con --prefix y DESTDIR

  3. Los directorios estáticos http no se están sirviendo

  4. ¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

  5. ¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?

Archivos /proc/cpuinfo y /proc/meminfo en Linux

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

unix:///var/run/supervisor.sock no hay tal archivo

/sys/ documentación?

hacer eco o imprimir /dev/stdin /dev/stdout /dev/stderr

¿Por qué se requieren < o > para usar /dev/tcp?