Pet*_*r.O 6 filesystem delete disk-management
我注意到我实际上可以 Shift-Delete(即不转到垃圾箱)当前正在播放的视频,并且它仍然继续播放,即使在nautilusor ls(终端)中没有对它的命名引用。
播放器播放完视频后,磁盘空间是否正常释放?
我认为这是正常行为,但这对我来说肯定是一种新体验(因为这在 Windows 中根本不可能)。
尽管您已将其删除,但该文件仍在使用中,因为您已在播放器中打开它。关闭媒体播放器后,它将释放其对文件数据的句柄,因此将被删除。
您可以使用lsof列出打开文件的命令来验证这一点。如果你运行 lsof,你的电影文件应该被列为播放器打开,但它旁边会有“DEL”,这意味着它已经被删除,即使它仍然打开。
这实际上都是一件有用的事情,意味着您实际上可以恢复已删除的打开文件,尽管这可能最好留给另一个问题:)
这是因为(据我所知)文件由数据本身组成,并处理(在文件系统中的位置)文件。通常,您只有一个文件句柄,但您可以使用ln创建硬链接的命令创建其他句柄。这会创建看起来与您的文件相同的副本,但实际上只是添加了另一个句柄 - 因此您没有使用两倍的磁盘空间。您可以通过查看两个文件的 inode 来检查这一点 - 这会告诉您数据的实际位置。
例如在终端窗口中:
ln existing_movie.avi movie_hardlink.avi
ls -i
ls 的 -i 参数显示文件的 inode 信息 - 它们应该相同。
当您删除其中一个文件时,数据仍将保留,因为另一个文件仍保留指向 inode 的句柄。删除第二个文件后,inode 没有剩余的句柄/引用,因此被删除/标记为未使用的空间。这与您的播放器打开电影的情况直接类似,不同之处在于这里的第二个句柄位于正在运行的程序中,而不是文件系统中的第二个文件。