È possibile verificare se esiste un file senza fare una richiesta al disco rigido in Linux?

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

  •  29-10-2019
  •  | 
  •  

Domanda

Questo è il mio primo post qui.

Voglio verificare se esiste un file ma senza usare il disco rigido. Ad esempio, guarda questo codice:

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

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

Per quanto ne so, Ext4 è il file system di journal. Significa che lo script può verificare se il file esiste guardando nel giornale, questa è la memoria principale senza toccare il disco rigido?

Grazie per il tuo tempo.

Aggiorna.

Esiste un filesystem che mantiene il diario del disco rigido nella memoria principale, in modo che esista il funzionamento del file senza accedere al disco rigido?

È stato utile?

Soluzione

Il Journal (A) vive sul disco e (b) risolve completamente un altro problema.

Quando effettui una chiamata in questo modo, il kernel chiederà al file system. Se i blocchi necessari della struttura del file vengono memorizzati nella memoria, non accederanno al disco. In caso contrario, lo farà.

Altri suggerimenti

No. Un diario del filesystem non è tenuto interamente in memoria e in ogni caso non contiene tutti i metadati nel file system. Viene utilizzato esclusivamente come strumento per rendere più veloce il recupero da un disturbo impuro.

Dovrà almeno accedere al disco rigido per vedere se è lì. Ora aprirà effettivamente il file? Penserei di no.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top