恢復已刪除的檔案而不複製其內容

恢復已刪除的檔案而不複製其內容

只要有一個打開的文件描述符指向一個文件,我就可以cp像這樣把它帶回來:

# Open for reading
exec 3< file
# Delete
rm file
# Bring it back
cp /proc/self/fd/3 file

這個解決方案對於小檔案來說還可以,但是對於較大的檔案(例如> 5GiB)來說確實很慢。所以我想知道有沒有辦法把它帶回來而不複製內容?我的意思是,除非描述符關閉,否則資料不會被觸及,那麼為什麼不能將檔案名稱連結到資料所在的記憶體區域呢?

請賜教我這一點。駭客式的命令列解決方案、依賴平台/檔案系統的 C API 等。我只是想知道如果可能的話以某種方式在某個地方,並且如果不, 我想知道為什麼

lsof谷歌搜尋根本沒有幫助,我所能找到的只是關於如何使用和恢復文件的複製文章cp

相關內容