GNU/Linux >> Linux Esercitazione >  >> Linux

Recupera il file cancellato che è attualmente in fase di scrittura

Utilizzando tail in modalità follow dovrebbe permetterti di fare quello che vuoi.

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

Ho appena fatto un rapido test e qui sembra funzionare. Non hai menzionato se il tuo file era un file binario o meno. La mia preoccupazione principale è che potrebbe non copiare dall'inizio del file, ma l'argomento -n +0 dovrebbe farlo anche per i file binari.

Il comando tail potrebbe non terminare alla fine del download, quindi dovrai terminarlo tu stesso.


In realtà ho avuto un altro pensiero. Se usi un altro comando per leggere /proc/<pid>/fd/<fd> e mantieni quel programma in esecuzione, quindi quando il download è completato puoi copiarlo dall'appropriato /proc/<pid2>/fd/<fd2> file del secondo comando.

Prova

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

in un guscio separato. Guardando la voce /proc per il comando less dovresti vedere il tuo file cancellato.


Linux
  1. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Linux:differenza tra /dev/console , /dev/tty e /dev/tty0?

  3. Bash =~ Regex e HTTPS://regex101.com/?

  4. /proc/[pid]/pagemaps e /proc/[pid]/maps | Linux

  5. Quando dovrei usare /dev/shm/ e quando dovrei usare /tmp/?

/proc/cpuinfo e /proc/meminfo in Linux

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

/sys/ documentazione?

echo o print /dev/stdin /dev/stdout /dev/stderr

Perché sono necessari < o > per usare /dev/tcp

I siti web dovrebbero vivere in /var/ o /usr/ in base all'utilizzo consigliato?