コンテンツをコピーせずに削除されたファイルを回復する

コンテンツをコピーせずに削除されたファイルを回復する

ファイルを指す開いたファイル記述子がある場合は、次のようcpに再インポートできます。

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

このソリューションは小さなファイルには問題ありませんが、大きなファイル(たとえば5GiB以上)では非常に遅くなります。それでは、コンテンツをコピーせずに再インポートする方法があるかどうか疑問に思います。つまり、ディスクリプタが閉じていないとデータに触れることはできませんが、なぜファイル名をデータのあるメモリ領域に関連付けることはできませんか?

これについて私に教えてください。 Hackyコマンドラインソリューション、プラットフォーム/ファイルシステムに依存するC APIなどすべてを歓迎します。ただ知りたかったです。可能であれば何らかの方法でどこかで、そしてそうでない場合、知りたいなぜ

lsofインターネット検索はまったく役に立ちませんでしたが、私が見つけることができるのは、ファイルの使用方法と回復方法に関するコピーされた記事だけでしたcp

ベストアンサー1

おすすめ記事