是否可以检查文件是否存在而不向Linux中的硬盘发出请求?

时间:2012-01-16 20:45:44

标签: linux ext3 ext4

这是我在这里的第一篇文章。

我想检查文件是否存在但不使用硬盘。例如,看看这段代码:

<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
    echo "The file $filename exists";
} else {
    echo "The file $filename does not exist";
}
?>

据我所知,ext4是日志文件系统。这是否意味着脚本可以通过查看日志来检查文件是否存在,即主内存而不触及硬盘?

感谢您的时间。

UPD。

是否有任何文件系统将硬盘的日志保存在主内存中,以便文件存在的操作可以在不访问硬盘的情况下完成?

3 个答案:

答案 0 :(得分:5)

期刊(a)存在于磁盘上,(b)完全解决了另一个问题。

当你这样打电话时,内核会询问文件系统。如果文件结构的必要块缓存在内存中,它将无法访问磁盘。如果他们不是,那就会。

答案 1 :(得分:1)

没有。文件系统日志不完全保存在内存中,并且在任何情况下都不包含文件系统中的所有元数据。它仅用作从不干净的卸载中恢复的工具。

答案 2 :(得分:-1)

它必须至少访问硬盘以查看它是否存在。现在实际打开文件?我想不会。