Anda menggambarkan tail
utilitas GNU . Perbedaan antara kedua flag ini adalah jika saya membuka file, file log misalnya, seperti ini:
$ tail -f /var/log/messages
... dan jika fasilitas rotasi log pada mesin saya memutuskan untuk memutar file log itu ketika saya sedang menonton pesan yang ditulis padanya ("rotate" berarti menghapus atau pindah ke lokasi lain dll.), output yang saya lihat hanya akan berhenti.
Jika saya membuka file dengan tail
seperti ini:
$ tail -F /var/log/messages
... dan sekali lagi, file diputar, output akan terus mengalir di konsol saya karena tail
akan membuka kembali file segera setelah tersedia lagi, yaitu ketika program menulis ke log mulai menulis ke yang baru /var/log/messages
.
Pada sistem BSD gratis, tidak ada -F
pilihan, tetapi tail -f
akan berperilaku seperti tail -F
halnya pada sistem GNU, dengan perbedaan bahwa Anda mendapatkan pesan
tail: file has been replaced, reopening.
dalam output ketika file yang Anda pantau menghilang dan muncul kembali.
ANDA BISA MENGUJI INI
Dalam satu sesi shell, lakukan
$ cat >myfile
Itu sekarang akan menunggu Anda untuk mengetik. Silakan saja dan ketik beberapa omong kosong, beberapa baris. Itu semua akan disimpan ke dalam file myfile
.
Di sesi shell lain (mungkin di terminal lain, tanpa mengganggucat
):
$ tail -f myfile
Ini akan menampilkan (akhir dari) konten myfile
di konsol. Jika Anda kembali ke sesi shell pertama dan mengetik sesuatu yang lebih, output yang akan segera ditampilkan tail
di sesi shell kedua.
Sekarang berhenti cat
dengan menekan Ctrl+D, dan menghapus yang myfile
berkas:
$ rm myfile
Kemudian jalankan kucing lagi:
$ cat >myfile
... dan ketik sesuatu, beberapa baris.
Dengan GNU tail
, baris-baris ini tidak akan muncul di sesi shell kedua (di mana tail -f
masih berjalan).
Ulangi latihan dengan tail -F
dan amati perbedaannya.