Linuxでハードディスクを要求せずにファイルが存在するかどうかを確認することは可能ですか?

StackOverflow https://stackoverflow.com/questions/8886042

  •  29-10-2019
  •  | 
  •  

質問

これは私の最初の投稿です。

ファイルが存在するかどうかを確認したいが、ハードディスクは使用せずに。たとえば、このコードをご覧ください。

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

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

私が知る限り、Ext4はファイルシステムをジャーナリングしています。それは、スクリプトがitジャーナルを調べてファイルが存在するかどうかを確認できることを意味します。これは、ハードディスクに触れることなくメインメモリですか?

御時間ありがとうございます。

upd。

メインメモリにハードディスクのジャーナルを保持するファイルシステムはありますか?そのため、ファイルの存在はハードディスクにアクセスせずに実行できますか?

役に立ちましたか?

解決

ジャーナルは(a)ディスク上に存在し、(b)別の問題を完全に解決します。

このような電話をかけると、カーネルはファイルシステムに尋ねます。ファイル構造の必要なブロックがメモリにキャッシュされている場合、ディスクにアクセスしません。そうでない場合、そうします。

他のヒント

いいえ。ファイルシステムジャーナルは完全にメモリに保持されるわけではなく、いずれにしてもファイルシステム内のすべてのメタデータが含まれているわけではありません。汚れたアンマウントから回復するためのツールとしてのみ使用されています。

少なくともハードディスクにアクセスして、そこにあるかどうかを確認する必要があります。実際にファイルを開きますか?そうではないと思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top