Lubię zapisywać wszystko, co robię w wierszu polecenia, na przykład, gdy coś aktualizuję i chcę przeczytać, jak przebiegła aktualizacja itp.
Zwykle w systemie Mac OSX i terminalu możesz przewijać tyle, ile chcesz, i zapisywać za pomocą Cmd-S. Ale kiedy korzystam z SSH za pomocą ekranu GNU, nie mogę przewijać bezpośrednio z terminala.
Jak mogę zapisać na dysku wszystko, co dzieje się w sesji ekranowej? Może domyślnie (każda sesja automatycznie tworzy plik na dysk ...)
dzięki!
źródło
screen
sesje (nawet te odłączone) nie przetrwają restartu.Można zwiększyć przewijanie do tyłu i przeglądać je w trybie kopiowania http://www.samsarin.com/blog/2007/03/11/gnu-screen-working-w--the-scrollback-buffer/
źródło
Opcja 1: Sprawdź polecenie skryptu. „skrypt człowieka”
„Skrypt tworzy maszynopis wszystkiego wydrukowanego na twoim terminalu. Jest przydatny dla studentów, którzy potrzebują wydrukowanej sesji interaktywnej sesji jako dowodu zadania, ponieważ plik maszynopisu można wydrukować później za pomocą lpr”
Zasadniczo wpisz „skrypt” (bez cudzysłowów) - wykonaj swoją pracę i wpisz polecenie exit, aby zakończyć sesję.
Opcja 2: Użyj trybu „papierowej kopii” ekranu. „Crtl-a”, a następnie „h” Spowoduje to zapisanie bieżącej sesji do pliku.
Uwaga: Ekran GNU ma możliwość przewijania. Użyj „crtl-]” (prawy nawias kwadratowy), aby przejść do trybu kopiowania, a następnie „ctrl-b” i „ctrl-f”, aby przesunąć p i jednocześnie stronę w dół.
źródło
Będziesz chciał skorzystać z operacji „log”, zwykle związanej z
Ctrl-a H
. Spowoduje to otwarcie nowego pliku o nazwie screenlog. N gdzie N jest numerem okna. Jeśli plik istnieje, dane wyjściowe są dołączane do pliku. Wszystkie dane wyjściowe w tym oknie są rejestrowane w dzienniku ekranu. Plik N , aż dezaktywujesz, naciskającCtrl-a H
ponownie. Możesz również uzyskać tę funkcjonalność za pomocąCtrl-a :log
. Możesz zmienić nazwę za pomocąlogfile {filename}
polecenia. Plik zostaje umieszczony w katalogu, w którym ekran został uruchomiony po raz pierwszy, ale można go zmienić za pomocą komendy logfile lub za pomocąchdir [{directory}]
.Pamiętaj, że nie jest to to samo, co wydruk, czy bufor przewijania. Jest to ta sama funkcjonalność, co program script (1), ale jest powiązany z jednym oknem i bez wywoływania nowego programu.
Jeśli chcesz zapisać całą zawartość bufora przewijania, użyj
Ctrl-a ] g <space> G <space> Ctrl-a :writebuf
Spowoduje to zapisanie bufora przewijania w pliku / tmp / screen-exchange. jeśli chcesz zapisać tylko część, zmień „g” i „G” na inne klawisze ruchu.źródło