在程序中编辑文件时移动文件时如何避免文件丢失?

在程序中编辑文件时移动文件时如何避免文件丢失?

考虑以下操作顺序:

  • 我指示一个程序打开一个文件,
  • (我在程序中修改了文件,并保存到文件中。)
  • mv把文件放在别处。比如文件本来是dir1/dir2/dir3/all.pdf,然后我跑了mv dir1/dir2/dir3 dir1/; rmdir dir1/dir2.现在文件是dir1/dir3/all.pdf.
  • 我修改程序中的文件
  • 我指示程序通过“另存为...”将修改后的内容保存到文件的新位置。

文件移动的“另存为...”成功还是失败取决于程序?例如,

当另一个程序移动文件时,程序需要做什么才能成功保存对文件的更改(保存到新位置或原始位置)?

操作系统或文件系统是否无法警告或阻止此类情况的发生?

在这种情况下,无论使用哪种程序、操作系统或文件系统,我们可以采取哪些措施来避免或减少数据丢失的可能性?

谢谢。

答案1

Linux 本机程序是否可以“另存为...”失败并丢失文件,或者“另存为...”失败并保持文件完整,或者“另存为...”成功?

在 GNU/Linux 中,如果一个文件被任何程序打开,它就会被加载到内存中。如果您移动甚至删除了磁盘中的文件,它仍然会在内存中。当你再次保存它时,它会再次从内存保存到磁盘。有些程序甚至会通知您有关删除的信息并提示您另存为或者忽略,例如kate。其他操作系统或仿真软件的这种行为有所不同。

要获得有关 GNU/Linux 中如何工作的更多技术知识,请阅读

相关内容