Czy istnieje jakiś sposób zapisania wszystkich danych wyjściowych terminala do pliku za pomocą polecenia?
- Nie mówię o przekierowaniu
command > file.txt
- Nie historia
history > file.txt
, potrzebuję pełnego tekstu terminala - Nie z klawiszami skrótu!
Coś jak terminal_text > file.txt
xdotool
i tego rodzaju czarną grafikę).Odpowiedzi:
Możesz użyć
script
. W zasadzie zapisze wszystko wydrukowane na terminalu w tejscript
sesji.Od
man script
:Możesz rozpocząć
script
sesję, wpisującscript
terminal, wszystkie kolejne polecenia i ich dane wyjściowe zostaną zapisane w pliku o nazwietypescript
w bieżącym katalogu. Możesz również zapisać wynik w innym pliku, zaczynając odscript
:Aby się wylogować z
screen
sesji (przestań zapisywać zawartość), po prostu wpiszexit
.Oto przykład:
Teraz, jeśli przeczytam plik:
script
ma również wiele opcji, np. działa cicho-q
(--quiet
) bez pokazywania / zapisywania komunikatów programu, może także uruchamiać określone polecenie-c
(--command
) zamiast sesji, ma także wiele innych opcji. Sprawdź,man script
aby uzyskać więcej pomysłów.źródło
Ja również napotkałem ten sam problem i po kilku poszukiwaniach wpadłem na to rozwiązanie:
Dodaj do .bash_aliases to:
Na końcu pliku .bashrc dodaj:
Po wykonaniu tej czynności komenda „script” będzie wykonywana raz w każdej sesji terminalu, rejestrując wszystko do '~ / Terminal_typescripts / raw'. Jeśli chcesz, możesz zapisać bieżący dziennik sesji po fakcie (pod koniec sesji) , wpisując „savelog” lub „savelog logname” - spowoduje to skopiowanie bieżącego surowego dziennika do „~ / Terminal_typescripts / manual”, a także utworzenie czytelnego .txt zaloguj się do tego folderu. (Jeśli zapomnisz to zrobić, nieprzetworzone pliki dziennika będą nadal znajdować się w ich folderze, po prostu będziesz musiał je znaleźć.) Możesz także rozpocząć nagrywanie do nowego pliku dziennika, wpisując „startnewlog”.
Będzie wiele niepotrzebnych plików dziennika, ale od czasu do czasu możesz wyczyścić stare, więc nie jest to duży problem.
(Na podstawie https://answers.launchpad.net/ubuntu/+source/gnome-terminal/+question/7131 , https://askubuntu.com/a/493326/473790 )
źródło