GNU/Linux >> Belajar Linux >  >> Linux

Pulihkan file yang dihapus yang saat ini sedang ditulis

Menggunakan tail dalam mode ikuti seharusnya memungkinkan Anda melakukan apa yang Anda inginkan.

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

Saya baru saja melakukan tes cepat dan sepertinya berhasil di sini. Anda tidak menyebutkan apakah file Anda adalah file biner atau bukan. Perhatian utama saya adalah bahwa ini mungkin tidak menyalin dari awal file tetapi argumen -n +0 harus melakukannya bahkan untuk file biner.

Perintah tail mungkin tidak berhenti di akhir pengunduhan sehingga Anda harus menghentikannya sendiri.


Sebenarnya saya punya pemikiran lain. Jika Anda menggunakan perintah lain untuk membaca /proc/<pid>/fd/<fd> dan biarkan program itu berjalan kemudian ketika Anda mengunduh selesai, Anda dapat menyalinnya dari /proc/<pid2>/fd/<fd2> yang sesuai file dari perintah kedua.

Coba saja

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

dalam cangkang terpisah. Melihat entri /proc untuk perintah yang lebih sedikit seharusnya menunjukkan file Anda yang terhapus.


Linux
  1. /proc/[pid]/pagemaps dan /proc/[pid]/maps | linux

  2. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  3. unix:///var/run/supervisor.sock tidak ada file seperti itu

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. /sys/ dokumentasi?

  3. Haruskah situs web berada di /var/ atau /usr/ sesuai dengan penggunaan yang disarankan?

  1. Linux:Perbedaan Antara /dev/console , /dev/tty Dan /dev/tty0?

  2. Bash =~ Regex Dan Https://regex101.com/?

  3. Linux – Menautkan /proc/mnt Ke /proc/mounts?