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