Como @ridgy tão proveitosamente apontado nos comentários:
Contanto que o arquivo esteja em uso, ele não será realmente excluído, mas removido do diretório. O inode do arquivo ainda está em uso. Você pode encontrar o número do inode emitindo
lsof | grep vlc
; isso mostrará um arquivo sem nome e a mensagem (excluída). O número do inode é o número na frente disso. Você pode então vincular novamente o arquivo ao diretório comln <inode#> <filename>
.
E mais tarde:
O inode é 45 (o número na frente do caminho do arquivo). Mas acabei de perceber que não funciona em inodes (não consegui fazê-lo funcionar ..). Mas como você vê que o arquivo é usado por vlc, filedescriptor # 31 (veja 31r antes do REG), você pode fazer
cat /proc/2671/fd/31 > file_to_save
, que copiará o conteúdo para um novo arquivo. 2671 é o número do processo de vlc (número após vlc).
E, de fato, rodando
cat /proc/2671/fd/31 > file_to_save
pegou o arquivo e o armazenou no meu disco rígido. Obrigado!