我在php中测试Unlink以删除一些文件。 这些文件确实已被删除,我再也看不到了,但令人惊讶的是我的硬盘空间永远不会消失。
我想完全删除一个文件。
答案 0 :(得分:7)
文件有多大,你如何检查可用空间?如果取消链接到文件的LAST链接,则取消链接文件只会在驱动器上提供更多可用空间。请记住,在Unix系统上,单个文件可以存在于多个不同的位置,每个文件都有自己唯一的文件名 - 您甚至可以在SAME目录中多次显示单个文件。只有当删除了指向文件的最后一个链接时,文件才会被删除。
答案 1 :(得分:2)
unlink
从文件系统(man unlink)中删除名称。如果还释放空间,如果没有进程正在进一步使用文件处理程序 - 所以我的猜测是,某些进程仍然拥有处理程序(为了测试这个假设,也许你可以写一个命令行php脚本调用解释器只是为了它运行的时间)。
答案 2 :(得分:0)
如果文件大小可以忽略不计,您可能看不到任何大小更改。请放心,如果文件不再可见(并且未被隐藏),则它已被标记为删除,并且在文件占用旧空间后创建或修改的任何文件,因此会覆盖文件剩余的文件。
答案 3 :(得分:0)
有两件事需要考虑:
unlink
减少特定inode的引用计数。如果您在系统的其他位置有硬链接,则仍在使用存储。