GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gelöschte Datei wiederherstellen, in die gerade geschrieben wird

Mit tail im Follow-Modus sollten Sie tun können, was Sie wollen.

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

Ich habe gerade einen kurzen Test gemacht und es scheint hier zu funktionieren. Sie haben nicht erwähnt, ob Ihre Datei eine Binärdatei ist oder nicht. Mein Hauptanliegen ist, dass es möglicherweise nicht vom Anfang der Datei an kopiert, aber das Argument -n +0 sollte dies sogar für Binärdateien tun.

Der tail-Befehl wird am Ende des Downloads möglicherweise nicht beendet, also müssen Sie ihn selbst beenden.


Eigentlich hatte ich einen anderen Gedanken. Wenn Sie einen anderen Befehl verwenden, um /proc/<pid>/fd/<fd> zu lesen und halten Sie dieses Programm am Laufen. Wenn Sie den Download abgeschlossen haben, können Sie es aus dem entsprechenden /proc/<pid2>/fd/<fd2> kopieren Datei des zweiten Befehls.

Probieren Sie es einfach aus

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

in einer separaten Schale. Ein Blick auf den /proc-Eintrag für den Befehl less sollte Ihnen Ihre gelöschte Datei zeigen.


Linux
  1. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  2. Linux:Unterschied zwischen /dev/console , /dev/tty und /dev/tty0?

  3. Bash =~ Regex und Https://regex101.com/?

  4. Ubuntu 14.04 „erhielt keinen Wiedergabe-URI bei der Eingabedatei:///*“?

  5. CentOS / RHEL:So stellen Sie eine gelöschte /etc/passwd-Datei wieder her

/proc/cpuinfo- und /proc/meminfo-Dateien unter Linux

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

statische HTTP-Verzeichnisse werden nicht bereitgestellt

Wie finde ich heraus, aus welchem ​​Ordner ein Prozess läuft?

echo oder print /dev/stdin /dev/stdout /dev/stderr

Warum sind < oder > erforderlich, um /dev/tcp