Kuyruk -f` daha az + F`dan daha mı verimli?


34

Bu makale kullanmak için bazı nedenler işaret less +Füzerinde tail -f. Sebeplerin çoğu , teknik nedenlerle değil , özelliklerle ilgilidir : vurgulayabilir, arayabilir, dosyada gezinebilir.less +F

Teknik sebeplerden ne haber ?

AFAIK, lessdosyayı güncellemek için her saniyede bir sorgulama kullanır tail, POSIX tarafından tanımlandığı gibi 1 saniye uyuyan bir döngü kullanır ve kullanılabilir tüm baytları kopyalar. Bu yeterlidir ancak POSIX, daha verimli bir yöntem kullanmak için uygulamayı teşvik etmiştir. En azından GNU kuyruğu kullanımı inotify , bu yüzden daha verimli.

less Ayrıca dosya içeriğini bellekte tutar, bu nedenle birkaç gigabayt gibi büyük dosyalarla bilgisayarınızı yavaşlatabilir.

Peki, kullanmak için başka teknik nedenler tail -fvar less +Fmı?

Yanıtlar:


37

Ana noktayı ele aldığınızı düşünüyorum: less +Fbütün dosyayı okur, birçok sistemde tail -fsadece dosyanın sonunu okur ve hatta tüm dosyayı okuduğu sistemlerde bile, en azından tüm dosyayı tutmaz bellekte. Bu less +Fçok büyük dosyalar için pratik değildir. Bununla birlikte, satır numaralarını görüntülememek pahasına, yalnızca dosyanın sonunu okumaya less -n +Fneden olan çalıştırmayı çalıştırabilirsiniz less.

Kaputun altında, aralarında less -n +Fve tail -f, temel fark olduğunu tailoysa anında yeni verileri görüntülemesini sağlayan bazı platformlarda dosya değişikliği bildirimi hizmeti (örneğin Inotify Linux üzerinde), kullanır lessyeni verileri görüntülemek için 1 saniye kadar sürebilir çünkü bir döngüdeki yeni verileri kontrol eder ve kontroller arasında uyur.

Arasındaki bir diğer fark less +Fve tail -folmasıdır lessonun giriş filtresi çağırmak, ancak genellikle günlük dosyaları üzerinde herhangi bir etkisi olmayacaktır.

Bunun lehine olan teknik bir fark less +F, ekran genişliğindeki çizgileri -Sseçenekle kısaltabilmenizdir, oysa tailne kadar olursa olsun tüm çizgiyi göstermekten başka seçenek yoktur.

Arayüz bilge, kullanmanın pek bir avantajı yok less. tail -fbir şey olduğunda farkına varmak faydalıdır. Hatta arka planda çalıştırabilirsiniz. Bir şey olursa ve dosyaya daha ayrıntılı bakmak isterseniz, dosyayı lessbaşka bir terminalde açabilirsiniz .

Eğer birden fazla dosya izlemek istiyorsanız, multitail gitmek yoludur. Tek bir dosya için bile, çoklu görev filtreleme ve renklendirme gibi ek şık özelliklere sahiptir.


Çok büyük bir dosyada, 'less -n 99.99p + F' dosyası daha az dosyanın tamamını okumayı engeller mi?
cuonglm

1
@ cuonglm Ah, doğru. Sadece less -nyeter, o zaman baştan sona ve geriye okula gitme stratejisini daha az kullanır.
Gilles 'SO- kötülük' dur
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.