Tarihimin daha fazlasını Ekranda Linux'ta nasıl görebilirim?


54

Gece boyunca komut satırından komutlar çalıştırıyordum (bir Linux EC2 örneğindeki Ekranın içinde) ve izlemediğim bazı hatalar oluştu. Ekranda "yukarı kaydırmak" veya geçmişin daha fazlasını görüntülemek istiyorum, ancak işe yarayacak herhangi bir komut bulamıyorum.

Şu anki ekranımda gösterebileceğim ekran çıktısını "daha da yukarı" görmem gerekiyor. CTRL + a'nın beni Ekranın içindeki kaydırma moduna geçirmesi gerekiyor, ancak çalışmıyor.


history | less, more? Yoksa nasıl daha fazla tarih tutacağını mı soruyorsun?

historysadece komutları kabuk içinde ateşlenmiş halde tutacak. Daha fazla kütük kaydı yapmak istiyor

<Shift>+ <PgUp>tek seçenek. Ve bunun da bir sınırı var (sanırım en fazla 500 satır).
ssapkota

Şu anki ekranımda gösterebileceğim ekran çıktısını "daha da yukarı" görmem gerekiyor. CTRL + a'nın beni Ekranın içindeki kaydırma moduna sokması gerekiyor, ancak bu benim için çalışmıyor.
T. Brian Jones

1
Sadece Ctrl-abir screenbireyin kaçış. Ctrl-a [Opyate'ın dediği gibi, scrollback moduna geçmek için kullanılan tüm tuş dizisi olacaktır . Ctrl-a ESCAyrıca benim için çalışıyor, hangisinin standart / sık kullanılan olduğunu hatırlamıyorum.
ninjalj

Yanıtlar:


32

Ekranı başlattığınızda, scrollh arabellek boyutunu -h ile belirtebilir, böylece 100 satırın varsayılan değerinden artırabilirsiniz. Bununla birlikte, şu anda çalışan bir ekranda, veriler arabellekten ayrıldıktan sonra kaybolur.


3
Bu sadece düz yanlış. @Opyate tarafından cevap bir çözüm sağlar
nirvana-msu

6
@ nirvana-msu Geri kaydırma moduna girmek için ^ a kullanılması, geri kaydırma arabellekini sayfalandırmanıza izin verir. Veriler kaydırma geri alma arabelleğinden zaten alınmışsa, gitmiş demektir. Başlangıçta bu belleğin boyutunu artırabilirsiniz. Tam olarak cevabımın ne olduğunu düşünüyorsun? Scrollback tamponunun boyutunu artırmaktan bahsediyorum, opyate nasıl kullanılacağı hakkında ayrıntılı bilgi veriyor.
William Pursell,

2
Tamam, soru aslında kaydırma tamponunu genişletmekle ilgili değildi. Yazar, normalde konsolda gösterilenden daha fazla geçmiş görüntülemek istedi ve kullanarak daha fazla geçmişi de görüntüleyebilirsiniz Ctrl+a+[. Cevabınız sadece mümkün değil gibi görünüyor, bu da yanıltıcıdır.
nirvana-msu

Bu bir mac üzerinde çalışmıyor. Diğer cevaplar da işe yaramıyor.
Ben

76

Kaçış sıranızı geçersiz kılmadığınızı varsayarsak, Ctrl-a [geri sarma moduna geçmek için tuşuna basabilir , ardından normal Sayfa Yukarı / Sayfa Yukarı / Aşağı veya Ctrl-b / Ctrl-f düğmelerini kullanarak yukarı ve aşağı gidebilirsiniz.

Gönderen Ekran kullanıma Gentoo wiki


7
ve ESC, kaydırma modundan çıkmak için, IIRC
ninjalj

şimdi gentoo wiki: wiki.gentoo.org/wiki/Screen
Rmatt

ayrıca , fareyle çalışırken nasıl kaydırma yapılacağına dair bir yazı da görün .
Gönderi

2
Ctrl+ A, Escayrıca kopyalama / geri sarma moduna girer.
Serge Stroobandt

7

Komutlarınızı script, çıktıyı diske kaydedecek olan komutta da çalıştırabilirsiniz . Ya da: command 2>&1 | tee /tmp/cmd.outYapacaklarınız için gelecekteki araştırmalar için çıktıyı kaydetmek için (pratik olarak) sonsuz büyüklükte bir çıktı geçmişi istediniz.


Görevim için kullandığım şey bu. Harika çalışıyor. Teşekkürler.
T. Brian Jones

6

Şu anki ekranımda gösterebileceğim ekran çıktısını "daha da yukarı" görmem gerekiyor. CTRL + a'nın beni Ekranın içindeki kaydırma moduna geçirmesi gerekiyor, ancak çalışmıyor.

Diğer cevaplara ek olarak, ~/.screenrcdosyanızı ekleyebileceğinizi belirtirim :

defscrollback 100000
termcapinfo xterm ti@:te@

nerede:

  • defscrollback 100000: varsayılan kaydırma çizgisi sayısını 100000
  • termcapinfo xterm ti@:te@: xterm veya PuTTY'de terminalin kaydırılmasına izin verir. ( ekran SSS ; PuTTY SSS )

Mac üzerinde çalışmıyor. Cevapların hiçbiri burada çalışmıyor. Terminal penceresinin boyutunu hala görebiliyorum. Daha da ileri, sadece screenkomut ve ekrandan önce yaptığım şeyler. Ben de screen -haynı sonucu denedim . Herhangi bir fikir?
Ben

@ Üzgünüm hiçbir fikrim yok, sadece Ubuntu'da denedim.
Franck Dernoncourt

1
Ah, control+ ile çalışır ave sonra ESCimleçle metnin içinde kaydırma yapabilirim. İşe yaramaz, yan taraftaki Mac Terminal kaydırıcılarını kullanarak fareyle kaydırma yapmak. Teşekkürler!
Ben

5

Ayrıca, geçmiş bir geri alma geçmişini sırayla CTRL-a :(ekran komut satırı moduna girerek) sırayla değiştirebilir , ardından scrollback 1000010k satırlık tarih arabelleği isterseniz. Değişiklik hemen uygulanır.

Çok uzun arabellek içeren birçok ekran kullanıyorsanız, bellek kullanımına dikkat edin.

Bununla birlikte, @William Pursell'in dediği gibi, şu anda çalışan bir ekranla, veriler arabellekten ayrıldıktan sonra kaybolur.


0

Hangi terminal programını kullandığınıza bağlı olarak, genellikle Ayarlar altındaki Kaydırma Tamponunu değiştirebilirsiniz. xtermÖnce Kaydırma özelliğini etkinleştirmeniz gerektiğini biliyorum , sonra arabellek sınırını ayarlayabilirsiniz.

Ancak, günlük komut dosyaları için en iyi bahis, standart çıktıyı bir dosyaya yeniden yönlendirmek olacaktır:

ScriptName >> OutputFile.txt

Bu şekilde yaparak, kaydı tutabileceğiniz gibi serbestçe kaydırabilir ve arama yapabilirsiniz (örneğin, bilgisayarınızın çökmesi durumunda).

EDIT: Bu yukarıdaki borulama çözümüne yakındır, ancak standart girişi yeniden yönlendirmek diğer durumlarda da yararlı olabilir:

grep linux stackoverflow.txt > linuxquestions.txt

veya

cat linuxquestions.txt | grep buffersize > bufferquestions.txt

Not Do screen(1)vermez izin terminali kaydırma. Hem ana özelliklerinden biri hem de ana dezavantajlarından biri.
sarnold

@sarnold Terminal kaydırmaya izin vermek mümkündür, bkz. superuser.com/a/1336554/116475
Franck Dernoncourt

0

Bir macOS Terminali kullanarak Metin geçmişini görmek için kenarlardaki sürgüleri kullanamadım.

Ben kullanarak metni içinde imleç kaydırma başardı ve sonra vurmak CRTL+ asonra ve ESC.

Ve bunu ~/.screenrcpencerenin içinden kaydırmayı etkinleştirmek için eklemek zorunda kaldım (hala kaydırma çubuklarında değil):

termcapinfo xterm* ti@:te@
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.