Traga de volta um arquivo excluído sem copiar seu conteúdo

Traga de volta um arquivo excluído sem copiar seu conteúdo

Contanto que haja um descritor de arquivo aberto apontando para um arquivo, posso trazê-lo de volta assim cp:

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

Esta solução funciona bem com arquivos pequenos, mas é muito lenta com arquivos maiores (como> 5GiB). Então eu me pergunto: existe uma maneira de trazê-lo de volta sem copiar o conteúdo? Quero dizer, os dados permanecem intactos, a menos que o descritor esteja fechado, então por que não deveria ser possível vincular um nome de arquivo à área de memória onde os dados residem?

Por favor, me esclareça sobre isso. Uma solução de linha de comando hackeada, uma API C dependente de plataforma/sistema de arquivos, etc., tudo é bem-vindo; Eu só quero saberse isso for possívelde alguma forma em algum lugar, ese não, Eu quero saberpor que.

Pesquisar no Google não ajudou em nada, tudo que consegui encontrar foram artigos copiados sobre como restaurar arquivos com lsofe cp.

informação relacionada