Geçerli terminal kaydırma kaydedildi dosyaya kaydedilsin mi?


24

Bunun cevabını arıyordum ve bunun mümkün olmadığını düşündüren bir şey bulamıyorum ama ...

Geçerli Gnome Terminali geri kaydırma tampon belleğini bir dosyaya kaydetmek mümkün müdür?

command > output.txtTüm çıktıları bir dosyaya yönlendirmek veya command | tee output.txtçıktıyı bir dosyaya olduğu kadar uçbirime bölmek gibi bir şey yapabileceğimi biliyorum . Yapmaya çalıştığım şey bundan sonra yakalamak. Geçerli terminal sekmesinin kaydırma içeriğini bir dosyaya kaydetmek istiyorum.


kittybunu yapabilen bir terminal programdır, ne yazık ki fontlar korkunç görünüyor (alt piksel oluşturma yok)
jberryman

Sağol, Jberryman. Bilmek güzel.
Karl Wilbur

Yanıtlar:


37

Biraz oynadıktan sonra yapabileceğinizi keşfettim:

  • triple-click son satır
  • isabet shift + home
  • shift + click İlk satır
  • ile kopyala ctrl + shift + c(veya right-click> 'Kopyala')

Şimdi bir metin dosyasına yapıştırın ... veya, kullanarak xselyeni bir sekme açıp aşağıdakileri yaparak panonuzu yeni bir dosyaya aktarabilirsiniz:

xsel -o > out.txt

(Yüklemek xseliçin sudo apt-get install xsel)


5
Vurgulama daha kolay yapılabilir: Edit-> Select All.
egmont

3
Eğer kullanabilirsiniz fark yapar çünkü bu büyük bir cevaptır triple-click the last lineve shift + home or the scrollbarsen çıkış başlangıcı için tam olarak istediğiniz yere gidin.
Şef Firavun

2
Uyarı: Bunu, X'i (başıma gelebilir) asabileceği için büyük bir scollback (birçok megabayt) ile denemeyin.
Kevin Cox

Birçok megabayt ile yavaş işlem bekleniyor. Sabırlı olun ve bilgisayarın çalışmasına izin verin. "Bir saniye ver! Uzaya gidiyor! Uzaydan geri dönmek için bir saniye verebilir misin ?!"
Karl Wilbur

Çıkışı yakalamak için Edit-> Select Allyöntemini kullanarak büyük bir scrollback (bir kaç 2 TB sürücüyü bir gecede yedeklemekten rsync çıkışı) kopyalamaya çalıştım . 25-30 dakika oldu ve Gnome Terminali hala kilitli. Byobu'yu kullanarak topGnome Terminal'in hala çalıştığını görmeye başladım (CPU süresini artırarak); şu anda 4,176 g RAM kullanıyor ve yavaşça tırmanıyor. Yani, evet, çok büyük bir kaydırma ile, biraz zaman alacak. X hala çalışıyor (ve Chrome, YouTube, Nautilus, Byobu, vb.) Ancak Gnome Terminali bir dakikaya ihtiyaç duyacak. Daha iyi planlamalıydım.
Karl Wilbur

2

scriptBir terminal oturumunu bir dosyaya kaydetmek ve daha sonra görüntülemek istediğinizde komut uygundur. Aradığın zamanscript kabuğunuzu başlatır ve işiniz bittiğinde, exit yazmanız yeterlidir. typescriptAksi belirtilmedikçe her şey dosyada olacaktır .

Örneğin,

xieerqi:$ echo "Hello, Karl Wilbur"
Hello, Karl Wilbur

xieerqi:$ date
2015年 10月 27日 星期二 11:38:15 MDT

xieerqi:$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1      115247656 80939384  28430924  75% /
none                   4        0         4   0% /sys/fs/cgroup
udev             2914832        4   2914828   1% /dev
tmpfs             585216     1100    584116   1% /run
none                5120        0      5120   0% /run/lock
none             2926072      328   2925744   1% /run/shm
none              102400       52    102348   1% /run/user

xieerqi:$ exit
Script done, file is typescript
xieerqi@eagle:~$ cat typescript 
Script started on 2015年10月27日 星期二 11时37分55秒

xieerqi:$ echo "Hello, Karl Wilbur"
Hello, Karl Wilbur

xieerqi:$ date
2015年 10月 27日 星期二 11:38:15 MDT

xieerqi:$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1      115247656 80939384  28430924  75% /
none                   4        0         4   0% /sys/fs/cgroup
udev             2914832        4   2914828   1% /dev
tmpfs             585216     1100    584116   1% /run
none                5120        0      5120   0% /run/lock
none             2926072      328   2925744   1% /run/shm
none              102400       52    102348   1% /run/user

xieerqi:$ exit

Script done on 2015年10月27日 星期二 11时38分18秒

Komuttan olduğu gibi typescript dosyasında kontrol karakterleri olabilir ls, bu nedenle cat typescript | col -b > outputfile.txttemiz çıktıyı dosyaya yönlendirmek için komutu kullanın


5
Teşekkürler, fakat bu terminalinizde değerli bilgiler toplamadan önce yapılması gereken bir şeydir . Gerçeklik sonrası bir çözüme ihtiyacım vardı.
Karl Wilbur

1
Bu olsa bilmek çok iyidir. Gelecekte bir şans vereceğim.
Karl Wilbur

@KarlWilbur :) Bunu faydalı bulacağınızdan eminim. Program ödevim için çok kullanırım. Aslında TTY konsollarında ekrana gelenleri atmanın bir yolu var, ancak gnome-terminali biraz daha zor
Sergiy Kolodyazhnyy

@SergiyKolodyazhnyy benim python komut dosyası içine bu uygulamaya çalışıyorum, ama ben "os.system (" exit ") yapıyor komut dosyasından çıkmak olamaz Ancak, terminal gelen çıkış yapar ve çıkış kaydet dosyaya..
mtkilic

@mtkilic scriptKomut ayrı bir işlem başlatır, bu nedenle alt işlemin bir ebeveyni olan python betiğiniz çocuğun çıkmasını bekler. Etkileşimli oturumlar için daha çok şey ifade ediyor, ancak Python yorumlayıcısına bir oturum kaydetmek istiyorsanız, önce scriptkomutu başlatın ve ardından yorumlayıcıyı başlatın. Komutta ayrıca -cbayrak da bulunmalıdır, böylece çağırabilirsiniz script -c pythonancak iki kez kontrol edebilirsiniz man script.
Sergiy Kolodyazhnyy
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.