Bersihkan terminal saat proses aktif mengeluarkan konten

0

Katakanlah saya menjalankan skrip yang menghasilkan banyak konten. Setengah jalan saya ingin menghapus output sehingga jika saya gulir ke atas, saya hanya melihat output yang dibuat setelah titik itu.

Pada Terminal Mac OS X, saya hanya bisa menggunakan Command-K tetapi sepertinya tidak ada yang setara untuk terminal Ubuntu.

Inilah yang saya temukan:

  • clear && echo -en "\e[3]"mengirimkan reset dan menghapus seluruh jendela, tetapi itu mengharuskan saya untuk memiliki akses ke bash prompt
  • Control-L menghapus konten saat ini tetapi tampaknya tidak berfungsi saat proses sedang berjalan dan hanya menggulirkan jendela ke bawah dan tidak menghapus konten sebelumnya.

Saat ini saya menggunakan terminal default yang disertakan dengan instal Ubuntu subsistem Windows. Apakah ada perintah yang bisa saya kirim ke terminal yang mengatur ulang semuanya?

Atau, apakah ada terminal pihak ketiga yang mendukung ini - idealnya yang juga menawarkan keuntungan lain seperti tab dan penyalinan / menempel teks yang ditingkatkan?

Jordan Reiter
sumber
Apa yang Anda maksud dengan "terminal Ubuntu"? Apakah itu gnome-terminal? konsole? xterm? atau apa yang Anda lihat setelah Ctrl + Alt + F1? Bagaimanapun, setelah Anda menemukan berapa tty atau pts proses yang digunakan untuk output ( readlink /proc/<PID>/fd/1), Anda dapat melakukan seperti clear > /dev/pts/2dari konsol lain untuk mempengaruhinya. Ini adalah cara Unix di mana "semuanya adalah file"; Saya tidak tahu apakah sesuatu yang serupa bekerja di Subsistem Windows untuk Linux.
Kamil Maciorowski

Jawaban:

-1

Kedengarannya seperti masalah adalah bahwa beberapa perintah / script keluaran beberapa hal yang Anda tidak peduli tentang dan beberapa hal Anda tidak peduli.

Saya tidak cukup tahu tentang Windows untuk menjawab "Bagaimana menghapus sesi terminal dengan penekanan tombol" tetapi saya cukup tahu tentang linux secara umum untuk memberikan beberapa saran tentang "Bagaimana membuat keluaran lebih mudah dibaca."

Sudahkah Anda mempertimbangkan cara "standar linux" berikut untuk menyelesaikan masalah itu?

A) Mencatat output

your_command >> output.txt

Ini membuat output lebih permanen, Anda juga dapat membuat output1.txt, output2.txt, dll. Dan melihat apakah ada perubahan yang melakukan apa yang Anda inginkan.

The >>Operator di bash akan mengubah output dari perintah / script dari konsol ke file di mana direktori Anda bekerja di. (Anda juga dapat menentukan jalan jika Anda ingin suatu tempat tertentu)

Lebih baik lagi, jika Anda menulis atau dapat mengedit skrip, Anda dapat mengatur log in skrip untuk mengatur output ke file yang relevan dengan nama file yang dicentang waktu dll.

B) Perpipaan output

your_command | less

Ini lebih baik jika Anda tidak mengantisipasi perlu merujuk ke beberapa "versi" dari output, dan juga jangan berharap ingin mengetahui output nanti di masa depan.

Saat berada di program yang kurang, Anda dapat melompat ke teks yang Anda pedulikan. (Cari dalam waktu kurang dari /itu istilah pencarian Anda)

hiljusti
sumber