这种情况经常发生。我删除了目录,rm -rf
但发现它仍在 VS Code 等应用程序中打开。
我担心的是,这是否会导致某些文件夹被复制,以便 VS Code 仍然可以在打开的文件上操作。如果是这种情况,关闭应用程序后,我是否需要找到这些重复的副本并将其删除?
提前致谢。
答案1
在大多数操作系统中,文件名和文件数据之间存在差异。
文件名位于分区的文件表中,指向磁盘上的文件数据。打开文件实际上只是获取指向数据的指针。
操作系统会计算文件数据的连接数,当引用数变为零时,操作系统就会删除它。
打开文件后,将有两个对数据的引用,一个来自文件表,一个来自程序。
如果您随后删除文件名,则引用数将减少一个。但仍然会保留打开该文件的程序的引用。
当程序稍后关闭文件(或终止)时,引用的数量变为零,因此文件数据最终被释放成为可用空间。
总之,您不需要做任何事情 - 操作系统会为您完成所有必要的簿记,因此一切都是自动的。
当文件在 VS Code 中打开时,如果您删除了文件名,然后想要返回并撤消删除,您可以从 VS Code 将文件保存回其原始名称。
答案2
该应用程序只是将其保存在 RAM 中。除非您尝试保存它,否则它不会发现。