Jak wyświetlić dane wyjściowe na terminalu i jednocześnie zapisać plik?

51

Ja używam:

user@unknown:~$ sudo command -option > log

aby zapisać wyniki „polecenia” w pliku „log”, ale chciałbym również uzyskać wynik na terminalu, czy to możliwe?

Używam Ubuntu 10.04 lts.

fazpas
źródło
@ 8bittree Ten post jest starszy o 3 lata i ma więcej wyświetleń i głosów niż inne pytanie. Drugie pytanie należy zamiast tego zamknąć jako duplikat.
Excellll
@Excellll Wiek nie ma znaczenia . Oflagowałem to jako duplikat, ponieważ uważam, że ten drugi ma lepszą odpowiedź.
8bittree
W odpowiedzi na pytanie AskUbuntu znajduje się doskonały przegląd dostępnych opcji .
waldyrious

Odpowiedzi:

13

Polecenie, którego szukasz, to „trójnik”, który sprawia, że ​​połączenie danych jest podobne do trójnika. wysyła dane na dwa sposoby. Więc

polecenie sudo -option | tee log

przekaże dane wyjściowe polecenia zarówno do pliku „log”, jak i do standardowego, w tym przypadku do terminala.

JRobert
źródło
5

Możesz także użyć script[ http://linux.die.net/man/1/script ], aby przechwycić wszystko, co dzieje się w sesji terminalu.

Skrypt tworzy maszynopis wszystkiego wydrukowanego na twoim terminalu. Jest to przydatne dla studentów, którzy potrzebują wydrukowanej sesji interaktywnej sesji jako dowodu zadania, ponieważ plik maszynopisu można wydrukować później za pomocą lpr (1).

charlesbridge
źródło