GNU tail
yardımcı programını açıklarsınız. Bu iki bayrak arasındaki fark, bir dosyayı açarsam, örneğin bir günlük dosyasını şöyle yapar:
$ tail -f /var/log/messages
... ve makinemdeki günlük döndürme özelliği, kendisine yazılan mesajları izlerken bu günlük dosyasını döndürmeye karar verirse ("döndür", silme veya başka bir yere gitme vb. anlamına gelir), gördüğüm çıktı tam olarak Dur.
Dosyayı şöyle açsam tail
:
$ tail -F /var/log/messages
... ve yine, dosya döndürülür, çıktı konsolumda akmaya devam eder, çünkü tail
dosyayı tekrar kullanılabilir hale gelir gelmez yeniden açar , örn. günlüğe yazmaya program yazarken yenisiyle yazmaya başlar /var/log/messages
.
Ücretsiz BSD sistemlerinde, -F
seçenek yoktur ancak mesajı aldığınız farkla GNU sistemlerinde olduğu tail -f
gibi davranır.tail -F
tail: file has been replaced, reopening.
Çıktıda, izlemekte olduğunuz dosya kaybolur ve yeniden görünür.
BU TEST YAPABİLİRSİNİZ
Bir kabuk oturumunda
$ cat >myfile
Şimdi bir şeyler yazmanı bekleyecek. Sadece devam edin ve biraz saçma, birkaç satır yazın. Hepsi dosyaya kaydedilecektir myfile
.
Başka bir kabuk oturumunda (belki başka bir terminalde, kesintiye uğramadancat
):
$ tail -f myfile
Bu myfile
, konsolun içeriğini (sonunu) gösterecektir . İlk kabuk oturumuna geri dönüp bir şey daha yazarsanız, bu çıktı hemen tail
ikinci kabuk oturumunda gösterilir.
Şimdi çıkın cat
basarak Ctrl+Dve kaldırmakmyfile
dosyayı:
$ rm myfile
Ardından kediyi tekrar çalıştırın:
$ cat >myfile
... ve bir şeyler yazın, birkaç satır.
GNU ile tail
, bu çizgiler olacak değil (burada ikinci kabuk oturumunda göstermek tail -f
hala çalışıyor).
Egzersizi tekrarlayın tail -F
ve farkı gözlemleyin.