Est-il possible de vérifier si un fichier existe sans faire de requête sur le disque dur sous Linux?

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

  •  29-10-2019
  •  | 
  •  

Question

Ceci est mon premier message ici.

Je veux vérifier si un fichier existe mais sans utiliser de disque dur.Par exemple, regardez ce code:

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

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

Autant que je sache, ext4 est un système de fichiers journalisé.Cela signifie-t-il que le script peut vérifier si le fichier existe en regardant dans son journal, c'est-à-dire dans la mémoire principale sans toucher au disque dur?

Merci pour votre temps.

<₹UPD.

Existe-t-il un système de fichiers qui garde le journal du disque dur dans la mémoire principale, de sorte que l'opération du fichier existe peut être effectuée sans accéder au disque dur?

Était-ce utile?

La solution

Le journal (A) vit sur le disque, et (b) résout un autre problème entièrement.

Lorsque vous faites un appel comme celui-ci, le noyau demandera au système de fichiers.Si les blocs nécessaires de la structure de fichier sont mis en cache en mémoire, il n'accumule pas le disque.S'ils ne sont pas, ce sera.

Autres conseils

non.Un journal de fichier de fichiers n'est pas entièrement maintenu en mémoire et, en tout état de cause, ne contient pas toutes les métadonnées du système de fichiers.Il est uniquement utilisé comme outil pour rendre la récupération d'un démon impuré plus rapidement.

Il devra au moins accéder au disque dur pour voir s'il y est.Maintenant en train d'ouvrir le fichier?Je pense que non.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top