tail -f non segue le modifiche ai file

Recentemente ho cercato di usare il tail -f per monitorare alcuni file di text come il seguente: tail -f /var/sometext Tuttavia, quando ho fatto alcuni test, non sembra funzionare. Quello che ho fatto è che ho creato un nuovo file e ho eseguito: tail -f /home/name/text Allora, ho aperto il log in vim e ho fatto qualche modifica, lo ho salvato e sembra che la coda non "veda" il cambiamento.

La cosa strana è che l'esecuzione di echo "hello" >> /home/name/text sembra funzionare bene (la coda vede il cambiamento). Ho letto da qualche parte che questo ha qualcosa a che fare con descrittori di file e nuovi inodes creati quando si salva un file. Può qualcuno spiegare questo per me? Non ho capito come funziona effettivamente, ma ho un'idea di quali sono i descrittori dei file. Grazie!

-f segue da inode. Se si desidera seguire per nome, ad esempio quando un programma ricrea completamente il file, utilizzare invece -F .

tail -f guarda la fine del file e quando la fine del file si sposta, printing il nuovo contenuto e attende la fine del file per spostarsi di nuovo. In altre parole, le modifiche apportte al centro del documento non verranno trovate dalla coda -f, solo appendendo.

In realtà, la vera storia è:

tail -f monitora la memory, non il disco. Ma non può accedere a memory protetta, ad esempio le modifiche a un file aperto di un editor di text.