PuTTY: geri kaydırma komut satırından temizle


27

Sunucuma PuTTY üzerinden bağlandığımda görünen ekranı clearkomutla silebilirim .

Bununla birlikte, eski şeyleri görmek için PuTTY'nin GUI'sinde hala geriye doğru gidebiliyorum. PuTTY'nin Clear Scrollback özelliğinin farkındayım ama bu fare tıklaması gerektiriyor.

Aynı "Scrollback Sil" işlemini aynı komut satırından yapmak istiyorum.

Mümkün mü?

Bu siteyi okudum , öyle görünüyor ki.

Ancak deneylerim başarısız oldu. Örneğin:

printf '\033[3J'

Benim için hiçbir şey yapmaz.

CSI 3 JYine de bu ikinci bağlantıdaki anlamını anlamıyor olabilirim .


Hangi PuTTY sürümünü kullanıyorsunuz? Sayfa, özelliğin PuTTY 0.59 ve üzeri sürümlerinde çalıştığını gösterir. PuTTY 0,60'ım var ve bu benim için çalışıyor. Yalnızca geri kaydırma arabelleğini temizlediğini, ekranı temizlemediğini unutmayın. (Ben aslında kaydırma, daha sonra bu sırayı kullanabileceği bir kaydırma çubuğu varsa, ben kaydırma için kullanılabilir bir şey aniden olmadığından kaydırma çubuğu malul fark Ama yerinde görüntülenmekte ekran kalır..)
Bavi_H

@Bavi_H: ah, teşekkür ederim - şu anda görüntülenen metni etkilemeyeceğinin farkında değildim. Ben de çalışıyor görüyorum. İstediğim tam çözüm clear && printf '\033[3J'. Cevap verirsen kabul edeceğim.
jwd

Yanıtlar:


32

CSI 3 JScrollback tampon temizlemek için dizi PuTTY 0.59 ilave edildi. ( Bu özellik için istek isteği sayfasında "sabitlenmiş" satırı görün veya PuTTY değişiklikler sayfasına gidin ve arayın CSI 3 J.)

Jwd'nin dediği gibi, bu sırayı PuTTY'ye printf '\033[3J'göndermek için bir komut satırına girebilirsiniz . Bunun yalnızca geri kaydırma arabelleğini temizlediğini, ekranı temizlemeyeceğini unutmayın. Kaydırma çubuğunuz varsa, gerçekte kaydırma yapabilirsiniz, sonra bu sırayı kullanın, kaydırma çubuğunun devre dışı kaldığını göreceksiniz, çünkü aniden kaydırılacak hiçbir şey yok. Ancak şu anda görüntülenen ekran yerinde kalır.

Jwd'nin dediği gibi, ekran ve kaydırma kaydırma arabelleğini kullanarak silebilirsiniz. clear && printf '\033[3J'


Ve kontrol kodları hakkında biraz okuma yapmak isteyenler için: xfree86.org/4.8.0/ctlseqs.html (: Bu, altındaCSI P s J
jwd

11

Benim gibi , PuTTY'nin sistem menüsünde Ctrl+Lbulunan Reset terminalseçenek için kullanmaya alışkınsanız, etkinleştirmeyi yararlı bulabilirsiniz Configuration -> Window -> Behavior -> "System menu appears on ALT-Space".

Ardından vurduğunuzda Alt+Space, seçeneği "Clear scrollback"tarafından tetiklenir L(küçük harf; Shift yok). Böylece, reset + clearbir tatlı-anımsatıcı bir kombinasyon olur Ctrl+Lve Alt+Space LKabuk tarihinin herhangi bir sinir bozucu mousing ve karışıklık olmadan.


Çalışır ve hatırlaması kolaydır :)
Wyrmwood

FYI olsa da fena değil: ayrıca bir komutu bir boşlukla önekleyerek kabuk geçmişinizin dağınıklığını önleyebilirsiniz.
jwd

6

Bir komut dosyası oluşturun ve yola dahil bir klasöre yerleştirin:

$cat > /usr/local/bin/cls
#!/bin/bash
clear
printf '\033[3J'

Kaydetmek ve çıkmak için CTRL + d tuşlarına basın.

Dosyadaki izni değiştir:

chmod a+x /usr/local/bin/cls

Şimdi cmd cls :-) kullanabilirsiniz


1

Benim için çözüm, '\ 033 \ 143' karakterini iletmekti:

Printf ( "\ 033 \ 143");

Bu, terminal ekranını temizler ve imleci sol üst köşeye geri getirir.


1
(1) Soru bir komut satırı (örneğin, kabuk) komutunu ister. Bu bir kabuk komutu değil, C kodunun bir satırı; Bu nedenle, bu sorunun cevabı değil. (2) Bu yazı, \143karakterin ne olduğunu ve ideal olarak alıntılarla bu soru ile nasıl ilişkili olduğunu söylerseniz biraz daha faydalı olacaktır .
Scott,

1
Merak edenler için bu, "tam sıfırlama" kaçış koduna ( ESC c) karşılık gelir. ASCII , sekizlik olan bir cdeğere 99sahiptir 143. Bu, geri kaydırma, ek olarak sadece FYI temizlemenin yanı sıra bir sürü başka şey yapacak.
jwd

1

Macunda, varsayılan kaydırma geri davranışının işaretini kaldırabileceğiniz bir seçenek var. Sadece "Silinen metni geri kaydırmaya it" seçeneğinin işaretini kaldırın.

Macun Ayarları resmi

Bundan sonra temizle komutunu verdiğinizde ekranı siler ve önceki ekran içeriklerini geri kaydırmaya koymaz.

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.