我可以在Shift-Delete后继续播放video。 关闭播放器时是否释放了磁盘空间?

我注意到我实际上可以Shift-Delete(即不会去垃圾箱)正在播放的video,并且它仍然继续播放,即使在nautilusls没有命名引用它(终端) )。

播放器完成video后,磁盘空间是否正常释放?

我认为这是正常的行为,但对我来说这肯定是一种新的体验(因为这在Windows中根本不可能)。

虽然您已将其删除,但该文件仍在使用中,因为您已在播放器中打开该文件。 关闭媒体播放器后,它将释放文件数据的句柄,因此将被删除。

您可以使用lsof命令validation这一点,该命令列出了打开的文件。 如果你运行lsof,你的电影文件应该被播放器列为开放,但它旁边会有“DEL”,这意味着它已被删除,即使它仍处于打开状态。

这实际上是一个有用的东西,并且意味着您可以实际恢复已删除的打开文件,尽管这可能最好留给另一个问题:)

它的出现是因为(据我所知)文件由数据本身组成,并处理(文件系统中的位置)文件。 通常,您只有一个文件句柄,但您可以使用ln命令创建其他文件以创建硬链接。 这会创建一个看似相同的文件副本但实际上只是添加另一个句柄 – 所以你没有使用两倍的磁盘空间。 您可以通过查看两个文件的inode来检查这一点 – 这会告诉您数据的实际位置。

所以例如在终端窗口中:

ln existing_movie.avi movie_hardlink.avi

ls -i

ls的-i参数显示文件的inode信息 – 它们应该相同。

当您删除其中一个文件时,数据将保留,因为另一个仍保留inode的句柄。 删除第二个文件后,inode没有剩余的句柄/引用,因此被删除/标记为未使用的空间。 这与您的播放器打开电影的情况类似,只是此处的第二个句柄位于正在运行的程序中,而不是文件系统中的第二个文件。

阅读http://linuxgazette.net/105/pitcher.html ,您将了解原因(并了解硬链接和软链接之间的区别)