Php 取消链接功能不释放磁盘空间

Php 取消链接功能不释放磁盘空间,php,destroy,delete-file,unlink,Php,Destroy,Delete File,Unlink,我正在用php测试取消链接以删除一些文件。 这些文件确实被删除了,我再也看不到它们了,但令人惊讶的是,我的硬盘空间从未减少 我想完全删除一个文件。文件有多大,您如何检查可用空间?如果取消链接文件的最后一个链接,则取消链接文件只会在驱动器上腾出更多可用空间。请记住,在Unix系统上,单个文件可以存在于多个不同的位置,每个位置都有其唯一的文件名—您甚至可以在同一目录中多次显示单个文件。只有当指向该文件的最后一个链接被删除时,该文件才会真正被删除。取消链接从文件系统中删除一个名称()。If还释放了空间

我正在用php测试取消链接以删除一些文件。 这些文件确实被删除了,我再也看不到它们了,但令人惊讶的是,我的硬盘空间从未减少


我想完全删除一个文件。

文件有多大,您如何检查可用空间?如果取消链接文件的最后一个链接,则取消链接文件只会在驱动器上腾出更多可用空间。请记住,在Unix系统上,单个文件可以存在于多个不同的位置,每个位置都有其唯一的文件名—您甚至可以在同一目录中多次显示单个文件。只有当指向该文件的最后一个链接被删除时,该文件才会真正被删除。

取消链接
从文件系统中删除一个名称()。If还释放了空间,如果没有进程进一步使用文件处理程序,那么我的猜测是,某些进程仍然拥有该处理程序(为了验证这一假设,您可以编写一个命令行php脚本,在解释器运行时调用它)。

如果文件大小可以忽略不计,您可能看不到任何大小更改。请放心,如果某个文件不再可见(且未隐藏),则该文件已被标记为删除,并且在该文件占用旧空间后创建或修改的任何文件都可能会覆盖该文件的剩余部分。

有两件事需要考虑:

  • 取消链接
    减少特定inode的引用计数。如果系统上的其他位置有硬链接,则存储仍在使用中
  • 任何打开文件的程序都会阻止释放空间,即使文件不再列在磁盘上

如果磁盘上的所有名称/链接都已删除,但文件在运行过程中仍处于打开状态-磁盘空间也未释放,则在添加文件并删除最后一个文件后,我会检查硬盘驱动器号。(头像)结果=22 827 433 984 | 22 827 446 272 | 22 827 450 224 | 22 827 474 944 | 22 827 495 424(字节),所以它只是在不断增长;james别忘了系统中还有其他事情在进行,比如,井日志文件将继续增长。这个答案是正确的。无论操作系统如何,删除文件都只是将其取消链接,或者更确切地说是删除文件的引用/链接。文件的位会一直保留,直到被另一个文件覆盖,这就是为什么您可以恢复假定已删除的文件。如果您的操作系统报告空间仍在使用,则操作系统可能只需要刷新文件浏览器。如果使用windows转到菜单(如果菜单隐藏,则按Alt键),选择查看,然后刷新。