Di bawah shell UNIX, bagaimana saya bisa mendapatkan efek yang mirip dengan watch
perintah, tetapi dengan paging sehingga saya bisa melihat-lihat hasilnya jika membutuhkan lebih dari satu layar?
Dengan kata lain, saya ingin program yang untuk watch
apa less
adalah untuk cat
.
Sebagai contoh, katakanlah saya ingin menonton output dari qstat
, saya bisa menggunakan
watch qstat
untuk menonton output dari qstat, tetapi ini hanya dapat menunjukkan layar penuh pertama.
Dengan versi paging watch
, saya akan dapat bergerak dalam output karena masih terus diperbarui oleh watch
. Apakah ada cara untuk melakukan ini saat ini dengan utilitas yang ada?
less
saat Anda hanya dapat menggunakancat
dan jendela yang lebih besar?Jawaban:
Daripada mengubah perintah 'menonton', gunakan layar!
Sebagai contoh, katakanlah Anda harus dapat melihat 300 garis ketinggian dan 100 karakter lebar dan bergerak di sekitar itu. Setelah memulai layar, paksa ukuran demikian:
Sekarang mulai perintah arloji Anda. Anda kemudian dapat menggunakan
C-a <ESC>
untuk halaman di sekitar tampilan.Sayangnya, tampilan tidak menyegarkan saat dalam mode salin. Tetapi jika Anda ingin menyesuaikan bagian mana dari jendela yang sedang Anda lihat, cara termudah adalah dengan menjalankan kembali perintah tinggi / lebar karena secara default terminal Anda menunjukkan bagian kanan bawah dari jendela virtual.
sumber
C-
aliasctrl-
Anda dapat mencoba ini:
sementara vmstat; tidurlah 1; selesai | kurang
ganti vmstat dengan qstat dan sesuaikan tidur dengan kebutuhan Anda
sumber
less
, yang berarti bahwa Anda harus terus bergulir untuk melihat keluaran terbaru.Multitail: http://www.vanheusden.com/multitail/
Contoh:
Gulir kembali dengan menekan 'b' dan halaman / panah atas / bawah.
sumber
OK, saya sudah sedikit pergi ke suatu
watchless
fungsi. Agak kasar, dan sepertinya belum berfungsi sepenuhnya, tapi begini:Anda harus menggunakan
R
kunci secara manual kurang untuk mendapatkan tampilan untuk memperbarui.Tampaknya berfungsi untuk
watchless date
tetapi tidak untukwatchless qstat
atauwatchless pstree
, yang keduanya menunjukkan kosong. Ada ide?sumber
mv
file kedua ini untuk file dibaca olehless
sepertimv
atom. Kalau tidak,less
bisa berpikir bahwa file telah hilang jika refresh diminta pada saat yang sama dengan file sedang ditulis"$@" > $out
. Anda juga harus menulis ke file output satu kali sebelum memulai loop.Saya tidak melihat bagaimana ini bisa diterapkan ketika konten baris berubah, dan
watch
akan mengatur ulang kembali ke baris pertama setiap 2 detik bahkan jika Anda dapat menggulir ke bawah.Beberapa solusi adalah:
watch 'qstat | tail -n40'
untuk menampilkan output qstat mulai dari garis ke-40 dari bawahwatch 'qstat | grep jsmith'
untuk menangkap output sehingga garis yang Anda minati selalu di layar pertama.Perhatikan bahwa Anda perlu menempatkan perintah di sekitar pipa dalam tanda kutip tunggal - jika tidak, Anda akan memipipkan output
watch
, bukan outputqstat
.sumber
Untuk melanjutkan jawaban enkrs,
tonton 'qstat | kepala -300 | ekor -15 '
akan membuat Anda halaman sewenang-wenang ke output qstat.
sumber
Berikut ini skrip agak kasar yang tampaknya berfungsi untuk beberapa perintah yang saya berikan
Digunakan seperti itu:
Menjadi agak bertele-tele, transisi antara penyegaran tidak semulus yang saya inginkan. Tentu saja, menjadi skrip sederhana tidak mendukung highlight dari diff (watch -d). Selain itu, penguraian argumen input dapat dilakukan dengan lebih baik.
sumber
Bagaimana dengan: tail -f
sumber
Saya menerapkan skrip python sederhana untuk memenuhi permintaan ini, bernama "watchall"
dapatkan dengan: pip install watchall
ganti arloji dengan arloji dan nikmati layar yang dapat digulir. sekarang hanya mendukung flag -n dan -d.
sumber
Anda dapat mencoba:
maka dalam file Anda, Anda akan melihat output appendend (Saya tidak punya kotak linux rigth sekarang untuk menguji ini)
sumber
file
dengan output yang sama berulang-ulang. Ini tentu tidak menjawab pertanyaan awal.